プロジェクト の Rust スキルツリー

Rust で字幕を同期する

時間計算のオーバーフローを検査しながらすべての字幕を移動し、完全な Unicode テキストと有効な重なりを保ち、以前の結果を上書きせずに再生可能な WebVTT を出力する Rust ツールを作ります。

プロジェクトRust

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

「Rust で字幕を同期する」は、実際のファイルを内容を失わずに変換したい Rust 学習者のための実践プロジェクトです。短編映像の冒頭タイトルが変わったため、すべての字幕に同じ時間オフセットを適用する必要があります。元の字幕、動画、以前の結果を残しながら、再生可能な WebVTT トラックを出力するツールを作ります。

2 つのガイド付きラボで、オーバーフローを検査する時間計算から、ファイル全体の検証と保護された出力作成へ進みます。1 つのチャレンジでは、同じ手法を別の映像と逆方向のオフセットに組み合わせて適用します。各ラボは、独立した準備済みプロジェクトとファイルで開始します。

学習内容

このコースを修了すると、次のことができるようになります。

  • 検証済みのタイムスタンプ要素を、乗算と加算のオーバーフローを検査しながら整数ミリ秒に変換する。
  • 各字幕の開始と終了に同じ符号付きオフセットを適用し、長さ、ファイル内の順序、完全な Unicode と複数行のテキスト、有効な重なり、同一開始時刻を保つ。
  • 不正または未対応の入力、移動後の負の時刻、整数オーバーフローを、文脈を付けた Result エラーで扱う。
  • 新しい出力を作る前に字幕の集合全体を検証・変換し、既存の出力パスを拒否して、再実行時にも以前の作業を残す。
  • Preview で実際の出力ファイルを読み込み、公開された視覚的な対応時点を確認し、実際の字幕トラックで動画を再生して、読み込んだファイルをダウンロードする。

このコースの対象者

使い慣れた Rust のデータ型とファイル操作を組み合わせ、エラーから回復できる小さな変換ツールを作りたい学習者を対象としています。

前提知識: 基本的な端末操作と、Rust の struct、enum、Vec、Result、文字列、ファイルの読み書き、基本的なテスト、ループ。Build Your First Rust CLI は推奨ですが必須ではなく、clap の知識も不要です。

学習環境: LabEx が Terminal と Preview、準備済みの Rust プロジェクト、場面カードと観察時点が明示されたオリジナルの合成無音短編映像を提供します。パーサー、フォーマッター、コマンドインターフェース、実ファイルを読むプレーヤーは用意されています。画面のラベルとコマンド出力は英語のままです。

よくある質問

完全な字幕パーサーを作ったり、動画を書き起こしたりしますか?

いいえ。明確に定義したプレーンテキストの WebVTT サブセットを扱います。実装するのは、時間変換、1 つの字幕と集合全体の時間移動、保護された出力処理です。WebVTT 全体への対応、書き起こし、翻訳、音声・動画のエンコードは対象外です。

修正して実行すると以前の結果を上書きできますか?

できません。既存の出力パスは拒否されます。以前の結果を一意の新しいバックアップディレクトリへ保存してから、指定のファイル名を再作成する方法を学びます。後半に不正な字幕があれば、出力を作る前に拒否し、途中までのファイルを残しません。

どのくらいの時間がかかりますか?

作者は、読解、視覚的な確認、一般的なエラーからの回復を含めて 140 分と見積もっています。この見積もりは、初学者による通し学習では検証されていません。

講師

labby
Labby
Labby is the LabEx teacher.

おすすめ

no data