私は何十年もの間、世界の映画と地域の映画の愛好家でした。字幕は、さまざまな言語や国の最高の映画を楽しむために欠かせないツールです。
字幕付きの映画を楽しんでいる場合は、字幕が同期されていない、または正しくない場合があることに気付いたかもしれません。
字幕を編集してより良くすることができることをご存知ですか? Linuxでの基本的な字幕編集をいくつか紹介します。

クローズドキャプションデータから字幕を抽出する
2012年頃、2013年にCCEextractorというツールを知りました。時間が経つにつれて、特に字幕が埋め込まれているメディアファイルに出くわした場合、それは私にとって重要なツールの1つになりました。
CCExtractorは、ビデオファイルを分析し、クローズドキャプションデータから独立した字幕ファイルを生成します。
CCExtractorは、クロスプラットフォームの無料のオープンソースツールです。このツールは、その形成期からかなり成熟しており、
このツールは、簡単に言えば、多かれ少なかれ、シリアル化された順序で次々に動作して、抽出された字幕を提供する一連のスクリプトです。
このページのCCExtractorのインストール手順に従うことができます。
メディアファイルから字幕を抽出するときにインストールした後、次の手順を実行します。
ccextractor <path_to_video_file>
コマンドの出力は次のようになります:
このファイルには、以下に表示されるものとは異なる方法で解釈またはコンパイルされる可能性のある双方向Unicodeテキストが含まれています。確認するには、非表示のUnicode文字を表示するエディターでファイルを開きます。双方向Unicode文字の詳細非表示の文字を表示する$ ccextractor $ something.mkv | |
CCExtractor 0.87、Carlos Fernandez Sanz、VolkerQuetschke。 | |
PetrKutalekのtelxccから取得した文字放送部分 | |
————————————————— ———————– | |
入力:$ something.mkv | |
[抽出:1] [ストリームモード:自動検出] | |
[プログラム:自動] [ハウページモード:いいえ] [MythTVコードを使用:自動] | |
[タイミングモード:自動] [デバッグ:いいえ] [バッファ入力:いいえ] | |
[H.264にpic_order_cnt_lsbを使用:いいえ] [CCデコーダートレースを印刷:いいえ] | |
[ターゲット形式:.srt] [エンコード:UTF-8] [遅延: 0] [トリムライン:いいえ] | |
[フォントカラーデータの追加:はい] [フォントタイプ設定の追加:はい] | |
[大文字と小文字を変換:いいえ] [ビデオ編集参加:いいえ] | >|
[抽出開始時刻:未設定(開始から)] | |
[抽出終了時間:未設定(終了)] | |
[ライブストリーム:いいえ] [クロック周波数:90000] | |
[文字放送ページ:自動検出] | |
[クレジットテキストの開始:なし] | |
[量子化モード:CCExtractorの内部関数] | |
————————————————— ————– | |
ファイルを開く:$ something.mkv | |
ファイルはMatroska/WebMコンテナのようです | |
Matroskaモードでのデータの分析 | |
ドキュメントタイプ:matroska | |
タイムコードスケール:1000000 | |
マルチプレクサアプリ:libebml v1.3.1 + libmatroska v1.4.2 | |
書き込みアプリ:mkvmerge v8.2.0('World of Adventure')64ビット | |
タイトル:$ something | |
エントリの追跡: | |
トラック番号:1 | |
UID:1 | |
タイプ:ビデオ | |
コーデックID:V_MPEG4 / ISO / AVC | |
言語:mal | |
名前:$ something | |
エントリの追跡: | |
トラック番号:2 | |
UID:2 | |
タイプ:オーディオ | |
コーデックID:A_MPEG / L3 | |
言語:mal | |
名前:$ something | |
エントリの追跡: | |
トラック番号:3 | |
UID:somenumber | |
タイプ:サブタイトル | |
コーデックID:S_TEXT / UTF8 | |
名前:$ something | |
99%| 144:34 | |
100%| 144:34 | |
出力ファイル:$ something_eng.srt | |
完了、処理時間=6秒 | |
問題?ここでチケットを開きます | |
https://github.com/CCExtractor/ccextractor/issues |
基本的にメディアファイルをスキャンします。この場合、メディアファイルは
CCExtractorは、次のセクションで共有する字幕編集とともに字幕を拡張するために使用できるすばらしいツールです。
興味深い読み物:
SubtitleEditorツールを使用した字幕の編集
ほとんどの字幕が.srt
1 | |
00:00:00,959 –&gt; 00:00:13,744 | |
"キャビネット | |
OFDR。 CALIGARI " | |
2 | |
00:00:40,084 –&gt; 00:01:02,088 | |
11世紀の神話の現代的な再現の物語 | |
奇妙で神秘的な影響を与える | |
ソムナンブリストの上の山岳僧の。 |
私が共有した抜粋字幕は、カリガリ博士の内閣(1920)と呼ばれるかなり古いドイツ映画からのものです
Subtitleeditorは、字幕の編集に関しては素晴らしいツールです。字幕エディタは、時間の長さ、メディアファイルと同期する字幕ファイルのフレームレート、その間の休憩の長さなどを操作するために使用できます。ここで基本的な字幕編集の一部を共有します。

まず、お気に入りのインストール方法を使用して、ccextractorをインストールしたのと同じ方法でsubtitleeditorをインストールします。 Debianでは、次のコマンドを使用できます:
sudo apt install subtitleeditor
インストールしたら、字幕を編集する必要がある一般的なシナリオをいくつか見てみましょう。
メディアファイルと同期するためのフレームレートの操作
字幕がビデオと同期されていないことがわかった場合、その理由の1つは、ビデオファイルと字幕ファイルのフレームレートの違いである可能性があります。
では、これらのファイルのフレームレートをどのようにして知ることができますか?
ビデオファイルのフレームレートを取得するには、mediainfoツールを使用できます。ディストリビューションのパッケージマネージャーを使用して、最初にインストールする必要がある場合があります。
mediainfoの使用は簡単です:
$ mediainfo somefile.mkv | grep Frame Format settings : CABAC / 4 Ref Frames Format settings, ReFrames : 4 frames Frame rate mode : Constant Frame rate : 25.000 FPS Bits/(Pixel*Frame) : 0.082 Frame rate : 46.875 FPS (1024 SPF)
これで、ビデオファイルのフレームレートが25.000FPSであることがわかります。私たちが見る他のフレームレートはオーディオ用です。ビデオエンコーディング、オーディオエンコーディングなどで特定のfpsが使用される理由を共有できますが、それは別の主題になります。それに関連する多くの歴史があります。
次は字幕ファイルのフレームレートを調べることですが、これは少し複雑です。
通常、ほとんどの字幕はzip形式です。 .zipアーカイブをsomething.srtで終わる字幕ファイルと一緒に解凍します。それに加えて、通常、同じ名前の.infoファイルもあり、字幕のフレームレートが設定されている場合があります。
そうでない場合は、通常、あるサイトにアクセスして、そのフレームレート情報があるサイトから字幕をダウンロードすることをお勧めします。この特定のドイツ語ファイルでは、
リンクからわかるように、字幕のフレームレートは23.976FPSです。明らかに、フレームレートが25.000FPSのビデオファイルではうまく再生されません。
このような場合、字幕エディタツールを使用して字幕ファイルのフレームレートを変更できます。
Ctrlキーを押しながらAキーを押して、字幕ファイルからすべてのコンテンツを選択します。 [タイミング]->[フレームレートの変更]に移動し、フレームレートを23.976fpsから25.000fpsまたは必要に応じて変更します。変更したファイルを保存します。

字幕ファイルの開始位置を変更する
上記の方法で十分な場合もあれば、十分でない場合もあります。
フレームレートが
このような場合は、次のようにします。
Ctrlキーを押しながらAキーを押して、字幕ファイルからすべてのコンテンツを選択します。 [タイミング]->[字幕の移動]を選択します。

字幕ファイルの新しい開始位置を変更します。変更したファイルを保存します。

より正確にしたい場合は、mpvを使用して映画またはメディアファイルを表示し、タイミングをクリックします。映画またはメディアファイルの経過時間を示すタイミングバーをクリックすると、それをクリックすると、マイクロ秒。
私は通常正確であることが好きなので、できるだけ正確になるように努めます。人間の反応時間は不正確であるため、MPVでは非常に困難です。超正確になりたい場合は、Audacityのようなものを使用しますが、それを使用するとさらに多くのことができるので、それはまったく別の球技です。これは、将来のブログ投稿でも検討する必要があるかもしれません。
操作時間
場合によっては、両方を実行するだけでは不十分であり、メディアファイルと同期させるために期間を短縮または追加する必要があります。これは、各文の長さを個別に修正する必要があるため、面倒な作業の1つです。これは、メディアファイルに可変フレームレートがある場合に特に発生する可能性があります(最近はまれですが、そのようなファイルを取得できます)。
このようなシナリオでは、期間を手動で編集する必要があり、自動化はできません。最善の方法は、ビデオファイルを修正するか(ビデオ品質を低下させずに不可能)、別のソースからより高い品質でビデオを取得してから、好みの設定でトランスコードすることです。これもまた、大きな仕事である間、私は将来のブログ投稿でいくつかの光を当てることができました。
結論
私が上で共有したのは、多かれ少なかれ既存の字幕ファイルの改善です。スクラッチを開始する場合は、多くの時間が必要です。字幕作成者のスキル、忍耐力、文脈、専門用語、アクセント、英語を母国語とする人によっては、映画や1時間程度のビデオ素材は、4〜6時間以上かかる可能性があるため、私はそれをまったく共有していません。翻訳者など、すべてが字幕の品質に影響を与えます。
これがおもしろいと思っていただければ幸いです。今後は、字幕の処理が少し上手くなります。追加する提案があれば、下にコメントを残してください。