Image: H.264自動エンコード・字幕埋め込み実行バッチ [ソフトウェア]

機能

  • TSファイルをH.264エンコードでMP4ファイルまたはMKVファイルに変換するバッチファイルです。
  • また同時に、字幕データをASS形式またはSRT形式で抽出して出力ファイルに字幕ストリームとして埋め込みます。
  • 字幕はストリームとして埋め込むため、再生ソフトが対応していないと字幕が表示されません。
  • コマンドでの引数指定またはエクスプローラー上でのドラッグアンドドロップによって実行します。
  • 引数指定に対応しているのでバッチファイルなどコマンドライン処理を使った自動実行に便利です。
  • コマンドプロンプトのバグ仕様(ドラッグアンドドロップ入力でパスに全角スペースが入るとその前後で別の引数扱いになる)対策のため、複数ファイルの入力には対応していません。
  • QSV対応版はIntel QSV(Quick Sync Video)を利用するため、CPU処理に比べてエンコード速度が平均30%ほど速くなります。64ビット版Windowsのみサポート。

必要なハードウェア・ソフトウェア

  • Microsoft Windows 7, 8, 8.1, 10 32/64ビット 日本語版
    • 現在、Windows 10 64ビット版以外では動作確認を行っていません。
  • HandBrake 0.10.0以降またはNightybuild Windows CLI i686またはx64版
  • Caption2AssC5 (字幕データ抽出ツール)
  • MKVファイルに変換する場合はmkvmerge.exeが必要です。MKVToolNixに含まれています。
  • QSV版はIntel QSV(Quick Sync Video)をサポートするプロセッサーとディスプレイドライバー
    • 現時点では第2世代Intel Coreシリーズ(Sandy Bridge)およびそれ以降の一部モデルでサポート
  • 第3世代インテル Core i5 プロセッサー 以上のCPUを推奨
  • 3GB以上のメインメモリを推奨

ダウンロード

  • ファイル Google Drive h264qsvを参照。
    • hb_h264.bat - H.264(x264)自動エンコード・字幕埋め込み実行バッチ
    • hb_h264qsv.bat - H.264-QSV自動エンコード・字幕埋め込み実行バッチ
    • Caption2Ass_C5.7z - Caption2Ass(MPEG-TS字幕データ抽出ツール) 私家改造版(7zアーカイブ)
    • hb_matome.bat - ディレクトリ内TSファイル一括変換処理実行バッチ
    • RepFName.exe - Windowsのバグ(仕様)回避のためのファイル名変更ツール(Win32コンソール)
    • RepFName.cpp - ReplaceFnameChar.exeソースコード©

使用方法

  1. 必要なソフトウェアを導入して下さい。
  2. 上のリンクからバッチファイルをダウンロードして下さい。バッチファイルは読み書き可能な場所ならどこに配置しても構いません。
  3. 上で入手したバッチファイルをテキストエディターで開き、20行目あたりにある実行ファイルパスを必要に応じて変えて下さい。
  4. エクスプローラー上で動画ファイルをバッチファイルのアイコンにドラッグアンドドロップして下さい。
  5. または、バッチファイルパス "入力ファイルパス" [サイズ形式 [mp4/mkv]]という形式でコマンドを実行して下さい。
  6. 変換元ファイルと同じディレクトリにログファイル(HB_Batch.log)が作成されます。

既知の問題

  • Windowsの仕様により!や&など一部の全角記号を含むファイル名を処理できません。ファイルを入力できない時はReplaceFnameChar.exeを使ってファイル名を修正するか、別のファイル名に変えて下さい。
  • 5.1chサラウンドのオーディオをステレオにミックスダウンすると音声がぷつ切りになります。HandBrakeに以前からある不具合のようです。
  • QSVアクセラレーションエンコードはHandBrake x64版のみ対応。

改版履歴 (2013/12/08 - 2016/09/06)

  • v2.48 -> 2.49:ログにイベント発生毎に時刻を書き込むようにした.
  • v2.47 -> 2.48:プリセット設定を変更. 旧版の720p変換→720pa, BS/CS等FHD解像度用の通常720p変換→720p.
  • v2.45 -> 2.47:Caption2Assの実行方法を変えて実行時間を少し短縮.仕様変更に対応するためパラメータを変更.
  • v2.44 -> 2.45:HandBrake引数の構文の誤りを修正.x264エンコーダで無意味なパラメータを削除.
  • v2.43 -> 2.44:HandBrake直近ビルドで引数不正のエラーが出る問題に対応.4GB超ファイル出力は未確認.
  • v2.42 -> 2.43:字幕の有無にかかわらず指定通りの形式で出力するよう仕様変更.既定ではmkvで出力します.mkvmergeのログを残すようにしました.QSV版のみHandbrake引数 -q 30に変更.内部整理しましたが,依然スパゲッティコード.
  • v2.41 -> 2.42:HandBrake引数を変更 –loose-anamorphicスイッチを追加 ファイルサイズの割に画質に大きな差が無いので戻しました 再生環境で不具合が生じる場合は削除して下さい
  • v2.40 -> 2.41:HandBrake引数を変更 –h264-level=4.0に設定 –loose-anamorphicスイッチを削除 PAR(ピクセルアスペクト比)が1:1になり、一部環境(Plex)でアスペクト比が正しく表示されない問題が解決しますが、ファイルサイズが2割ほど増加する場合があります.
  • v2.39 -> 2.40:バッチ終了時終了コードを設定 (0=正常終了、1=異常終了、127=予期せぬ終了) TVrockのログで確認可
  • v2.38 -> 2.39:変換元ファイル削除コマンド(del)の行の場所を変更
  • v2.37 -> 2.38:実行コマンドをログに残すようにした
  • v2.33 -> 2.37:MKV出力の場合に字幕データをASSとSRTの両方を埋め込むようにしました.HandBrakeのコンソール出力をログファイルに残すようにしました.その代わり,コマンドプロンプトには何も表示されなくなります.
  • これより前の変更箇所は把握していません.

※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい。コメントはスパム防止フィルターによる承認制のため、投稿してもすぐに反映されない場合があります。

管理人 : Akamaki (akm)

は、PCとVTuberに夢中になっている電気技術者です。

私はレトロコンピューティングの愛好家ですが、そのようなリグはもう収集していません。

私の活動はトップページで見ることができます。読んでくれてありがとう!