10/05/23 13:42:01 Q1pf8xi6
似非リアルタイムエンコードのやり方
1.BonTsDemux mod 10k7以降をインストールする
2.NEGiES(URLリンク(hp.vector.co.jp))をインストールする
・フィルタを新規作成
ネットアダプター「指定なし」自分IPアドレス「127.0.0.1」プロセス名指定「BonTsDemux.exe」帯域を制限する「2048KB/s」
・フィルタリングを開始
3.バッチファイルを作成(BonTsDemux.bat)
set FNAME=%1
set INDIR=Z:\My Videos
set OUTDIR=Z:\My Videos
:WAIT
ping -n 10 localhost >nul
if not exist "%INDIR%\%FNAME:~1,-1%.ts" GOTO WAIT
ping -n 10 localhost >nul
"C:\Program Files\BonTsDemux\BonTsDemux.exe" -nd -encode IPOD -start -quit -i "%INDIR%\%FNAME:~1,-1%.ts" -o "%OUTDIR%\%FNAME:~1,-1%"
4.TVRockの設定を変更する
・録画基本設定のファイル名置換フォーマットを「@CH-@TT」にする
・チューナー待機時間にコマンドを実行で作成したバッチを追加「ST:"BonTsDemux.bat" "%5-%8"」
5.終わり
問題と課題
1.同時にエンコードが走る場合にfffmegかBonTsDemuxが止まる
2.同じ番組がすでに録画されていた場合に…バッチを工夫すればもしかして…
3.同時にエンコードが走る場合に帯域が1エンコード分しかない…BonTsDemuxを複数インストールすれば多分…
4.BS・CSでも帯域が2048KB/s…BonTsDemuxを複数インストールすれば多分…
5.録画したファイル名が固定される…ST:とTN:で実行するコマンドで連携するようにすれば多分…
6.BonTsDemuxでeofでも一定時間後にリトライしてデータがあれば処理を続行するようにすれば多分…
多分このあたり
TsConverter.cpp:167 if(!m_FileReader.OpenFile(lpszTsFile,qwInputSizeLimit))throw 0UL;