先のエントリで書きましたが、私のドラレコは1つのAVIファイルにフロントとリアの画像をパッケージングして保存しています。分離する方法を書きますね。
複数の音声が入っている動画というのはありますね。副音声と言われるヤツです。動画でも昔マルチキャプチャーの動画がパッケージングされたものがありました。理屈は一緒ですね。ストリーム分離というキーワードで検索すると、音声の方を分離する方法があります。ただ、基本的にファイルの中のストリームを分離するのは、動画であろうが音声であろうが理屈は一緒です。
そこで、sample.AVI(フロントとリアのストリームが同梱されたファイル)を分離してみようと思います。以下コマンドラインでの入力です。
まず、sample.AVIのストリーム状況を確認します。
ffmpeg -i sample.AVI
単純に入力のみを指示すると、そのファイルのストリーム状況が表示されます。こんな具合ですね。
Input #0, avi, from '2019_04_27_11_53_20_Nor.avi': Duration: 00:00:30.63, start: 0.000000, bitrate: 9318 kb/s Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p(progressive), 1280x720, 3951 kb/s, 19.10 fps, 19.08 tbr, 19.10 tbn, 38.20 tbc Stream #0:1: Video: h264 (High) (H264 / 0x34363248), yuv420p(progressive), 1280x720, 3932 kb/s, 19.10 fps, 19.08 tbr, 19.10 tbn, 38.20 tbc Stream #0:2: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s Stream #0:3: Subtitle: none, 21 kb/s
この例だと、
- ストリーム #0:0:動画(フロントの動画)
- ストリーム #0:1:動画(リアの動画)
- ストリーム #0:2:音声(フロントで録音された音声)
- ストリーム #0:3:不明なストリーム(※)
※本来ならば、リアで録音された音声ストリームになるはずですが、多分私の環境下では結線されていないなどの理由で不明になるものと思われます。
ここまでわかってしまえば、分離するのは簡単です。mapオプションは出力するストリームを指定するものなので、リアカメラの映像のみを出力するには、
ffmpeg -i sample.AVI -map 0:1 output.AVI
これで出力されるはずです。やってみたら、できました!
後は、フロントとリアのストリームを別々に保存した動画を作るスクリプトを作ればいいだけです。「ストリーム」という単語がわからなかったので、検索してもなかなか引っかかってくれませんでした。これでリアカメラの映像も簡単に取り出せます。アプリを使った分離でも分離はできるのですが、マウスクリックやらなんやらが必要で、面倒だったんです。コマンドラインで処理なら1度ひな形を作ってやれば次から簡単ですし、繰り返しも簡単です。良かった。
コップを唇に持っていく間隔までには多くの失敗がある。
イギリスの諺
投稿者プロフィール

最新の投稿
ラーメン2023年11月26日ラーメン山岡家 ネギ味噌ラーメン
Windows2023年11月23日Windows11マシン不調
TrueNAS2023年11月17日TrueNAS SCALEサーバーのエラー
TrueNAS2023年11月13日もしかしたら、エラーの原因がわかったかも
