« 久しぶりにfriio | メイン | VAIO type P ACアダプタ »

2009年04月17日(金)

複数のmpeg動画の結合

複数(9~180)のmpeg1video + mp2の結合をすることがあるのだが、音ずれが発生するため、音声と映像に分けて結合したり試行錯誤していたのだが、現段階で最も簡単と思われる結合方法にたどり着いたのでメモ。

mpeg1なので、catで結合すればOKなハズだが、カクるため、細切れの状態で音声と映像をdemuxして結合。
結合された音声と映像をmultiplexして完成としていた。
…のだが、それでもカクったり音ずれが発生するのでもっと処理が早くかつクオリティの高い結合法を模索してみた。
(念のため、手動処理ならあまり苦労せずできると思う。あくまで自動処理でなおかつ早く…が目的。)

結論から言うとffmpegを使った。
(1年ぐらい前の試行錯誤からmplexやmencoderを使っていたが、結局ffmpegに戻った。)

まず、catで結合。
んで、ffmpegでストリームをきれいにする感じで再エンコード。
このとき、オプションに"-dts_delta_threshold"を付ける。
何をしているオプションなのかよく分からないのだが、timestampをどうにかするらしい。
これを付けないと、ファイルによってはtimestampがどうとかってエラーを大量に吐いて映像が欠ける(短くなる)。
ちなみに、このオプションを付けると出力ファイルの指定に"-o"が必要になる様子。

最終的に、
cat {結合したいファイル群} > {結合ファイル}
ffmpeg -i {結合ファイル} -y -b 1200k -s 640x480 -vcodec mpeg2video -ab 192k -acodec mp3 -nr 500 -dts_delta_threshold -o {出力ファイル}
って感じになる。
codecやらは目的に応じて自由に変えればよい。
-nrについては効果があるのか疑問だが、一応付けている。
(ビットレートが低いからかブロックノイズが気になるので…。かといってこれ以上ビットレートを上げたくない。)

なんだか、-mbd {0,1,2}でブロックノイズを減らせるらしい。
現在試験中。

mencoder関連エントリ検索
ffmpeg関連エントリ検索

トラックバック

この一覧は、次のエントリーを参照しています: 複数のmpeg動画の結合:

» ffmpegとlameの不具合 from www.okubo.tk/blog
複数のmpeg動画の結合に関連するのだが、ffmpegのエンコードで"lame:... [詳しくはこちら]

» 複数のmpeg動画の結合(その2) from www.okubo.tk/blog
つづき(フォロー) 結局、cat結合では上手くなかったので、以下のようになった。... [詳しくはこちら]

このエントリーのトラックバックURL:
http://www.okubo.tk/blog/mt-tb.cgi/7200

コメントを投稿

« 久しぶりにfriio | メイン | VAIO type P ACアダプタ »

«  2009年04月  »

1234
567891011
12131415161718
19202122232425
2627282930

アーカイブ

2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
2002年
2001年
2000年
1978年
Total 3131 Entries.

カテゴリー

Powered by
Movable Type 3.2-ja-2

38.107.179.213

38.107.179.213