linux下ffmpegの使用方法の詳細
#ffmpeg -i file.avi output.flv
-iは入力ファイル
:ビデオがあります。avi、オーディオaudioがあります。mp 3、それをoutput.にマージする.avi
2つのコマンド(file.aviは中間ファイルで、使い終わったら削除できます)
#ffmpeg -i video.avi -vcodec copy -an video2.avi #ffmpeg -i video2.avi -i audio.mp3 -vcodec copy -acodec copy output.avi
-iは入力ファイル
-vcodec copyはforce video codec(‘copy’to copy stream)を表しています。これはどのように訳すか分かりませんが、直接copyだと思います。
-acodec copyこれはオーディオと同じです
-an:disable audio推定はaudio noなどの略で、videoを削除することを表す.AViオリジナルオーディオ
メソッド2は2つの入力ファイルを直接指定できるようですが、#ffmpeg -i /tmp/a.wav -i /tmp/a.avi /tmp/a.avi
2つのファイルの順序が重要です
ビデオから音声を抽出する(音声とビデオの分離)
#ffmpeg -i 人生若只如初见.flv -vnr.mp3
flvファイルから音声を抽出しmp 3形式で保存
-vn:ビデオ推定を無視するのはvideo noなどの略
#ffmpeg-i人生は初見のようだ。flv -an r.flv
ビデオだけを残して音を残さない
-an:音を無視する推定をaudio noなどの略語で表す
ビデオから画像を抽出()
#ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 test.jpg -ss
8秒目に図を切り取る
mp 3ファイルを圧縮mp 3ファイルが少し大きいと思って小さくしたいなら-abオプションでオーディオのビットレートを変えることができます(bitrate)
#ffmpeg -i input.mp3 -ab 128 output.mp3
//ここでビットレートを128にする
ファイルコマンドでソースファイルの情報を表示できます
z.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, Stereo
その中の192 kbpsはこれです
mp 3におけるビットレートとは、オーディオファイルをmp 3に圧縮する際に、圧縮ソフトウェアによって決定されたデジタルファイルが再生時に毎秒プレーヤーサイズに送信され、その単位は千ビット/秒である。英語の意味はkbps—=kilobits per secondです。現在mp 3ファイルの最高数ビット率は320 kbpsです。このようなファイルは体積が大きく、1分間の音楽は2メガバイトを超えています。可変ビットレート(VBR)符号化を用いてmp 3ファイルを生成すると320 kbps相当の音質が得られ、ファイルの体積は25~50%縮小する。VBR符号化によって生成されるmp 3ファイルのサイズは、再生時間の長さだけでなく、ソースオーディオファイルの他の要因にも依存するため、再生時間が同じであり、曲が異なるため、圧縮mp 3ファイルのサイズは一般的に異なることに注意してください。
レコーディング(利用可能なマイクが必要で、alsaを使えばalsa-ossをつけて再起動するようです)
#ffmpeg -f oss -i /dev/dsp out.avi #ffmpeg -f alsa -ac 2 -i hw:0,0 ut.avi #ffmpeg -f alsa -ac 2 -i pulse
ossはlinuxの下の音に関するもので、alsaと同じですが、ossは商業的で、/dev/dspはossが使うマイクの設備でしょう、と理解できます
スクリーン録画#ffmpeg -f x11grab -s xga -r 10 -i :0.0+0+0 wheer.avi #ffmpeg -f x11grab -s 320x240 -r 10 -i :0.0+100+200 wheer.avi
:0:0は画面を表します(個人的には理解できますが、システム変数$DISPLAY値は0.0です)。100は左端から100画素、200は上端200を表します
-sウィンドウサイズの設定
-r 10は周波数を設定しているようでわかりません
#ffmpeg -f x11grab -s xga-qscale 5-r 10 -i :0.0+0+0 wheer.avi
-qscale 8画面品質を設定し、値が小さいほど良い
スクリーン録画、同時録音#ffmpeg -f oss -i /dev/dsp-f x11grab -r 30 -s 1024x768 -i :0.0 output.mkv #ffmpeg -ac 2 -f oss -i /dev/dsp -f x11grab -r 30 -s 1024x768 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mkv
これを見ると、この命令がどれほど強いかがわかります。
もし私のスクリーンの上で1つのウィンドウを開けたら、私はただこのウィンドウの内容を録画したいだけで、どのようにこのウィンドウの座標の位置を確定します
別のコマンドで
xwininfoこのコマンドを入力すると、マウスポイントでターゲットウィンドウを選択し、
ターゲットウィンドウの座標、幅などの一連の情報が表示されます
Absolute upper-left X: 276
Absolute upper-left Y: 57
Relative upper-left X: 2
Relative upper-left Y: 23
Width: 742
Height: 499
Depth: 24
Visual: 0×21
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0×20 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +276+57 -262+57 -262-244 +276-244
-geometry 80×24+274+34この行を見ましたか()
例えば上記の情報に基づいて
#ffmpeg -f oss -i /dev/dsp -f x11grab -r 30 -s 1280x752 -i :0.0+0+23 output.avi
Another thing you can change is the video frame rate (FPS). In the example above we used -r 30 which means capture at 30 FPS. You can change this value to whatever frame rate you want.
この-r 30は1秒に数回サンプリングされ、1秒に30回スクリーンを切ると推定されます。
頭を切って尾を切る#ffmpeg -ss 00:00:10 -t 00:01:22 -i 五月天-突然好想你.mp3 output.mp3
10秒目から切り取りを開始すると、1:22の長いコンテンツが切り取られ、2つのflvファイルが1つに接続されているなどのビデオファイルの接続が行われます。
接続するには、まずファイルをmpg、dvなどの形式のファイルに転送しなければならないようです。
複数のAVIムービーを接続する例(この例では、AVIを一時的にMPEG-1に変換する必要がある(MPEG-1、MPEG-2 PS、DV形式でも接続可能)
#ffmpeg -i input1.avi -sameq inputfile_01.mpg -r 20 #ffmpeg -i input2.avi -sameq inputfile_02.mpg -r 20 #cat inputfile_01.mpg inputfile_02.mpg > inputfile_all.mpg #ffmpeg -i inputfile_all.mpg -sameq outputfile.avi
上はinput 1.avi input2.义齿avi
-sameqは同じ品質を表しています(画面を指すかもしれませんが、よくわかりません)
-rは周波数を指す
=====================================================================
次はwikiであげたいくつかの例です パラメータFFmpegは多くのパラメータを使用することができ、パラメータの内容はffmpegバージョンによって異なり、使用前にパラメータやコーデックの記述を参照することをお勧めします。また、パラメータの詳細はffmpeg-hで表示できます。コーデック名などの詳細はffmpeg-formatsで表示できます。
以下は、一般的に使用されるパラメータです。
しゅパラメータ-i入力ファイル名を設定します。
-f出力フォーマットを設定します。
-y出力ファイルが既に存在する場合はファイルを上書きする。
-fsが指定したファイルのサイズを超えると変換が終了します。
-ssは指定された時間から変換を開始します。
-タイトルを設定します。
-timestampタイムスタンプを設定します。
-vsyncはFrameを増減して影音を同期させる。
イメージパラメータ-b映像流量を設定します。デフォルトは200 Kbit/秒です。(単位は下記注意事項参照)
-rはFrameRate値を設定し、デフォルトは25です。
-s画面の幅と高さを設定します。
-aspect画面の割合を設定します。
−vnは、映像を処理せず、音声のみを処理する場合に使用される。
-vcodecは映像映像コーデックを設定し、設定していない場合は入力ファイルと同じコーデックを使用する。
おんきょうパラメータ-abは各チャネル(最近のSVN版はすべてのチャネルの合計)の流量を設定する。(単位は下記注意事項参照)
-arサンプリングレートを設定します。
-ac音声のチャンネル数を設定します。
-acodecは音声コーデックを設定し、設定されていない場合は映像と同じで、入力ファイルと同じコーデックを使用します。
−anは、音声を処理せず、映像のみを処理する場合に使用する。
-volは音量サイズを設定し、256は標準音量とする。(2倍の音量に設定する場合は512と入力します。)
注意事項-bおよびabパラメータでトラフィックを設定する場合、使用するffmpegバージョンによってkbits/secとbits/secの単位が異なることに注意してください。(ffmpeg-hで説明を表示して単位を確認できます。)
例えば、単位がbits/secの場合、流量64 kbpsを指定したい場合は「-ab 64 k」を入力する。単位がkbits/secの場合は「-ab 64」と入力します。
-acodecおよび-vcodecで指定したコーデック名は、使用するffmpegバージョンによって異なります。例えばAACコーデックを使用する場合、aacとlibfaacが入力される場合があります。また、コーデックは、復号化のみの場合と符号化のみの場合に分けられるので、ffmpeg-formatsを利用して入力したコーデックが動作するかどうかを確認しなければならない。
例MPEG-1ムービーをMPEG-4形式に変換した例
#ffmpeg -i inputfile.mpg -f mp4 -acodec libfaac -vcodec mpeg4 -b 256k -ab 64k outputfile.mp4
MP 3音声をMPEG-4形式に変換した例
#ffmpeg -i inputfile.mp3 -f mp4 -acodec libaac -vn -ab 64k outputfile.mp4
DVDのVOBファイルをビデオCD形式に変換するMPEG-1ファイルの例
#ffmpeg -i inputfile.vob -f mpeg -acodec mp2 -vcodec mpeg1video -s 352x240 -b 1152k -ab 128k outputfile.mpg
AVIムービーをH.264形式に変換したM 4 Vファイルの例
#ffmpeg -i inputfile.avi -f mp4 -acodec libfaac -vcodec libx264 -b 512k -ab 320k outputfile.m4v
いずれの映画も東芝レグザが認識できるMPEG 2形式に変換した例
#ffmpeg -i inputfile -target ntsc-svcd -ab 128k -aspect 4:3 -s 720x480 outputfile.mpg
複数のAVIムービーを接続する例(この例では、AVIを一時的にMPEG-1に変換する必要がある(MPEG-1、MPEG-2 PSDV形式でも接続可能)、
#ffmpeg -i input1.avi -sameq inputfile_01.mpg #ffmpeg -i input2.avi -sameq inputfile_02.mpg #cat inputfile_01.mpg inputfile_02.mpg > inputfile_all.mpg #ffmpeg -i inputfile_all.mpg -sameq outputfile.avi
=============================================================================
http://ffmpeg.org/ffmpeg-doc.html
http://ubuntuforums.org/showthread.php?t=1392026
同時に分かったいくつかの問題alsaシステムではサウンドカード(マイクかもしれない)はhw:0、0、ossシステムでは/dev/dsp(用語があまり専門的ではないかもしれない)Linuxと呼ばれ、サウンドカードをインストールすると、いくつかのデバイスファイルが生成されます。
デジタルサンプルの/dev/dspファイルを採取し、ミキサの/dev/mixerファイル、シーケンサの/dev/sequencer、/dev/audioファイルの互換性を考慮した音声デバイスファイルに使用します。/dev/audioにwavファイルを入力するだけで音がします。一方、/dev/dspファイルを読み込むとWAVファイル形式の音声ファイルが得られます。
ffmpegでrmvbをmp 4に圧縮する
1、rmvb属性の表示変換する前にファイルのプロパティを確認し、解像度などの情報を見て、解像度が960*640を超えると調整する必要があります。ちなみに符号率を見て、x 264に抑えるときに参考にしてみましょう。
ffmpeg -i 文件名2、mp 4に圧縮する
1).pass 1符号化
ffmpeg -i 01.rmvb -an -vcodec libx264 -b 560k -pass 1 -f mp4 -y NUL
-an:オーディオをエンコードしない
-vcodec:ビデオの符号化を設定します。ここではx 264を使用しています。
-b:これはコードレートです
-f:フォーマットの強制使用
-y:自動送りy確認
NUL:pass 1なので出力ファイルは不要、そのままNUL
2).pass 2符号化
ffmpeg -i 01.rmvb -acodec copy -vcodec libx264 -b 560k -pass 2 -f mp4 01.mp4
現在、多くのrmvbのオーディオ部分がaac符号化されているため、-acodec copyでオーディオ部分を直接コピーすることができます。
3、一部のファイルに対するパラメータ調整rmvbやmkvのような解像度が高いものもあるので、itouchに伝わるには調整が必要です。ffmpegでは-sパラメータ:ffmpeg-i 01を使用できます。rmvb -acodec copy -vcodec libx264 -b 560k -s 960x640 -f mp4 01.mp4
ffmpeg -i 01.rmvb -acodec copy -vcodec libx264 -b 560k -s 960x640 -f mp4 01.mp4
960 x 640は自分で計算して比例して調整する必要があります
時間単位で切り取る
ffmpeg -i 01.rmvb -acodec copy -vcodec libx264 -b 560k -ss 00:00:00 -t 00:01:00 -f mp4 01.mp4
B-frameを設定することはアニメーションに少しメリットがありますが、2 passの場合は明らかではありません。1 passの場合は明らかです。
ffmpeg -i 01.rmvb -acodec copy -vcodec libx264 -b 560k -bf 6 -f mp4 01.mp4