動画ファイルに音声を追加する
まあふつうに
code::
ffmpeg -i video.mp4 -i audio.mp4 -map 0:v -map 1:a -vcodec copy -acodec copy output.mp4
video.mp4 を全部読む
audio.mp4 を全部読む
output.mp4 を書く
と 3 回行われてしまう。
図にするとこう
https://i.stack.imgur.com/eyCVy.png
思い
コンテナフォーマットに詳しくないので何とも言えないが、
video.mp4 にオーディオのストリームが無い場合は追記
video.mp4 にオーディオのストリームがある場合は置き換え
するような形で音声を追加できないだろうか? #アイデア 図
https://gyazo.com/418ec618eb8eb871636512121c02223c/thumb/500.jpg
もちろん、単純なテキストファイルではないので単に追記というわけにはいかない。
でもヘッダを適切に読み書きして、うまいことコンテナ内部のデータをいじってやればできないか?
もしできたら、ディスクアクセスを
audio.mp4 を読む
audio.mp4 を書く
正しいフォーマットになるようにちゃんとメタデータ類を調整する
のみに減らせて、嬉しそう…
仕様っぽいのが読めるとこ
わかりやすそうな解説
複雑~!
これじゃあちゃんと全部読まないと無理かもしれんねえ…
再帰下降パーサで解析書けそう、いつかやってみたいな #アイデア 効率は悪そう