【概要】FFMPEGコマンドラインツールの詳細な表示



Detailed Ffplay Ffmpeg Command Line Tool



目次

0まえがき



1構文

2説明説明



3つのオプション

3.1ストリーム指定子

3.2一般的なオプション



3.3主なオプション

3.3.1-x幅

3.3.2-yの高さ

3.3.3-sサイズ

3.3.4 -fs

3.3.5-左x位置

3.3.6-topお​​よびpos

3.3.7-window_titleウィンドウタイトル

3.3.8 -nodisp

3.3.9 -noborder

3.3.10 -ss pos

3.3.11-t期間

3.3.12-ボリュームボリューム

3.3.13 -an

3.3.14 -vn

3.3.15 -sn

3.3.16-ループループカウント

3.3.17バイトの値

3.3.18ショーモードモード

3.3.19 -f fmt

3.3.20 -seek_interval

3.3.21-vfフィルターグラフ

3.3.22-フィルターグラフの

3.3.23 -i input_url

3.4詳細オプション主なオプション

3.4.1-自動終了

3.4.2 -exitonkeydown

3.4.3-exitonmousedown

3.4.4-自動回転

3.4.5-pix_fmt形式

3.4.6 -codec:media_specifier codec_name

3.4.7-acodecデコーダー名

3.4.8-scodecデコーダー名

3.4.9-vcodecデコーダー名

3.4.10 -vst stream_specifier

3.4.11 -ast stream_specifier

3.4.12 -sst stream_specifier

3.4.13-速い

3.4.14 -genpts

3.4.15 -drp

3.4.16-同期タイプ

3.4.17 -framedrop

3.4.18 -infbuf

3.4.19 -find_stream_info

3.4.20-統計

4プレイ中のキーコントロールプレイ中



ffplayは、ffmpegライブラリとSDLライブラリを使用した、ffmpeg用のシンプルでポータブルなマルチメディアプレーヤーです。ほとんどの場合、ffmpegのAPIをテストするために使用されます。

3つのオプション


すべての数値オプションは、特に指定されていない限り、入力として数値を置き換える文字列を受け入れ、通常は「K」、「M」、「G」などのSI単位が続きます。

SI単位の後に「i」が表示される場合、数値サイズは1000ではなく1024ベースとして解釈されます。SI単位の後に「B」が表示される場合、値は8で乗算されます。「KB」、「MiB」 、「G」および「B」はデジタルサフィックスとして表示されます。

パラメータのないオプションはブールオプションであり、関連するパラメータはtrueに設定されます。対応するオプションの前に「no」を追加することで、関連するパラメータをfalseに設定できます。たとえば、「-nofoo」オプションを使用すると、「-foo」オプションで設定されたパラメータがfalseになります。

3.1ストリーム指定子


一部のオプションは、各ストリームに適用できます。ストリーム指定子は、オプションが適用されるストリームを正確に指定するために使用されます。

ストリーム指定子は通常、「:」で区切られたオプションに続く文字列です。たとえば、「-codec:a:1 ac3」には、2番目のオーディオストリームと一致するストリーム指定子a:1が含まれています。したがって、役割は2番目のオーディオストリームにac3コーデックを使用することです。

ストリーム指定子は複数のストリームに一致する可能性があるため、これらの複数のストリームにオプションを適用できます。たとえば、「-b:a128k」のストリーム指定子はすべてのオーディオストリームに一致します。

空のストリーム指定子はすべてのストリームに一致します。たとえば、-codec copyまたは-codec:copyは、すべてのストリームに一致します。

ストリーム指定子の可能な形式:

  • stream_indexは、ストリームのシーケンス番号と一致します。たとえば、-threads:1 4は、2番目のストリームを処理するスレッドの数を4に設定します。stream_indexが指定子の追加パラメーターに使用される場合、対応するシーケンス番号が一致するストリームが選択されます。
  • stream_type [:additional_stream_specifier] stream_typeは、オーディオストリームタイプの場合は「a」、字幕ストリームタイプの場合は「s」、データストリームタイプの場合は「d」、追加タイプの場合は「t」、ビデオの場合は「v」または「V」を指します。ストリームタイプ、小さい「v」はすべてのビデオストリームに一致し、大きい「V」は添付されていない画像、ビデオサムネイル、アートカバーアートにのみ一致します。 additional_stream_specifierを使用すると、同じタイプの単一のストリーム(index)と一致します。 additional_stream_specifierが使用されていない場合、同じタイプのすべてのストリームに一致します。
  • p:program_id [:additional_stream_specifier]は、プログラムIDに対応するストリームと一致します。
  • #stream_idまたはi:stream_id一致するストリームはストリームID(MPEG-TSコンテナのPIDなど)を渡します
  • m:key [:value]一致するストリームのメタデータの対応するタグ(キー)に指定された値を含むストリーム。値が指定されていない場合は、指定されたタグを含むすべてのストリームに一致します
  • uストリームを使用可能な構成と一致させるには、コーデックを定義し、ビデオのサイズやオーディオのサンプリングレートなどの基本情報を提供する必要があります。

ffmpegでのmeatdataの一致は、入力ファイルに対してのみ正しく機能することに注意してください。

3.2一般的なオプション


一般的なオプションのセクションを参照してください ffplayドキュメント と同様 【概要】FFMPEGコマンドラインツールのffprobeの詳細説明

3.3主なオプション


3.3.1-x幅

func: 表示幅を強制

例: ビデオ1.mp4の解像度は1280x720です。幅をそれぞれ50012801500に設定してみてください。ビデオを以下に示します。

ffplay -i 1.mp4 -x 500

ffplay -i 1.mp4 -x 1280

ffplay -i 1.mp4 -x 1500

幅を設定するだけの場合は、設定したサイズに合わせて動画の幅が表示され、DAR 16:9のアスペクト比表示を維持するために動画が拡大縮小されます。

3.3.2 -yの高さ

func: 表示された高さの力

例: -xパラメーターのロジックによれば、-yパラメーターのみが設定されている場合、-yパラメーターはそれぞれ500、720、900に設定され、導き出される結論は1.1.1と同様であるため、同じ効果は得られません。ここで使用スペースを節約するために写真を投稿してください。

注:出力される画像を確認するには、同時に-x-yを設定してみてください

テストパラメータ:アスペクト比が元のアスペクト比よりも大きく、アスペクト比が元のアスペクト比に等しく、アスペクト比が元のアスペクト比よりも小さい。

ffplay -i 1.mp4 -x 1000 -y 300 -window_title '1000x300'

ffplay-i 1.mp4 -x 640 -y 360 -window_title '640x360'

ffplay-i 1.mp4 -x 640 -y 500 -window_title '640x500'

PS:この一連のテストデータによると、ウィンドウのサイズは-x -yで指定されたサイズに従って表示されますが、2つの比率が元のビデオの幅と高さに比例しない場合は、左右中央、または上下中央に黒い枠線が表示されます。DAR(表示アスペクト比)に表示される比率に従って、ビデオは引き続き正常に表示されます。

3.3.3-sサイズ

func: 生のYUVのようにフレームサイズのヘッダーを含まないビデオに必要なフレームサイズ(WxHまたは省略形)を設定します。このオプションは非推奨になり、プライベートオプションが優先されます。-video_sizeを試してください。

例: このコマンドは幅と高さを同時に設定しますが、実行結果は驚くべきものであり、-sパラメータが非推奨になったことを示唆しています。-video_sizeを使用してから、-vide_sizeパラメータが存在しないというメッセージを出力してください。

ただし、次の図に示すように、ffplay -h出力を検索すると、-video_sizeが見つかります。

そのため、ffplay -i 1.mp4 -video_size 1200x400を実行しましたが、それでも-video_sizeが見つかりませんでした。これはバグですか?

3.3.4 -fs

fuc: フルスクリーンモードで起動します。

例: ビデオウィンドウが全画面で表示され、フォームのタイトルバーが非表示になります。コンピューターモニターのアスペクト比がビデオ自体のDARと一致しない場合は、フォームに黒い境界線も表示されます。私のコンピューターは16:9モニターであり、テストメディアファイル1.mp4のDARも16:9であるため、このビデオは黒い境界線なしでフルスクリーンで表示されます。以下に示すように

3.3.5-左x位置

fuc: ウィンドウの左側のx位置を設定します(デフォルトは中央のウィンドウです)。

例: コンピューター画面上のプレーヤーウィンドウの初期水平座標をピクセル単位で設定します。

3.3.6-topお​​よびpos

fuc:ウィンドウ上部のy位置を設定します

例: コンピューター画面上のプレーヤーウィンドウの初期垂直座標をピクセル単位で設定します。

例:ffplay -i 1.mp4 -left 100 -top 100

プレーヤーウィンドウの初期表示位置は、画面の左上隅から100ピクセルの距離で表示されます。ここで話すことはあまりありません。実際、コンピューター画面上のフォームの位置を制御することです。 -left -topを別の値に設定すると、フォームが画面に不完全に表示されるか、まったく表示されなくなります。インターフェース開発をした人はわかりやすいので、ここでは繰り返しません。

3.3.7-window_titleウィンドウタイトル

func: ウィンドウタイトルを設定します(デフォルトは入力ファイル名です)。

例: ffplay -i 1.mp4 -window_title '600x300'

フォームのタイトルバーの表示名を設定します。設定されていない場合、デフォルトのフォームタイトルバーはファイル名です。効果については3.3.2を参照してください

3.3.8 -nodisp

func: グラフィカル表示を無効にする

例: ffplay -i 1.mp4 -nodisp

ウィンドウは非表示になりますが、サウンドは正常に再生できます。

3.3.9 -noborder

func: ボーダレスウィンドウ

例: ffplay -i 1.mp4 -noborder

フォームは境界線なしで表示され、効果は次のようになります。

3.3.10 -ss pos

func: posを探します。ほとんどの形式では正確に検索することはできないため、ffplayに注意してください。 posに最も近いシークポイントにシークします。

例: ffplay -i 1.mp4 -ss 12

位置posにジャンプして、ユニットsの再生を開始します。ただし、ほとんどのファイル形式は正確なジャンプをサポートできないため、ffplayはposに最も近いランダムアクセスポイント(つまり、キーフレームの位置)にジャンプします。たとえば、この例では再生を開始するために12秒にジャンプしたいのですが、実際には、左下隅の赤い長方形の領域に示されているように、再生時間は10.11秒です。

Elecard Stram Eyeツールを使用してこのビデオファイルを表示すると、10.00秒の位置にキーフレームがあり、15秒の位置にキーフレームがあり、12に最も近いのが10秒のキーフレームであることがわかります。そのため、10sPlayのキーフレームの先頭にジャンプします。実際、ジャンプ位置が15を超えない場合は、常に10秒から再生を開始し、15を超える場合は、15秒から再生を開始します。

3.3.11-t期間

func: オーディオ/ビデオの「持続時間」秒を再生します

例: ffplay -i 1.m4 -ss 14 -t 10

通常、ssで使用されます。つまり、14秒の位置から再生を開始し、10秒で終了します。しかし、ssの不正確さが原因で、ビデオの再生が10秒から開始されることがわかっているので、ビデオは予想される24秒の終わりまで再生されますか?それとも、実際に10秒の時計を再生し、20秒の位置で終了するのでしょうか。さあ、効果を見てみましょう

ビデオの再生が始まります

ビデオ再生の終了

注意: 実際の操作から、ビデオ再生の開始時刻は-tパラメータに従ってビデオ再生の終了時刻を計算し、実際に再生時間が計算されるのではなく、この時点で再生が停止することがわかります。再生プロセスを実行し、設定された再生時間に従って再生するかどうかを決定します。やめる。

3.3.12-ボリュームボリューム

func: 起動ボリュームを設定します。 0は無音を意味し、100はボリュームの減少または増幅がないことを意味します。負の値は0として扱われ、100を超える値は100として扱われます。

例: ffplay -i 1.mp4 -volume 50

再生時に初期音量を設定します。これは言うまでもないようですが、この値をいくら設定しても、プレーヤーの最大音量はデフォルトでシステム音量になります。

音量が2に設定されている

ボリュームは100に設定されています

3.3.13 -an

func: オーディオを無効にする

例: ffplay -i 1.mp4 -an

ビデオは正常に再生され、音は出ず、効果は-volume 0と同じですが、実際には一貫性がありません。 -anはオーディオをデコードしないでください。また、-volume0オーディオデータは引き続きデコードする必要があります。

3.3.14 -vn

func: ビデオを無効にする

例: ffplay -i 1.mp4 -vn

オーディオは正常に再生され、ビデオはデコードされませんが、再生ウィンドウは引き続き表示され、インターフェイスは次のようにレンダリングされます。

奇妙な~~なぜそれは純粋な黒ではないのですか?これは何を示していますか? -showmodeの説明を参照してください。

3.3.15 -sn

func: 字幕を無効にする

例: ffplay -i 1.mp4 -sn

字幕を無効にします。

3.3.16-ループループカウント

func: 映画の再生時間をループします。 0は永遠を意味します。

例: ffplay -i 1.mp4 -loop 2 -ss 10 -t 5

ループは、ループの数を制御するために使用されます。アピールコマンドの効果は、ビデオの10秒から再生を開始し、5秒間再生してから、10秒から再生を開始し、5秒後に再生を終了することです。

3.3.17バイトの値

func: バイト単位でシーク0 =オフ1 =オン-1 =自動

例: ffplay -i 1.mp4 -bytes 1

このパラメーターは、バイト数に従ってシークできるかどうかを制御するために使用されます。 0はいいえ、1ははい、-1は自動を意味します。自動の意味は明確ではありません。

注意: mp4ファイルはバイト単位で検索できないため、バイトシークが有効になっているときに左右のキーを押すと、ffplayは次のエラーメッセージ「1.mp4:シーク中のエラー」を出力します。

3.3.18ショーモードモード

func: 「使用するショーモードを設定します。モードに使用できる値は次のとおりです。「0、ビデオ」はビデオ「1」を表示し、「波」はオーディオ波を表示します。「2、rdft」はRDFT((逆)実離散フーリエ変換)を使用したオーディオ周波数帯域を表示します。デフォルト値は「video」です。ビデオが存在しないか再生できない場合は、「rdft」が自動的に選択されます。キーwを押すと、使用可能な表示モードをインタラクティブに切り替えることができます。」

例: -showmodeこのオプションは、プレーヤーの表示モードを制御できます。 -showmode 0はビデオの表示、-showmode 1はオーディオ波形の表示、-showmode 2はオーディオ帯域幅の表示(リアルタイム離散フーリエ変換)を意味します。ビデオはデフォルトで表示されます。ビデオストリームが存在しないか、表示できない場合は、自動的にrdftの表示に切り替わります(これが、-vnを使用したときにプレーヤーインターフェイスが黒で表示されない理由です)。 ffplayがビデオを再生するとき、キーwを押すことで表示モードの切り替えを制御できます。

ffplay -i 1.mp4 -x 640 -y 360 -showmode 0

ffplay -i 1.mp4 -x 640 -y 360 -showmode 1

ffplay -i 1.mp4 -x 640 -y 360 -showmode 2

3.3.19 -f fmt

func: 力の形式

例: ffplay -i 1.mp4 -f mov

このパラメーターは、fmt形式に従ってファイルを解析するように強制されます。 1.MP4アダプテーションフォーマットmovm4a 3gp 3g2 mj2に従って解析すれば、ファイルは正常に再生できます。

flv、mpegts形式に従って解析されると、さまざまなエラーメッセージが報告されます。

3.3.20 -seek_interval

func: 左/右キーを使用してシークするためのカスタム間隔を秒単位で設定します。デフォルトは10秒です。

例: このオプションは、ビデオが再生されるときのジャンプ間隔を制御するために使用され、左右のボタンはジャンプを制御します。デフォルトは10秒です。つまり、右クリックすると、ビデオは10秒後にその位置にジャンプします。ただし、実際の測定プロセスでは、4.1バージョンのffplayにはこのオプションがないことがわかりました。このバージョンでは、関連するオプションが削除されており、ffplayのヘルプドキュメントが変更されていない可能性があります。

3.3.21-vfフィルターグラフ

func: filtergraphで指定されたフィルターグラフを作成し、それを使用してビデオストリームをフィルター処理します。

filtergraphは、ストリームに適用するフィルターグラフの説明であり、単一のビデオ入力と単一のビデオ出力が必要です。フィルタグラフでは、入力はラベルinに関連付けられ、出力はラベルoutに関連付けられています。フィルタグラフ構文の詳細については、ffmpeg-filtersのマニュアルを参照してください。

このパラメーターを複数回指定し、キーwを押すことにより、表示モードとともに指定されたフィルターグラフを循環できます。

例: ffplay -i 1.mp4 -vf'chop = 100:100:100:100 '-vf'chop = 200:200:200:200'

-vfオプションの説明によると、結果は次のようになります。(100、100)位置の幅と高さ100でビデオを表示する-> wキーを押して、(200、200)位置の幅を表示するように切り替えます。高さ200ビデオ(チョップフィルターはトリミングされたビデオです)-> wキーを押してオーディオ波形に切り替えます-> wキーを押してオーディオスペクトル(RDFT)に切り替えます->ループ。実際のテストは次のとおりです。各100ビデオの(100、100)位置の幅と高さでビデオを表示します->変更なし-> wキーを押してオーディオ波形に切り替えます-> wキーを押してオーディオスペクトルに切り替えます(RDFT)->ループ。実際、2番目のフィルターの効果はありません。バグの可能性がありますか? ? ? ?

3.3.22-フィルターグラフの

func: filtergraphは、入力オーディオに適用するフィルターグラフの説明です。オプション '-filters'を使用して、使用可能なすべてのフィルター(ソースとシンクを含む)を表示します。

例: どうやって提示したらいいのかわからない~~

3.3.23 -i input_url

func: input_urlを読み取ります。

例: 入力ファイルのURLを指定します。入力ファイルは、ローカルファイル、パイプ、またはネットワークストリームにすることができます。たとえば、ffplay -i rtmp://wangsu.xescdn.com/live_bak/x_3_0_0は、rtmpのリアルタイムネットワークストリームです。

3.4詳細オプション主なオプション


3.4.1-自動終了

func: ビデオの再生が終了したら終了します。

例: ffplay -i 1.mp4 -t 5 -autoexit

このコマンドでビデオを5秒間再生するように制御すると、再生ウィンドウが自動的に閉じます。 ffplayの再生が終了した後、デフォルトでは最後のフレームに留まることに注意してください。

3.4.2 -exitonkeydown

func: キーダウンで終了

例: ffplay -i 1.mp4 -exitonkeydown

このコマンドを使用すると、キーボードのいずれかのキーを押した後、ffplayビデオ再生フォームが終了します。

3.4.3-exitonmousedown

func: マウスダウンで終了

例: ffplay -i 1.mp4 -exitonmousedown

このコマンドを使用すると、マウスの左ボタン、中央のスクロール(スクロールされないが押された)、および右ボタンが押されたときに、ffplayビデオ再生フォームの再生が終了します。

3.4.4-自動回転

func: ビデオを自動的に回転させる

例: ffplay -i 1.mp4 -autorotate

特殊効果はありません、なぜですか? ffplayドキュメントでこのパラメータの説明を見てください。

「ファイルのメタデータに従ってビデオを自動的に回転させます。デフォルトで有効になっています。無効にするには、-noautorotateを使用してください。」

主なアイデアは次のとおりです。ビデオはファイルのメタデータ情報に従って自動回転効果を決定します。つまり、ファイルメタデータにビデオ回転情報が含まれていない場合、このパラメータ設定は効果がありません。回転情報がある場合、このパラメーターは、ビデオの再生時にメタデータの情報に従ってビデオを自動的に回転させます。もちろん、このパラメーターは、このパラメーターを設定しなくてもデフォルトで有効になります。無効にするには、-noautorotateパラメーターを使用できます。

1.この効果をテストするために、最初にffmpeg -i 1.mp4 -metadata:s:vrotate = '90' -codec copy 2.mp4を使用し、回転したビデオ2.mp4を取得します。

上に示したように、2.mp4ファイルの回転は270ですが、明らかに90を設定しました。これは、rotate = '90'を使用すると、ビデオが反時計回りに90度回転するためです。これは、時計回りに270度に相当します。

2. ffplay -i 2.mp4 -x 360 -y 640を使用して、再生中のビデオの回転を確認します。確かに、ビデオは反時計回りに90度回転します〜。ビデオ自体は1280x720であり、幅と高さは回転後に置き換えられます。 -x 360 -y 640を設定して、ウィンドウスケールが黒い境界線を残さずにビデオと一致するようにします。

3. ffplay -i 2.mp4 -x 640 -y 360 -noautorotateを使用すると、ビデオを「正しく」再生できます。 -x 640 -y360と上記の違いに注意してください

3.4.5-pix_fmt形式

func:ピクセルフォーマットを設定する

例: ffplay -i 1.mp4 -pix_fmt yuv420p

このパラメータの役割は 'ピクセルフォーマットの設定です。このオプションは非推奨になり、プライベートオプションが優先されます。-pixel_formatを試してください。中国語に変換すると、ピクセル形式を設定することは理解されますが、ファイル内のピクセル形式は決定されています。役割は、この形式に従ってファイルに保存されているピクセル形式を解析することです。このコマンドを実行した結果は次のとおりです。

これは理解されていないパラメータです。 ? ? ? ?

3.4.6 -codec:media_specifier codec_name

func:aを想定できるmedia_specifierによって識別されるストリームに特定のデコーダーの実装を強制します。 (オーディオ)、v (ビデオ)、およびs字幕

例: ffplay -i 1.mp4 -codec:v h264

1.mp4ビデオストリームデコードを実現するためのh264デコーダー実装の必須使用。

まず、ffprobe -i 1.mp4 -hide_bannerを使用して、このファイルのビデオビットレートがH.264形式であることを確認します。

次に、ffprobe -codecs -hide_banner |を使用します。 'h264'を見つけると、ffmpegでサポートされている現在のh264デコーダーの実装がh264、h264_qsv、h64_cuvidとして見つかります。

最後に、ffplay -i 1.mp4 -codec:vh264またはffplay-i 1.mp4 -codec:vh264_qsvまたはffplay-i 1.mp4 -codec:v h264_cuvidを使用してデコードを試みたところ、デコーダーh264とh264_qsvが使用されましたデコードできますが、h264_cuvidはできません。

h264:CPUソフトデコード。

h264_qsv:IntelのGPUデコードテクノロジーであるIntel Quick Sync Video(QSV)

h264_cuvid:これはnvidiaグラフィックカードのハードウェアデコードテクノロジーです

このエラーをオンラインで見つける理由は、NVIDIAグラフィックカードドライバが最新ではないためです。グラフィックカードドライバをアップグレードして、この問題を解決できます。しかし、実際には、ローカルのグラフィックカードドライバがすでに最新であることがわかっているため、このnカードがほとんど解決できない理由は見つかりませんでした。

3.4。 7-acodecデコーダー名

func: オーディオデコーダーを強制する

3.4.8 -scodecdecoder_name

func: 字幕デコーダーを強制する

3.4.9 -vcodecdecoder_name

func: ビデオデコーダーを強制する

上記の3つのコマンドは1.3.3を分解したものなので、ここでは繰り返しません。

3.4.10 -vst stream_specifier

func:希望のビデオストリームを選択します

例: ffplay -i 1.mp4 -vst v:0

デコードするビデオストリームを指定します。他のビットストリームがデフォルトになり、通常どおり一緒にデコードされます。注意 stream_specifier 形式はv:0です。 1.mp4のビデオストリームが1つしかないなど、存在しないストリームを指定した場合、ビデオストリームをv:1として指定すると、ビデオは正常に再生できませんが、他のストリームは問題ありません。

3.4.11 -ast stream_specifier

func: 目的のオーディオストリームを選択します

3.4.12 -sst stream_specifier

func: 希望の字幕ストリームを選択します

3.4.10と同じように、ここでは詳しく説明しません。音声と字幕に注意してください。 stream_specifier 形式はa:0、s:0で、2つのオーディオストリームがある場合、a:1も有効です。

3.4.13-速い

func: 仕様に準拠していない最適化

例: このコマンドは長い間情報をチェックしていて、適切な説明が見つかりませんでした。それは文字通りの意味からのみ見ることができます:「非標準のコンパイル最適化」。正確に何を指すかは、ソースコード分析によって異なります。この穴を埋めるためのソースコードを見たことがありますか? ? ? ? ?

3.4.14 -genpts

func: ptsを生成する

例: ffplay -i 1.mp4 -genpts

このコマンドは文字通りptsを生成することを意味しますが、このパラメーターを追加しないことと同じです。再生時間は、ffplayによって出力される最初のパラメーターです。この穴を埋めるためのソースコードを見たことがありますか? ? ? ? ?

3.4.15 -drp

func:デコーダーにptsを並べ替えさせます0 =オフ1 =オン-1 =自動

例: この穴を埋めるためのソースコードを見たことがありますか? ? ? ? ?

3.4.16 -同期タイプ

func: 「マスタークロックをオーディオ(type=audio)、ビデオ(type=video)、または外部(type=ext)に設定します。デフォルトはオーディオです。マスタークロックは、オーディオとビデオの同期を制御するために使用されます。ほとんどのメディアプレーヤーはオーディオをマスタークロックとして使用しますが、場合によっては(ストリーミングまたは高品質のブロードキャスト)、それを変更する必要があります。このオプションは、主にデバッグ目的で使用されます。」

例: マスタークロックをオーディオクロック(type=audio)、ビデオクロック(type=video)、または外部クロック(type=ext)に設定します。メインクロックは、主にオーディオとビデオの再生の同期を制御するためのものです。ほとんどのプレーヤーはオーディオクロックをメインクロックとして使用しますが、ストリーミングや高品質のブロードキャストなど、他の同期方法が使用される場合もあります。 ffplayの-syncパラメーターは、主にデバッグ目的で使用されます。

3.4.17 -framedrop

func: ビデオが同期していない場合は、ビデオフレームをドロップします。マスタークロックがビデオに設定されていない場合、デフォルトで有効になります。このオプションを使用して、すべてのマスタークロックソースのフレームドロップを有効にし、-noframedropを使用して無効にします。

例: ffplay -i 1.mp4 -framedropオーディオとビデオが同期されていない場合、ビデオフレームはドロップされます。メインクロックがビデオクロックでない場合、この機能はデフォルトで有効になっています。このパラメータの機能は、メインクロックのタイプに関係なく、同期されていないビデオフレームを破棄する機能を有効にすることです。 -noframedropを使用して、オーディオとビデオが同期されていないときにビデオフレームを破棄する機能をオフにすることができます。

3.4.18 -infbuf

func: 入力バッファサイズを制限せず、できるだけ早く入力からできるだけ多くのデータを読み取ります。リアルタイムストリームではデフォルトで有効になっており、時間内に読み取られないとデータがドロップされる可能性があります。このオプションを使用してすべての入力に対して無限バッファーを有効にし、-noinfbufを使用して無効にします。

例: ffplay -i 1.mp4 -infbuf入力バッファのサイズを制限しません。プレーヤーに、できるだけ早くデータを読み取らせます。 rtmp:// ip:port / appname / streamnameなどのリアルタイムストリームを再生する場合、この機能はデフォルトでオンになっています。そうでない場合、データはリアルタイムではないため、取得されたデータは古くなります。捨てる。このオプションを使用すると、各入力バッファー領域を無制限にすることができます。-noinfbufを使用してこの機能をオフにすることができます。 

3.4.19 -find_stream_info

func: ストリームを読み取ってデコードし、不足している情報をヒューリスティックで埋めます

例: ffplay -i 1.mp4 -find_stream_info

このパラメータに変更があるかどうかがわかりませんでした。この穴を埋めるためのソースコードが表示されるのを待ちますか? ? ? ? ?

3.4.20-統計

func: いくつかの再生統計を印刷します。特に、ストリームの継続時間、コーデックパラメータ、ストリーム内の現在の位置、およびオーディオ/ビデオの同期ドリフトを示します。デフォルトでオンになっています。明示的に無効にするには、-nostatsを指定する必要があります。

例: 再生の統計出力、特に表示ストリームの長さ、エンコーダパラメータ、ストリーム内の現在の再生位置、オーディオとビデオの同期オフセット値を印刷します。この機能はデフォルトで有効になっています。閉じた状態で表示する場合は、パラメーター-nostatsを使用します。

4プレイ中のキーコントロールプレイ中

ボタン 効果
q、ESC 終了する。
f フルスクリーン切り替え。
p、SPC 一時停止します。
m ミュートを切り替えます。
9、0 それぞれ音量を下げたり上げたりします。
/、* それぞれ音量を下げたり上げたりします。

現在のプログラムのオーディオチャンネルを循環させます。
v ビデオチャンネルを循環させます。
t

現在のプログラムで字幕チャンネルを循環させます。

c サイクルプログラム。
ビデオフィルターを循環させるか、モードを表示します。
s

次のフレームに進みます。

ストリームがまだ一時停止されていない場合は一時停止し、次のビデオフレームに移動して、一時停止します。

左右 後方/前方に10秒シークします。
アップダウン 後方/前方に1分間シークします。
ページダウン/ページアップ 前/次の章を探してください。またはチャプターがない場合は10分前後にシークします。
マウスの右クリック 幅の端数に対応するファイル内のパーセンテージを求めます。
マウスの左ダブルクリック フルスクリーン切り替え。