プログラム / 2008/10/29 (Wed) / 編集 |
今使っているffmegXというソフトが有料(勝手にfreeで使ってる)なのでソフトを経由せずに直接ffmpeg(無料)でやってみるテスト
でもそういうソフトは制限があったりするので、コマンドラインからやるとソフトでできる事以上のことができる、もちろんスクリプト書いて大量に変換なんてことや自作のソフトに組み込む事もできる。
こんな感じ
ffmpeg -y -i input.flv -ab 128 -ar 44100 output.mp3
[2009/4/29]追記
どうやらオプションがいくつか修正されたらしいのでメモ
-vcodec xvid → -vcodec libxvid
-vcodec h264 → -vcodec libx264
-acodec mp3 → -acodec libmp3lame
-acodec aac → -acodec libfaac
-bitexact → -flags bitexact
外部のライブラリ(別途インストール&ffmpegの再コンパイルが必要)を利用するものが、形式名でなくライブラリ名を指定する方式に変更になったらしい。
以下、読み替えてください。
参考:[MobileHackerz]最新FFmpeg
FFmpegとは
FFmpegというのは動画と音声を変換することのできるフリーのソフトなわけで、できることはたっくさんあるが引数もたっくさんあるのでめんどくさく、ffmpeg単体として使う事はあんまりなく、ffmpegを内蔵したソフトを使うのが一般的でもそういうソフトは制限があったりするので、コマンドラインからやるとソフトでできる事以上のことができる、もちろんスクリプト書いて大量に変換なんてことや自作のソフトに組み込む事もできる。
こんな感じ
ffmpeg -y -i input.flv -ab 128 -ar 44100 output.mp3
[2009/4/29]追記
どうやらオプションがいくつか修正されたらしいのでメモ
-vcodec xvid → -vcodec libxvid
-vcodec h264 → -vcodec libx264
-acodec mp3 → -acodec libmp3lame
-acodec aac → -acodec libfaac
-bitexact → -flags bitexact
外部のライブラリ(別途インストール&ffmpegの再コンパイルが必要)を利用するものが、形式名でなくライブラリ名を指定する方式に変更になったらしい。
以下、読み替えてください。
参考:[MobileHackerz]最新FFmpeg
よく使う?引数
- -formats 利用できるフォーマットを調べる
- -f フォーマット名 強制的に「フォーマット名」で出力
- -i 入力ファイル名 入力ファイル
- Audio用オプション
- -ar サンプリング周波数[Hz] サンプリング周波数、単位はHz (でふぉ = 44100 Hz)
- -ab ビットレート[kb] ビットレート、単位はkb (でふぉ = 64k)
- -ac チャンネル 1がモノラル、2がステレオ (でふぉ = 1)
- -an ミュート
- -acodec コーデック 強制的に「コーデック」で書き出し
- -vol ボリューム ボリューム、 (でふぉ = 256)
- Video用オプション
- -r フレームレート[fps] フレームレート (でふぉ = 25)
- -b ビットレート ビットレート (でふぉ = 200 kb/s)
- -ac チャンネル 1がモノラル、2がステレオ (でふぉ = 1)
- -vn 動画はなし
- -vcodec コーデック 強制的に「コーデック」で書き出し
よく使う?例
ビットレートとかは自分でお気に入りをさがしてねflvから音声を抽出してmp3で保存
ffmpeg -y -i input.flv -acodec libmp3lame -ab 128 -ar 44100 output.mp3
「-y」同名ファイルがあれば上書き
「-ab 128」音声のビットレートは128kb
「-ar 44100」音声のサンプリングレートは44.1kHz
「-acodec libmp3lame」音声のコーディックはmp3
flvから動画を抽出してflvで保存
ffmpeg -i input.flv -an -vcodec copy out.flv
「-an」音声はなし
「-vcodec copy」動画のコーディックは元と同じ
動画と音声を結合
ffmpeg -i test.flv -vcodec copy -i test.mp3 -acodec copy combine.flv
「-acodec copy」音声コーディックは元と同じ
flvからmp4に変換
ffmpeg -bitexact -y -i input.flv -vcodec mpeg4 -s 240x176 -r 23.976 -b 480k -acodec libfaac -ac 2 -ar 44100 -ab 128k output.mp4
「-bitexact」Only use bit exact algorithms
「-vcodec mpeg4」動画はmpeg4形式
「-acodec libfaac」音声はAAC形式
「-ac 2」音声のチャンネルは2つ(ステレオ)
画像を動画(avi)に
ffmpeg -r 0.25 -i photo/RIMG00%1d.JPG -vcodec mjpeg -f avi -sameq -s 640x480 out.avi
「-r 0.25」ビットレート(一秒間に何枚か?)が0.25なので4秒に一枚表示
「-i photo/RIMG0%2d.JPG」入力画像は「photo」内の「RIMG001.JPG」から「RIMG099.JPG」
「-vcodec mjpeg」動画のコーデックはmpeg
「-f avi」フォーマットはavi
「-sameq」素材と同じ画質で
「-s 640x480」サイズは640x480
動画を画像(jpeg)に
ffmpeg -i test.flv -f image2 -vcodec mjpeg -r 0.2 -qscale 1 -qmin 1 -qmax 1 -s 640x480 tmp2/hidamari%2d.jpg
「-qscale 1 -qmin 1 -qmax 1」jpegの高品質なものをつくれるらしい
「qscale」use fixed video quantizer scale (VBR)
「qmin」min video quantizer scale (VBR)
「qmax」max video quantizer scale (VBR)
動画の一部を抜き出す
ffmpeg -i input.3GP -ss 00:00:10 -t 00:00:10 -vcodec mpeg4 -s 160x120 -an output.mp4
「-ss 00:00:10」指定した時間までシーク、つまり場合だと「動画の10秒後まではなにもしない」
「-t 00:00:10」処理時間、この場合だと「10秒間処理する」
まとめると「動画の10秒~10+10秒(つまり20秒)までを抜き出す」
参考サイト
FFmpeg[フリーランス プログラマー アキのサイト]FFmpeg
[No Assign]ffmpegで動画と音声を結合する方法
PR
トラックバック
URL :
コメント
Re:無題
>>ffmegXというソフトが有料
>普通に無料版じゃなかったけ?
FFmpegというのは無料、FFmpegを内蔵したFFmpegXというソフトは有料(使ってたら「金払え」とダイアログが出てくる)
>てか動画→画像ってできるんだ 今度やってみまーす
だが引き延ばすとやっぱ画質が、、、
>普通に無料版じゃなかったけ?
FFmpegというのは無料、FFmpegを内蔵したFFmpegXというソフトは有料(使ってたら「金払え」とダイアログが出てくる)
>てか動画→画像ってできるんだ 今度やってみまーす
だが引き延ばすとやっぱ画質が、、、
Re:無題
>「携帯動画変換ちゃん」は?
あれは無料でしかもオプションも変更できるからいいよね〜
でもまぁ俺の場合、ノーパソの性能の問題でなるべくアプリケーションは使いたくないという事情も、、、あと単にFFmpeg単体で使ってみたかったってのもあるw
あれは無料でしかもオプションも変更できるからいいよね〜
でもまぁ俺の場合、ノーパソの性能の問題でなるべくアプリケーションは使いたくないという事情も、、、あと単にFFmpeg単体で使ってみたかったってのもあるw