その後、
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
という訳で、半自動スクリプトを書きました。