Panasonic BL-C131 の録画 (3)

2010/10/08 by happybreeding Leave a reply »

続き。

前回までで、正しい映像を保存することができたので、次は音声を何とかする。

音声は、G.726というコーデックのADPCMで送られてくるのだが、これは、openRTSPで保存したままの状態では、簡単には再生できない。mplayerに食わせてみたとしても、エラーを吐いて終了してしまうし、FFmpegで、codecとしてg726を指定してやっても、そのファイルを認識できないので、他形式に変換しようとしても不可能である。

ではどうするかというと、ここで紹介されている、g72x++という専用変換ツールの助けを借りる。これをビルドして、decode-g72xという実行ファイルを取得しておく。

この、decode-g72xを使用すれば、G.726のファイルを生PCMファイルに変換できるので、これを改めてFFmpegに通して、wavファイルとして保存する。

cat audio-G726-32-1 | decode-g72x -64 -l -L | ffmpeg -y -f s16le -acodec pcm_s16le -ar 8000 -ac 1 -i - audio-G726-32-1.wav

ここまでの手順で、正しく、また処理可能な映像と音声ファイルが出来あがったので、これらを結合することが可能となった。前回、映像をx264にエンコードしたので、これはそのまま使うことにして、音声をaacにしてmp4ファイルを作成するとするならば、以下のようにする。

ffmpeg -y -i video-MP4V-ES-2.mp4 -i audio-G726-32-1.wav -vcodec copy -acodec libfaac -ar 44100 -ab 16000 -ac 1 video.mp4

ここで作成された、video.mp4が最終的な目当てのファイルとなる。きちんと映像と音声の同期のとれた動画となっているはずだ。

コメントを残す