指示
1. コマンド ffmpeg -framerate 25 -f v4l2 -i /dev/video4 Recording1.mp4 によるビデオ録画は失敗しました。ffmpeg の公式ドキュメントによると、-r と -framerate は同じ機能を持っていますが、実際のテストでは異なることが示されています。-framerate は入力を制限するために使用され、-r は出力を制限するために使用されます。
2. ffmpeg -r 25 -f v4l2 -i /dev/video4 Recording1.mp4 コマンドを使用してビデオを録画できますが、フレーム エラーやフレームの繰り返しなどの問題が発生します。
3. ffmpeg -f v4l2 -r 25 -thread_queue_size 128 -i /dev/video4 -vcodec libx264 -b:v 800k-preset Ultrafast Recording1.mp4 を使用して、デュアル カメラ ビデオ録画を同時に実現します。
パラメータの説明:
⚫ -f 出力形式を設定します。出力形式は v412 フレームです
(前に見つけたコマンドはすべて、iOS、macOS、watchOS、tvOS でマルチメディア データを処理するためのフル機能のフレームワークである avfoundation フレームワークを使用します。この中で使用される v412 フレームワークコマンドは、Linux カーネルのビデオ デバイス ドライバー用のフレームワークであり、アプリケーション層に統一インターフェイスを提供し、さまざまな複雑なハードウェアの柔軟な拡張をサポートします。
⚫ -r フレーム レートを設定します。フレーム レートを 25fbs に設定します。
⚫ -thread_queue_size
(thread_queue_size は、その後に指定された最初の入力に適用されます。「thread_queue_size」という用語はすべての入力に適用でき、アプリケーション レベルで決定されます。待機中にその入力からのパケットの数をキューに入れることができます。 ffmpeg は、メイン スレッドでそれらを受信して処理します。いくつかのキャプチャ デバイス (主に dshow) は、受信フレームがその入力のアプリケーション レベルのキューに転送されるのを待機している間、「rtbufsize」を使用して格納します。これら 2 つのオプションは調整されませんもう一方の値なので、手動で設定する必要があります。デフォルトは 8 です。一般的な警告: スレッド メッセージ キューのブロック。thread_queue_size オプションを上げることを検討してください (現在の値: 8)。この問題を解決するには、公式の説明: このオプションは次のように設定します。ファイルまたはデバイスからの読み取り時にキューに入れられるパケットの最大数 (低遅延/高レートのリアルタイム ストリームでは、パケットがタイムリーに読み取られないとドロップされる可能性があります。この値を増やすことでこれを防ぎます)。
⚫ -i 入力ストリームを設定、ビデオからの入力を設定4
⚫ -vcodec ビデオエンコーダを設定します。(-vcodec と-codec:v の値は同じです)
エンコーダは、特定のエンコード形式を実装するライブラリ ファイルです。特定の形式でのビデオ/オーディオのエンコードとデコードは、その形式のエンコーダがインストールされている場合にのみ実現できます。
FFmpeg の組み込みビデオ エンコーダの一部を次に示します。
- libx264: 最も人気のあるオープンソース H.264 エンコーダー
- NVENC: NVIDIA GPU ベースの H.264 エンコーダー
- libx265: オープンソース HEVC エンコーダー
- libvpx: Google の VP8 および VP9 エンコーダ
- libaom:AV1 エンコーダ
⚫ -B:v ビデオビットレート
⚫ -preset は出力ビデオの品質を指定します。これはファイルの生成速度に影響します。次の値が使用可能です。
超高速、超高速、超高速、高速、高速、中、低速、低速、超低速、プラセボ 高速から低速まで、超高速のトランスコーディング レートが最も速く、ビデオが最もぼやけることがよくあります。
⚫ Recording1.mp4 出力ビデオの名前とファイル タイプ ffmpeg-formats を使用して、ffmpeg でサポートされているすべてのファイル タイプを取得できます。ファイルの前の注釈は次のとおりです。
D.=多重化をサポート(ビデオ/オーディオのカプセル化をサポート)
.E=多重化をサポート(ビデオ/オーディオのカプセル化解除をサポート)
方法:
ソフトウェア:
⚫Ubuntu:
1.開発ボードのネットワーキング
2. sudo apt-gat update は apt-gat を最新バージョンにアップグレードします (オプション)
3. sudo apt-get install ffmpeg は apt-gat を使用して ffmpeg を取得します
4. 関連するコマンドを入力します
ハードウェア:
Forlinx 自作のアナログ カメラ モジュールを接続して 2 台のカメラをサポートします。Video4 ~ 7 は TVIN によって生成されたノードで、左上が video7 に対応し、左下が video6 に対応し、右下が video5 に対応し、右上が video4 に対応します。実際の状況に応じて選択してください。
元は www.forlinx.net で公開されています。