[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
一般的な構文は次のとおりです:
ffprobe [options] [‘input_file’] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
FFprobe はマルチメディアストリームから情報を集めて、 ヒトあるいはマシンが読める形にそれを出力します。
例えば、あるマルチメディアストリームによって使われている コンテナの形式、それに含まれている各メディアストリームの 形式やタイプを確認するために使うことができます。
入力でファイル名を指定すれば、ffprobe はそれを開いて そのファイルの内容を調査しようとします。そのファイルが開けない、 またはマルチメディアファイルとして認識できなかった場合には、 正の終了コードを返します。
FFprobe はスタンドアロンのアプリケーションとしても使えますし、 より洗練された処理、例えば統計処理やプロットを実行する テキストフィルターと組み合わせて使うこともできます。
オプションは ffprobe によってサポートされている形式のいくつかを 並べ上げるため、もしくはどの情報を表示するか指定するため、 どのように ffprobe がそれを表示するのか設定するために使われます。
FFprobe の出力はテキストフィルターによってパースしやすいように 設計されており、次のような形をした1つまたはそれ以上のセクションからなります:
[SECTION] key1=val1 ... keyN=valN [/SECTION] |
コンテナまたはストリーム内に保存されているメタデータタグは認識され、 文字列"TAG:"を前につけた上で、 対応する"FORMAT"もしくは"STREAM"セクションで印字されます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
数値のオプションは全て(そうではないと明記していない限り) 1つの数を表す入力文字列を受け取ります。それには国際単位系の接頭辞 (例えば ’K’、’M’、’G’)を1つ含めてもかまいません。 この接頭辞の直後に ’i’ を付け加えると、10の累乗の代わりに2の累乗 が使われます。 ’B’ という接尾辞は値を8倍し、また他の接尾辞に付け加えても単独でも どちらでも使えます。これによって例えば ’KB’、’MiB’、’G’ や ’B’ が接尾辞として許されます。
引数をとらないオプションはブール値のオプションであり、対応する値を true にします。オプション名の前に "no" をつけることで false に できます。例えば、コマンドラインで "-nofoo" とすることで "foo" という 名前のブール値のオプションが false になります。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
これらのオプションは ff* ツールの間で共有されます。
ライセンスを表示します。
ヘルプを表示します。
バージョンを表示します。
利用可能なフォーマットを表示します。
フォーマット名の前にあるフィールドは次のような意味があります:
デコーディングが利用できる
エンコーディングが利用できる
利用可能なコーデックを表示します。
コーデック名の前にあるフィールドは次のような意味があります:
デコーディングが利用できる
エンコーディングが利用できる
映像/音声/サブタイトルコーデック
コーデックがスライスをサポートしている
コーデックが direct rendering をサポートしている
コーデックがフレーム境界でだけでなくランダムな場所での切り取られた入力を扱える
利用可能な bitstream フィルターを表示します。
利用可能なプロトコルを表示します。
利用可能な libavfilter フィルターを表示します。
利用可能な pixel フォーマットを表示します。
そのライブラリで使用されるログの冗長さを設定します。 loglevel は以下の値の1つを含んだ数値または文字列:
既定ではプログラムは標準エラー出力にログを出力し、端末が色付けに
対応していれば、エラーと警告に印をつけるように色が使われます。
ログの色付けは環境変数 NO_COLOR
をセットすることで無効にできます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
format を使うよう強制します。
表示される値の単位を表示します。
表示される値について SI プレフィックスを用います。 "-byte_binary_prefix"オプションが使われていない限り 全てのプレフィックスは10進数で表されます。
バイトの値のために2進数のプレフィックスを使うよう強制します。
時刻の値のために sexagesimal 形式 HH:MM:SS.MICROSECONDS を使います。
表示される値の形式を見目好くします、これはオプション "-unit -prefix -byte_binary_prefix -sexagesimal"に対応します。
入力マルチメディアストリームのコンテナ形式についての情報を 表示します。
全てのコンテナ形式情報は"FORMAT"と名前のついたセクションで 表示されます。
入力マルチメディアストリームに含まれる各パケットについての情報を表示 します。
各単一パケットについての情報は "PACKET" という専用のセクションで 表示されます。
入力マルチメディアストリームに含まれる各メディアストリームについての 情報を表示します。
各メディアストリームの情報は"STREAM"と名前のついた専用のセクション で表示されます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
プロトコルは、特定のプロトコルを使用するために必要になるリソースへの アクセスを可能にする FFmpeg 上の構成される要素です。
FFmpeg のビルドを構成(configure)する際は、既定ではサポートされている全ての プロトコルが有効になっています。configure オプション "–list-protocols" を使うと 全ての利用可能なプロトコルがリストアップされます。
configure オプション "–disable-protocols" を使えば全てのプロトコルを無効にする ことができ、 "–enable-protocol=PROTOCOL" で特定のプロトコルを選択して有効にでき、 または "–disable-protocol=PROTOCOL" で特定のプロトコルを無効にできます。
ff* ツールのオプション "-protocols" はサポートされているプロトコル のリストを表示します。
現在利用可能なプロトコルの説明は以下の通りです。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
物理的な連結プロトコル。
多くのリソースから順に、1つの独自のリソースであるかのように 読んだりシークしたりできます。
このプロトコルが受け取る URL は次の構文を持ちます:
concat:URL1|URL2|...|URLN |
ただし URL1、URL2、...、URLN は連結されるリソースの URL で、それぞれは異なるプロトコルを指定していてもかまいません。
例えばファイル列 ‘split1.mpeg’、‘split2.mpeg’、‘split3.mpeg’ を ‘ffplay’ で読むには、次のコマンドを使ってください:
ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg |
多くのシェルで特別扱いされる文字 "|" をエスケープしなけばならないかもしれない ことに注意してください。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ファイルアクセスプロトコル。
1つのファイルから、または1つのファイルに向けて読むことができます。
例えば ‘ffmpeg’ でファイル ‘input.mpeg’ から読むには、次のコマンドを 使ってください:
ffmpeg -i file:input.mpeg output.mpeg |
ff* ツールは既定ではこのファイルプロトコルを使います。 すなわち "FILE.mpeg" という名前で指定されたリソースは URL "file:FILE.mpeg" であるかのように解釈されます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Gopher プロトコル。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
HTTP (ハイパーテキストトランスファープロトコル)。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TCP 越しの MMS (マイクロソフトメディアサーバー)プロトコル。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
HTTP 越しの MMS (マイクロソフトメディアサーバー)プロトコル。
要求される構文は:
mmsh://server[:port][/app][/playpath] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
MD5 出力プロトコル。
書き出されるデータの MD5 ハッシュを計算し、クローズ時にそれを指示された 出力もしくは(指定されていなければ)標準出力に書き出します。実際のファイルに 書き出すことなく muxer をテストするために使えます。
いくつかの例を以下に挙げます。
# エンコードされる AVI ファイルの MD5 ハッシュをファイル output.avi.md5 に書き出します。 ffmpeg -i input.flv -f avi -y md5:output.avi.md5 # エンコードされる AVI ファイルの MD5 ハッシュを標準出力に書き出します。 ffmpeg -i input.flv -f avi -y md5: |
フォーマットによっては(典型的には MOV)出力プロトコルがシーク可能である必要が あり、したがって MD5 出力プロトコルが一緒だと失敗することに注意してください。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
UNIX パイプアクセスプロトコル。
UNIX パイプに書き出したり読み込んだりすることができます。
受け取る構文は:
pipe:[number] |
number はパイプのファイル記述子に対応する番号 (例えば標準入力なら0、標準出力なら1、標準エラー出力なら2)です。 number が指定されていなければ、既定ではこのプロトコルが 書き出しに用いられるときには標準出力が利用され、このプロトコルが 読み込みに用いられるときには標準入力が利用されます。
例えば ‘ffmpeg’ で標準入力から読むには:
cat test.wav | ffmpeg -i pipe:0 # ...これは次と同じです... cat test.wav | ffmpeg -i pipe: |
‘ffmpeg’ で標準出力に書くには:
ffmpeg -i test.wav -f avi pipe:1 | cat > test.avi # ...これは次と同じです... ffmpeg -i test.wav -f avi pipe: | cat > test.avi |
フォーマットによっては(典型的には MOV)出力プロトコルがシーク可能である必要が あり、したがってパイプ出力プロトコルが一緒だと失敗することに注意してください。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
リアルタイムメッセージングプロトコル。
リアルタイムメッセージングプロトコル(RTMP)は TCP/IP ネットワーク越しの マルチメディアコンテントのストリーミングに用いられます。
必要となる構文は:
rtmp://server[:port][/app][/playpath] |
受け取るパラメータは以下の通りです:
RTMP サーバーのアドレスです。
利用される TCP ポートの番号です(既定では1935です)。
アクセスするアプリケーションの名前です。たいていの場合 RTMP サーバー にそのアプリケーションがインストールされているパスになります。 (例えば ‘/ondemand/’、‘/flash/live/’、など)。
app で指定されうアプリケーションから参照され再生される リソースのパスまたは名前です。"mp4:"が先頭につくかもしれません。
例えば ‘ffplay’ で RTMP サーバー "myserver" からアプリケーション "vod" で "sample" という名前のマルチメディアリソースを読むには:
ffplay rtmp://myserver/vod/sample |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
librtmp を通じてサポートされるリアルタイムメッセージングプロトコルとその バリエーションです。
構成(configure)の際に librtmp のヘッダとライブラリが存在しなければなりません。 "–enable-librtmp" で明示的にビルドを configure する必要があります。 有効にされるとネイティブの RTMP プロトコルは置き替えられます。
このプロトコルは、RTMP、HTTP トンネルによる RTMP (RTMPT)、暗号化 RTMP (RTMPE)、SSL/TLS オーバー RTMP (RTMPS)、そしてこれら暗号化タイプの トンネル版(RTMPTE、RTMPTS)をサポートするために必要ななるほとんどの クライアント機能と少数のサーバー機能を提供します。
必要となる構文は:
rtmp_proto://server[:port][/app][/playpath] options |
ただし rtmp_proto は各 RTMP バリエーションに対応する文字列 "rtmp"、"rtmpt"、"rtmpe"、"rtmps"、"rtmpte"、"rtmpts" の1つで、 server、port、app および playpath は RTMP ネイティブプロトコルで指定されるものと同じ意味を持ちます。 options は空白で区切られた key=val の形のオプション のリストを含みます。
さらなる情報については librtmp のマニュアルページ(man 3 librtmp)を見てください。
例えば、‘ffmpeg’ を使ってリアルタイムに RTMP サーバーに向けてファイルをストリームするには:
ffmpeg -re -i myfile -f flv rtmp://myserver/live/mystream |
‘ffplay’ を使って同じストリーミングを行なうには:
ffplay "rtmp://myserver/live/mystream live=1" |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
リアルタイムプロトコル。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
RTSP は技術的には libavformat でのプロトコルハンドラではなく、demuxer であり かつ muxer です。この demuxer は通常の RTSP (RTP 越しにデータが転送される; これは例えば Apple や Microsoft で用いられています)も Real-RTSP (RDT 越しに データが転送される)もどちらにも対応しています。
muxer はストリームを RTSP ANNOUNCE を用いて、それに対応しているサーバー (現時点では Darwin Streaming Server と Mischa Spiegelmock の RTSP server http://github.com/revmischa/rtsp-server) に向けて送信するために利用できます。
RTSP のために必要となる構文は:
rtsp://hostname[:port]/path[?options] |
options は &
で区切られたリストです。以下のオプションが
サポートされています:
下位トランスポートプロトコルに UDP を使います。
下位トランスポートプロトコルに(RTSP コントロールチャンネル内で交互にした) TCP を使います。
下位トランスポートプロトコルに UDP マルチキャストを使います。
下位トランスポートプロトコルに http トンネリングを使います。これは 受動的なプロキシに対して便利です。
複数の下位トランスポートプロトコルを指定することが許されており、その場合
一度に1つだけ試されます(1つの設定に失敗したら、次のものが試されます)。
muxer については、tcp
と udp
のみがサポートされています。
UDP 越しにデータを受け取る際に、demuxer は受け取ったパケットを並べ直そうと
します(これらが順番になっていない、もしくは全体的にパケットが失われている
かもしれないからです)。これを有効にするためには、 AVFormatContext の
max_delay
フィールドで最大の遅延を指定しなければなりません。
‘ffplay’ でマルチビットレート Real-RTSP ストリームを観る際、
表示するストリームとして -vst
n および -ast
n で
映像と音声それぞれを選択できます。そして作動中に v
や a
を押すことで切り替えることが可能です。
コマンドラインの例:
UDP 越しのストリームを観る、並べ直しの最大遅延は0.5秒:
ffplay -max_delay 500000 rtsp://server/video.mp4?udp |
HTTP トンネル経由のストリームを観る:
ffplay rtsp://server/video.mp4?http |
他人に観せるために、RTSP サーバーにストリームをリアルタイムで送信する:
ffmpeg -re -i input -f rtsp -muxdelay 0.1 rtsp://server/live.sdp |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
セッションアナウンスメントプロトコル(RFC 2974)。これは技術的には libavformat のプロトコルハンドラではなく、muxer および demuxer です。 分離されたポート上で定期的にストリームに対して SDP を通知することによって、 RTP ストリームのシグナリングのために使用されます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
muxer に渡される SAP url のための構文は次の通りです:
sap://destination[:port][?options] |
RTP パケットはポート port の destination に対して送信され、
ポートが指定されていない場合にはポート 5004 に対して送信されます。
options は &
で区切られたリストです。以下のオプションを
サポートしています:
通知を送りつける送信先の IP アドレスを指定する。 省略されていれば、通知は共通して利用されている SAP アナウンスメント マルチキャストアドレス 224.2.127.254 (sap.mcast.net)に、もしくは destination が IPv6 アドレスならば ff0e::2:7ffe に送信される。
通知を送りつけるポートを指定する、指定されなければ 既定で 9875。
通知と RTP パケットのための time to live 値を指定する、 既定では 255。
1が設定されれば、全ての RTP ストリームを同じポート対で送る。0(既定) ならば、全てのストリームは独自のポートに送られ、各ストリームは先のものより 2つ数字の大きいポート番号になる。 VLC/Live555 では、ストリームを受け取れるように、これを1に設定することが求められる。 libavformat で受信するための RTP スタックは各ストリームが一意なポートで送られる 必要がある。
コマンドラインの例は以下の通り。
VLC で観るために、ローカルサブネットにストリームをブロードキャストするためには:
ffmpeg -re -i input -f sap sap://224.0.0.255?same_port=1 |
同様に、ffplay で観るには:
ffmpeg -re -i input -f sap sap://224.0.0.255 |
そして IPv6 越しに ffplay で観るには:
ffmpeg -re -i input -f sap sap://[ff0e::1:2:3:4] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
demuxer に与える SAP url のための構文は:
sap://[address][:port] |
address は通知のために待ち受けるマルチキャストアドレスであり、 省略されれば、既定の 224.2.127.254 (sap.mcast.net)が用いられる。 port は待ち受けるポートであり、省略された場合9875である。
demuxer は与えられたアドレスとポートで通知を待ち受ける。 いったん通知を受け取るとすぐに、特定のストリームを受信しようとする。
コマンドラインの例は以下の通り。
通常の SAP マルチキャストアドレスで通知される最初のストリームを再生するには:
ffplay sap:// |
既定の IPv6 SAP マルチキャストアドレスで通知される最初のストリームを再生するには:
ffplay sap://[ff0e::2:7ffe] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
トランスミッションコントロールプロトコル。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ユーザーデータグラムプロトコル。
UDP url に要する構文は:
udp://hostname:port[?options] |
options は & で区切られた key=val の形のオプションのリストを含む。 サポートされているオプションのリストは以下の通り:
UDP バッファサイズをバイト数で設定する
バインドするローカル UDP ポートを上書きする
UDP パケットのバイトサイズを設定する
UDP ソケットの再利用を明示的に有効または無効にする
time to live 値を設定する(マルチキャストについてのみ)
UDP ソケットを connect()
で初期化する。
この場合、送り先アドレスは後から udp_set_remote_url で変えることができない。
これによって getsockname でパケットの送り元アドレスを見つけることができ、
書き出しの際 "destination unreachable" を受け取った場合には
AVERROR(ECONNREFUSED) を返す。
udp プロトコルの ‘ffmpeg’ での利用例は以下の通り。
UDP 越しにリモートエンドポイントへストリームするには:
ffmpeg -i input -f format udp://hostname:port |
188 サイズの UDP パケットを使い、大きい入力バッファで UDP 越しに mpegts 形式でストリームするには:
ffmpeg -i input -f mpegts udp://hostname:port?pkt_size=188&buffer_size=65535 |
UDP 越しにリモートエンドポイントから受け取るには:
ffmpeg -i udp://[multicast-address]:port |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
入力デバイスは、FFmpeg 上でシステムに取り付けられたマルチメディアデバイスから やって来るデータにアクセスすることを許す構成された要素です。
FFmpeg のビルドを構成(configure)する際は、既定ではサポートされている全ての 入力デバイスが有効になっています。configure オプション "–list-indevs" を使うと 全ての利用可能な入力デバイスがリストアップされます。
configure オプション "–disable-indevs" を使えば全ての入力デバイスを無効にする ことができ、 "–enable-indev=INDEV" で特定の入力デバイスを選択して有効にでき、 または "–disable-indev=INDEV" で特定の入力デバイスを無効にできます。
ff* ツールのオプション "-formats" は(demuxer と一緒に)サポートされている入力デバイス のリストを表示します。
現在利用可能な入力デバイスの説明は以下の通りです。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ALSA (Advanced Linux Sound Architecture) 入力デバイス。
configure でこの入力デバイスを有効にするには、システムに libasound がインストールされて いる必要があります。
このデバイスによって ALSA デバイスからキャプチャすることができます。キャプチャする デバイスの名前は ALSA カード識別子でなくてはなりません。
ALSA 識別は次の構文をもちます:
hw:CARD[,DEV[,SUBDEV]] |
ただし DEV と SUBDEV という成分は省略できます。
この3つの引数(順に: CARD,DEV,SUBDEV)は カード番号もしくは識別子、デバイス番号、そしてサブデバイス番号を 特定します。(-1 はいずれかを意味します)。
現時点でシステムによって認識されるカードのリストを見るには、ファイル ‘/proc/asound/cards’ および ‘/proc/asound/devices’ を確認してください。
例えば ‘ffmpeg’ によってある card id 0 の ALSA デバイスから キャプチャするためには、次のコマンドを実行します:
ffmpeg -f alsa -i hw:0 alsaout.wav |
さらなる情報については、次を見てください: http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BSD 映像入力デバイス。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Linux DV 1394 入力デバイス。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
JACK 入力デバイス。
configure でこの入力デバイスを有効にするには、システムに libjack がインストールされて いる必要があります。
JACK 入力デバイスは1つまたはそれ以上の JACK 書き込み可能クライアントを 各音声チャンネルごとに1つ、client_name:input_N という名前で 作成します。ただし client_name はアプリケーションによって提供される 名前で、N はそのチャンネルを識別する番号です。 各書き込み可能なクライアントは FFmpeg 入力デバイスに対して取得したデータ を送信します。
一旦1つまたはそれ以上の JACK 読み取り可能クライアントを作成すると、 1つまたはそれ以上の JACK 書き込み可能クライアントにそれらを接続する必要 があります。
JACK クライアントに接続をつないだり切ったりするためには、 ‘jack_connect’ や ‘jack_disconnect’ プログラムが使えます。 または、例えば ‘qjackctl’ のようなグラフィカルインターフェイスを 通じて行えます。
JACK クライアントやそのプロパティをリストアップするには、コマンド ‘jack_lsp’ を実行します。
以下は ‘ffmpeg’ で JACK 読み取り可能クライアントをキャプチャする やり方を示す例です。
# "ffmpeg" という名前のついた JACK 書き込み可能クライアントを作成します。 $ ffmpeg -f jack -i ffmpeg -y out.wav # サンプルの jack_metro 読み取りクライアントを開始します。 $ jack_metro -b 120 -d 0.2 -f 4000 # 現在の JACK クライアントをリストアップします。 $ jack_lsp -c system:capture_1 system:capture_2 system:playback_1 system:playback_2 ffmpeg:input_1 metro:120_bpm # ffmpeg 書き込み可能クライアントに metro を接続します。 $ jack_connect metro:120_bpm ffmpeg:input_1 |
さらなる情報については、次を読んでください: http://jackaudio.org/
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
IIDC1394 入力デバイス、libdc1394 および libraw1394 に基づいています。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Open Sound System 入力デバイス。
入力デバイスに充てられるファイル名はその OSS 入力 を表すデバイスノードで、 それはたいていの場合 ‘/dev/dsp’ になります。
例えば ‘ffmpeg’ から ‘/dev/dsp’ をグラブするためには、 次のコマンドを使います。
ffmpeg -f oss -i /dev/dsp /tmp/oss.wav |
OSS についてのさらなる情報には、次を見てください: http://manuals.opensound.com/usersguide/dsp.html
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Video4Linux および Video4Linux2 入力映像デバイス。
グラブするデバイスの名前はファイルデバイスノードです。たいていの Linux システムは、デバイス(例えば USB ウェブカム)をシステムに差し込んだ際、 そういったノードを自動的に作成するようになっています。そして ‘/dev/videoN’ のような名前を持ちます。ただし N は そのデバイスに結びつけられた番号です。
Video4Linux と Video4Linux2 デバイスは限られた種類の widthxheight サイズとフレームレートのみに対応しています。いずれに対応しているかを確認するために、 例えば Video4Linux デバイスならコマンド ‘dov4l’、そして Video4Linux2 デバイスならコマンド ‘v4l-info’ が使えます。
デバイスのサイズが 0x0 に設定されている場合、入力デバイスは使用するサイズを 自動検出しようとします。
Video4Linux 対応は Linux 2.6.30 から非推奨になっており、今後のバージョンで 無くなるでしょう。
以下が ff* ツールで video4linux デバイスを使う例です。
# Video4linux デバイスの入力をグラブし表示します。 ffplay -s 320x240 -f video4linux /dev/video0 # Video4linux2 デバイスの入力をグラブし表示します。サイズは自動調整です。 ffplay -f video4linux2 /dev/video0 # Video4linux2 デバイスの入力をグラブし録画します。サイズは自動調整です。 ffmpeg -f video4linux2 -i /dev/video0 out.mpeg |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
VfW (Video For Windows) キャプチャ入力デバイス。
入力として渡すファイル名はキャプチャドライバー番号で、0から9の範囲です。 ドライバーの一覧を表示するために "list" をファイル名に使えます。 それ以外のファイル名はデバイス番号0として解釈されます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
X11 映像入力デバイス。
このデバイスで X11 ディスプレイの領域をキャプチャすることができます。
入力として渡すファイル名は次の構文を持ちます:
[hostname]:display_number.screen_number[+x_offset,y_offset] |
hostname:display_number.screen_number でグラブする
スクリーンlの X11 ディスプレイ名を指定します。hostname は省略
されてもよく、既定では "localhost" です。環境変数 DISPLAY
が既定のディスプレイ名を含みます。
x_offset および y_offset でグラブされる領域の X11 スクリーン イメージの左上端からオフセットを指定します。これらは既定では0です。
さらなる細かい情報については X11 ドキュメンテーション(例えば man X)を 参照してください。
X11 ディスプレイのプロパティについての基本情報(例えば "name" または "dimensions" を grep する)を得るためには、‘dpyinfo’ プログラムを使ってください。
例えば ‘ffmpeg’ を使って ‘:0.0’ からグラブするには
ffmpeg -f x11grab -r 25 -s cif -i :0.0 out.mpg # 位置 10,20 でグラブします。 ffmpeg -f x11grab -25 -s cif -i :0.0+10,20 out.mpg |
[Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Takeshi Abe on October 29, 2010 using texi2html 1.82.
The buttons in the navigation panels have the following meaning:
Button | Name | Go to | From 1.2.3 go to |
---|---|---|---|
[ < ] | Back | Previous section in reading order | 1.2.2 |
[ > ] | Forward | Next section in reading order | 1.2.4 |
[ << ] | FastBack | Beginning of this chapter or previous chapter | 1 |
[ Up ] | Up | Up section | 1.2 |
[ >> ] | FastForward | Next chapter | 2 |
[Top] | Top | Cover (top) of document | |
[Contents] | Contents | Table of contents | |
[Index] | Index | Index | |
[ ? ] | About | About (help) |
where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:
This document was generated by Takeshi Abe on October 29, 2010 using texi2html 1.82.