TSファイルの映像のみ置き換えてサイズ圧縮するツールです。
音声やその他のパケットはそのままコピーします。
元のTSファイルと同じように扱えるので、TvtPlayでニコニコ実況や字幕を表示することができます。
必要
tsreplace
GitHubからtsreplace_x.xx_x64.7zをダウンロードします。
中身を適当なフォルダに入れます。
FFmpeg
ソフトウェアエンコードに必要です。
GitHubからffmpeg-master-latest-win64-gpl.zipをダウンロードします。
「bin」フォルダにあるffmpeg.exeをtsreplace.exeと同じフォルダに入れます。
QSVEnc
ハードウェアエンコードに必要です。
GitHubからQSVEncC_x.xx_x64.7zをダウンロードします。
中身をtsreplace.exeと同じフォルダに入れます。
NVEnc
ハードウェアエンコードに必要です。
GitHubからNVEncC_x.xx_x64.7zをダウンロードします。
中身をtsreplace.exeと同じフォルダに入れます。
バッチファイル
拡張子を.batにして保存して、tsreplace.exeと同じフォルダに入れます。
@echo off cd /d %~dp0 :Loop if "%~1" == "" goto End tsreplace.exe -i "%~1" -o "%~dpn1.h264.ts" -e ffmpeg.exe -y -f mpegts -i - -copyts -start_at_zero -an -c:v libx264 -flags +ildct+ilme -preset slow -crf 23 -g 90 -f mpegts - shift goto Loop :End
インターレース保持でx264でエンコードする例です。
使い方
TSファイルをバッチファイルにドラッグ&ドロップするとエンコードが始まります。
複数の場合は順番にエンコードされます。
終わるとコマンドプロンプトが終了します。
出力先はTSファイルと同じフォルダです。
エンコード後に画面を閉じたくない場合は:Endの下にpauseを書いてください。
エンコード例
tsreplace.exeの行を書き換えてください。内容はReadme.mdに書かれているものと同じです。
インターレース解除
x264
tsreplace.exe -i "%~1" -o "%~dpn1.h264.ts" -e ffmpeg.exe -y -f mpegts -i - -copyts -start_at_zero -vf yadif -an -c:v libx264 -preset slow -crf 23 -g 90 -f mpegts -
x265
tsreplace.exe -i "%~1" -o "%~dpn1.hevc.ts" -e ffmpeg.exe -y -f mpegts -i - -copyts -start_at_zero -vf yadif -an -c:v libx265 -preset medium -crf 23 -g 90 -f mpegts -
QSVEnc H.264
tsreplace.exe -i "%~1" -o "%~dpn1.h264.ts" -e QSVEncC64.exe -i - --input-format mpegts --tff --vpp-deinterlace normal -c h264 --icq 23 --gop-len 90 --output-format mpegts -o -
QSVEnc HEVC
tsreplace.exe -i "%~1" -o "%~dpn1.hevc.ts" -e QSVEncC64.exe -i - --input-format mpegts --tff --vpp-deinterlace normal -c hevc --icq 23 --gop-len 90 --output-format mpegts -o -
NVEnc H.264
tsreplace.exe -i "%~1" -o "%~dpn1.h264.ts" -e NVEncC64.exe -i - --input-format mpegts --tff --vpp-deinterlace normal -c h264 --qvbr 23 --gop-len 90 --output-format mpegts -o -
NVEnc HEVC
tsreplace.exe -i "%~1" -o "%~dpn1.hevc.ts" -e NVEncC64.exe -i - --input-format mpegts --tff --vpp-deinterlace normal -c hevc --qvbr 23 --gop-len 90 --output-format mpegts -o -
インターレース保持
QSVEnc H.264
PGモードの使用可能なGPUが必要です。(Arc GPUでは使用できません)
tsreplace.exe -i "%~1" -o "%~dpn1.h264.ts" -e QSVEncC64.exe -i - --input-format mpegts --tff -c h264 --icq 23 --gop-len 90 --output-format mpegts -o -
NVEnc H.264
GTX1xxx以前のGPUが必要です。
tsreplace.exe -i "%~1" -o "%~dpn1.h264.ts" -e NVEncC64.exe -i - --input-format mpegts --tff -c h264 --qvbr 23 --gop-len 90 --output-format mpegts -o -
元のTSファイルを削除
shiftの上に書きます。
if %ERRORLEVEL% == 0 del "%~1"
エラー発生時は削除されません。
Amatsukazeで使う
以下の記事を参考にしてください。

EDCBで使う
以下のバッチファイルを使用します。
@echo off rem _EDCBX_BATMARGIN_=0 rem _EDCBX_HIDE_ set EXE_DIR=C:\DTV\Tools cd /d %EXE_DIR% tsreplace.exe -i "$FilePath$" -o "$FolderPath$\$FileName$.h264.ts" -e ffmpeg.exe -y -f mpegts -i - -copyts -start_at_zero -an -c:v libx264 -flags +ildct+ilme -preset slow -crf 23 -g 90 -f mpegts -
「set EXE_DIR=」にtsreplace.exeがあるフォルダのパスを指定します。
_EDCBX_BATMARGIN_はxtne6f版EDCBで追加された拡張命令です。
指定したマージン以上録画予定がないときに実行します。単位は分です。
_EDCBX_HIDE_はウィンドウを非表示にします。
元のTSファイルを削除する場合はバッチファイルの一番下に以下を追記します。
if %ERRORLEVEL% == 0 del "$FilePath$"
予約登録画面で「録画後実行bat」にバッチファイルを指定します。
プリセットの「変更」をクリックすれば、バッチファイルを毎回指定する手間が省けます。




コメント