その後、
mkvextract --rawで、強引に取り出せることが判りました。
いや正確には、判っていて、既に試していたのですが、
コマンドラインの順番を間違えてたとか
出来上がったaacがvlcで再生できないファイルとかで、
諦めてたのですが、mplayerでaac単体ストリームなら再生できることが発覚。
とは言え、元のmkvは、やはりmplayerでも音声は出ず。
いやはや、危うく迷宮入りするところでしたが。
であれば?
でどうにか、音の出るmkvが出来ました。
全部ひっくるめると
面倒くさくね?
https://gist.github.com/kamawanu/4538a7d073e584dbdef1#file-ffmpeg-nosound-sh
という訳で、半自動スクリプトを書きました。
mkvextract --rawで、強引に取り出せることが判りました。
いや正確には、判っていて、既に試していたのですが、
コマンドラインの順番を間違えてたとか
出来上がったaacがvlcで再生できないファイルとかで、
諦めてたのですが、mplayerでaac単体ストリームなら再生できることが発覚。
とは言え、元のmkvは、やはりmplayerでも音声は出ず。
いやはや、危うく迷宮入りするところでしたが。
であれば?
- mplayerのaoでpcm書き出して、
- 再度ffmpegに突っ込んで、問題のmkv/m2tの音声トラックを差し替える。
- 差し替える、という方法は無いので、vcodec copyとmapで、音声トラックだけをpcmから再エンコーディング。
でどうにか、音の出るmkvが出来ました。
全部ひっくるめると
- ffmpeg -i TS -vodec mpeg4 -acodec ac3 -f matroska
- 音声ストリームのエラーが出る場合は
- ffmpeg -acodec copyで問題の先送り
- mkvextract tracks -rawで、aacストリームの取り出し。
- mplayer -aoでpcm変換
- ffmpegで音声だけ再エンコーディング&mkvの映像とmux
面倒くさくね?
https://gist.github.com/kamawanu/4538a7d073e584dbdef1#file-ffmpeg-nosound-sh
という訳で、半自動スクリプトを書きました。