ネット上で見かけるのは Ver 0.xx の古いものばかりで、新しい Ver 1.xx シリーズではうまく動かないので対応したものを書いておきました。
VLC 1.00以降がインストールされていることが前提で説明します。
TSからPSに変換するのはBonTSDemuxでもいいのですが、私の環境ではソースによって音ズレが直らなかったので、VLCの方法を紹介します。
"C:\Program Files\VideoLAN\VLC\vlc.exe" -vvv %1 --sout "#transcode{acodec=a52,ab=384}:duplicate{dst=std{access=file,mux=ps,dst=\"%~1.mpg\"}}" vlc://quit |
↑ブラウザによっては改行されているように見えますが、1行です。
上のコードをメモ帳にコピーして "ts2ps.bat"とでも名前を付けてデスクトップにでも保存してください。
最初の
"C:\Program Files\VideoLAN\VLC\vlc.exe"
は、VLCのパスです。違うフォルダにインストールした場合は適宜変えてください。
acodec=a52,ab=384
は オーディオコーデックの設定です。
a52 は AC3 のことです。
mp2a なんかも指定できます。
ab の値は ビットレートで 今回の場合は384Kbpsとなります。
dst=\"%~1.mpg\"
は出力先です。
この場合入力元のファイルに.mpgがついて保存されます。
説明し忘れましたが、 %1 はバッジファイルにドラッグアンドドロップしたときにファイル名が自動的に入ります。
これはダブルクォテーション「"」つきですので、除去する必要がある場合は、 %~1 のようにします。
http://www.ne.jp/asahi/hishidama/home/tech/windows/bat.html
さらに、"はエスケープする必要があるので、 \" と記述します。
vlc://quit
最後のコレは変換作業終了後にVLCを閉じるコマンドです。
これがないと終了しません。
使い方は
先ほど作ったts2ps.bat にTSファイルをドラッグアンドドロップするだけです。
動いているシークバーを触るとおかしくなりますので触らないように!!
おまけ
MPEG2-PS化したファイルをGraphEditで読み込ませてみた図
ソースフィルタは標準のものが使われていました。
スプリッターはUlead製のものが使われています。
ビデオデコーダーは CyberLink製のもの、オーディオデコーダーは標準のものでした。
この環境下で、AviUtlのDirectShow File Reader 経由で読み込ませてみましたが、ほとんど音ズレなしで変換できました。