FAQ:エンコーダ用のFFplayでレイテンシーを減らす
FFplayでレイテンシーを短縮するためのステップバイステップガイド
__email0__ 1. FFmpegとFFplayをインストールする
FFmpeg (FFplay を含む) がシステムにインストールされていることを確認します。 インストールされているかどうかを確認できます:
- ffplay -バージョン
インストールされていない場合は、FFmpegをダウンロードしてインストールできます。公式サイトまたは、次のようなパッケージマネージャを使用しますアプト
またはブルー
あなたのオペレーティングシステムに基づいています。 __email0__ 2. RTSPストリームでFFplayを開く
まず、RTSPストリームURLでFFplayを実行します。
- ffplay rtsp://192。168。__email0__ 1.120:554/ライブ/1_0
交換するrtsp://192 です。168。__email0__ 1.120:554/ライブ/1_0ビデオエンコーダの実際のRtsp urlを使用します。
__email0__ 3. バッファーのサイズを調節して下さい
デフォルトのバッファサイズを縮小して、遅延を最小限に抑えます。 -rtsp_transp フラグを使用して、トランスポート プロトコル (TCP または UDP) を選択します。 UDPは通常、レイテンシーを低下させます。
例コマンド__email0__ :
- ffplay -rtsp_transport udp -fflags nobuffer -分析 0 -probesize 32 rtsp://192.168。__email0__ 1.120:554/ライブ/1_0
説明__email0__ :
- -rtsp_transp udp: Udp トランスポートを強制します。これは一般的に tcp よりもレイテンシーが低いです。
- -fflagsノーバッファ: バッファリングを無効にしてレイテンシーを減らします。
- 分析 0: FFplayがストリームの分析に費やす時間を制限し、再生をより迅速に開始するのに役立ちます。
- -プロベーズ 32: ストリームをプローブするために使用されるデータの量を制限し、レイテンシーも短縮します。
4. ビデオ出力遅延を調整する
-sync フラグを使用して、ビデオの同期を調整します。 ビデオに設定すると、FFplayはビデオストリームと同期するよう強制され、レイテンシを短縮するのに役立ちます。
例コマンド__email0__ :
- ffplay -rtsp_transport udp -fflags nobuffer -分析 0 -probesize 32 -sync ビデオ rtsp://192.168。__email0__ 1.120:554/ライブ/1_0
__email0__ 5. ビデオおよびオーディオバッファリングを削減
-vn (ビデオなし) でオーディオ再生を無効または最小限に抑えるか、テストにオーディオが必要でない場合は -an (オーディオなし) を使用してオーディオバッファサイズを調整します。
例__email0__ :
- ffplay -rtsp_transport udp -fflags nobuffer -分析 0 -probesize 32 -sync ビデオ -rtsp://192。168。__email0__ 1.120:554/ライブ/1_0
__email0__ 6. 微調整デコードオプション
デコードパフォーマンスを最適化し、レイテンシーを最小限に抑えるためのオプションを追加します。 例えば:
- ffplay -rtsp_transport udp -fflags nobuffer -分析 0 -probesize 32 -同期ビデオ -an -flags low_delay rtsp://192。168。__email0__ 1.120:554/ライブ/1_0
__email0__ 7. 追加の最適化(オプション)
-x と -y フラグを使用してビデオウィンドウのサイズを指定し、フレームを十分に迅速に処理できない場合は -framedrop フレームを破棄することでさらに調整できます。
- ffplay -rtsp_transport udp -fflags nobuffer -分析 0 -probize 32 -同期ビデオ -an -framedrop -flags low_delay -x 640 -y 360 rtsp://192.168。__email0__ 1.120:554/ライブ/1_0
説明__email0__ :
-フレームドロップ
: システムがデコードについていけないときにフレームを落とし、バッファリングを減らします。
- -x 640 -y 360: ビデオを再生する解像度を指定し、デコードワークロードを軽減します。
最終コマンド例
- ffplay -rtsp_transport udp -fflags nobuffer -分析 0 -probize 32 -同期ビデオ -an -framedrop -flags low_delay -x 640 -y 360 rtsp://192.168。__email0__ 1.120:554/ライブ/1_0
__email0__ 8. モニターレイテンシー
セットアップ後、再生を監視してレイテンシの減少を観察します。 FFprobeなどのツールを使用して、ストリームの詳細を検査することでリアルタイムでレイテンシーを測定できます。
ストリームの統計をチェックするためのFFprobeコマンドの例__email0__ :
- ffprobe -v 静かな -print_format json -show_streams rts://192。168。__email0__ 1.120:554/ライブ/1_0
上記のコマンドを使用し、さまざまなフラグを微調整することで、ビデオエンコーダからRtspストリームをテストする際のレイテンシーを効果的に短縮できます。
FFplayでレイテンシーをさらに短縮するためのステップバイステップガイド
提供された指示に従った後にレイテンシーが増加している場合は、それが起こっている理由はいくつかある可能性があります。 ここにいくつかの潜在的な原因とそれらに対処する方法があります:
__email0__ 1. バッファリング設定(不適切なバッファ調整)
ザ・-fflagsノーバッファflag はバッファリングを最小限に抑えることを意図していますが、特にネットワーク条件が理想的でない場合、不安定性やレイテンシの増加につながる可能性があります。 FFplayは、十分なバッファなしでフレームをスムーズに処理するのに苦労し、再生に追加の遅延を引き起こす可能性があります。
ソリューションバッファリング戦略を調整してみてください。 バッファリングを完全に無効にする代わりに、より保守的なバッファ設定を使用するか、バッファリングを削除できます。-fflagsノーバッファフラグ:
- ffplay -rtsp_transport udp -分析 0 -probesize 32 -sync ビデオ rtsp://192。168。__email0__ 1.120:554/ライブ/1_0
__email0__ 2. RTSPトランスポートプロトコル(UDP対TCP)
に切り替えるUdpについて通常、Rtspストリーミングの tcp よりも高速ですが、特定のネットワーク条件下ではパケットの損失やジッタが発生し、デコーダが処理を遅らせる可能性があります。 ネットワークが安定していない場合は、UdpについてFFplay が紛失または破損したパケットを補償しようとするため、不注意にレイテンシーを増やす可能性があります。
ソリューション: テスト withTcpについてレイテンシーが改善するかどうかを確認します。 使用する-rtsp_transp トランスポートTcp を強制するフラグ:
ffplay -rtsp_transport tcp -分析 0 -probesize 32 -sync ビデオ rtsp://192.168。__email0__ 1.120:554/ライブ/1_0
__email0__ 3. フレームドロップ
ザ・-フレームドロップflag は FFplay にフレームを時間内にデコードできない場合は破棄するように指示します。これはレイテンシーを短縮するはずです。 ただし、フレームが多すぎると、FFplayが回復して再同期するのに時間がかかる可能性があるため、遅延が増える可能性があります。
ソリューション: フレームのドロップが過剰な場合は、-フレームドロップフラッグを付けるか、または影響を減らして下さい:
- ffplay -rtsp_transport udp -分析 0 -probesize 32 -sync ビデオ rtsp://192。168。__email0__ 1.120:554/ライブ/1_0
あるいは、-framedropの動作を調整して、遅延を軽減するのに役立つかどうかを確認することもできます。
- ffplay -framedrop 0 -rtsp_transport udp -分析 0 -probesize 32 -sync ビデオ rtsp://192。168。__email0__ 1.120:554/ライブ/1_0
4. ネットワーク条件とジッター
ザ・Udpについてトランスポートは、高遅延または不安定なネットワークでは理想的ではない場合があります。 Udp はパケット配信を保証するものではなく、クライアント側のジッターやバッファリングの遅延につながる可能性があります。 udpは完璧なネットワーク条件でレイテンシーを短縮できますが、ネットワークの不安定性や混雑がある場合により多くの問題を引き起こすことがよくあります。
ソリューション: 安定した混雑の少ないネットワークでテストするか、または元に戻りますTcpについてお使いのネットワークに大きなジッターまたはパケットの損失がある場合。
__email0__ 5. デコーダーの積み過ぎ
もしフラッグ low_delayフラグは大規模なビデオストリームやより高い解像度とともに使用され、FFplayがフレームをあまりにも速くデコードしようとするデコーダオーバーロードにつながる可能性があります。
ソリューション: ビデオの解像度を下げて、デコーダの負荷を軽減したり、問題を引き起こした場合は遅延フラグをオフにします。
- ffplay -rtsp_transport udp -分析 0 -probesize 32 -sync ビデオ -an rtsp://192.168。__email0__ 1.120:554/ライブ/1_0
__email0__ 6. 過剰な分析と探査
フラグ分析 0そして-プロベーズ 32これは、FFplay がストリームと初期パケットプローブのサイズを分析するのに費やす時間を制限することを目的としており、起動をスピードアップするはずです。 ただし、これらの値が制限されすぎると、FFplayは不完全な情報で動作し、欠落したデータから回復しようとする際に同期遅延または全体的なレイテンシが増加する可能性があります。
ソリューション: 増やす-分析そして-プロベイズFFplay がレイテンシーを大幅に増やすことなく、起動中により多くのデータを収集できるようにする値をわずかに使用します。
- ffplay -rtsp_transport udp -分析 5000000 -probesize 50000 -sync ビデオ rtsp://192。168。__email0__ 1.120:554/ライブ/1_0
__email0__ 7. ビデオ同期モード
ザ・-同期ビデオflag は FFplay にビデオ フレームを正確に同期するように指示し、次のフレームを待つ必要があるときに遅延を引き起こす可能性があります。 エンコーダの出力フレームレートが FFplay の同期期待とよく一致しない場合、不要な遅延につながる可能性があります。
ソリューション: 同期で実験できます。オーディオまたはタイムスタンプ動画より:
- ffplay -rtsp_transport udp -分析 0 -probesize 32 -同期オーディオ rtsp://192。168。__email0__ 1.120:554/ライブ/1_0
あるいは、-sync フラグを完全に削除することで、次のように役立ちます。
- ffplay -rtsp_transport udp -分析 0 -probesize 32 rtsp://192.168。__email0__ 1.120:554/ライブ/1_0
結論:
レイテンシーを短縮するには、バッファリング戦略、トランスポートプロトコル、およびデコード設定のバランスをとることを実験します。 Udpは通常、より低いレイテンシーを提供しますが、安定したネットワークが必要ですが、ネットワーク品質が一貫性がない場合はtcpがより信頼性が高い場合があります。 バッファサイズ、プロービング挙動、フレームドロップ設定の調整も、過度のレイテンシーを軽減するのに役立ちます。 特定のユースケースに最適なセットアップを見つけるために、さまざまな構成をテストし続けます。
Related Articles
Faq:エンコーダの概要
何をするのか1920*1080P@30hzの平均か。 Guiに1920*1080p@30hzが表示されている場合は、おそらくhdmi信号を検出できませんでした。 hdmi信号を検出できない場合は、次の手順を実行します。 hdmiケーブルが適切に接続され、必要な要件を満たしていることを確認すると、hdmi信号の出力解像度を確認および調整することで、検出の問題を解決することがよくあります。 ケーブルと解像度をチェックしても Hdmi 検出の問題が続く場合は、拡張表示識別データ (edid) ...
Faq:エンコーダのrtspプッシュ
WowzaビデオへのRTSPプッシュとは何ですか? WowzaビデオへのRTSPプッシュとは、リアルタイムストリーミングプロトコル(RTSP)を使用してライブビデオソフトウェアにライブビデオをストリーミングする機能を指します。 これにより、ライブビデオの送信が可能になり、視聴者のシームレスな再生が保証されます。 さらに、この機能は、以前のものと比較してより高い効率と向上したビデオ品質を提供するビデオ圧縮標準であるH.265の使用をサポートしています。 ...
Faq:エンコーダのプレビュー
H.265 プレビュー 「ブラックスクリーン」の問題に対処するにはどうすればよいですか? Hのサポートが不足しているため、ブラウザでライブビデオをプレビューしようとするときの黒い画面の問題に対処します。Flashでは、次のオプションを検討できます。 代替ビデオプレーヤーの使用Flashに依存する代わりに、Hをサポートする代替ビデオプレーヤーの使用を検討してください。265 エンコーディング ...
Faq:エンコーダのメンテナンス/アップグレード
Ui経由でファームウェアを直接アップグレードできますか? エンコーダのユーザーインターフェイス(Ui)を介してファームウェアを直接アップグレードすることは、一般的に推奨されませんそのため、プロセスに関連する潜在的なリスク。 ファームウェアのアップグレードは、デバイスの機能と安定性に大きな影響を与える可能性があり、アップグレードの不適切な実行は、デバイスの不安定性、誤動作、さらには永続的な損傷につながる可能性があります。 ...
FAQ:エンコーダのUart送信
ミニエンコーダボードとの透明な通信にUart送信を活用するにはどうすればよいですか? ダウンロードできる指定されたカーネルをアップグレードするKNGK_V0.00.221008_UartTransmit 特定のテストツールをダウンロード シリアルポートツールパッケージによる透明伝送ここに記載のCookieを拒否したい場合で、ブラウザーの設定などから直接拒否できない場合は、 までお問い合わせください。 次に、以下の指示に従ってください。 ...