ffmpeg と ffplay のコマンドラインオプション

このページでは、DekTec が追加した『ffmpeg』および『ffplay』のコマンドラインオプションについて詳しく説明します。
これらのオプションは、DekTec デバイスを使用したリアルタイムの入出力を容易にするために設計されており、また .sdi ファイルフォーマットのサポートも提供します。
これらは、ffmpeg ffplay がもともと提供している幅広いオプションを補完するものです。

DekTec デバイスを介した入出力

DekTec デバイスからのリアルタイムストリームを扱う際、または DekTec デバイスへストリームを送る際に FFmpeg コマンド(ffmpeg または ffplay)を使用する場合は、以下のオプション構成に従ってください。

〇 入力の場合:

ffmpeg|ffplay [<ffmpeg_args>] [<dektec_args>] -f dektec -i <serial>[:<port>]

これは、指定されたシリアル番号およびオプションでポートを持つ DekTec デバイスを入力ソースとして設定します。ポートが指定されていない場合は、デフォルトでポート 1 が使用されます。

 

〇 出力の場合:

ffmpeg [<ffmpeg_args>] [<dektec_args>] -f dektec <serial>[:<port>]

これは、指定されたシリアル番号およびオプションのポートを持つ DekTec デバイスを出力ストリームの送信先として指定します。
ポートが省略された場合は、デフォルトでポート 1 が使用されます。

主なオプション

  • -f dektec(入力/出力)
    ‘ffmpeg’ または ‘ffplay’ に対して、明示的に DekTec デバイスを入力または出力に使用するよう指示します。

  • -i <serial>[:<port>](入力)
    入力ストリームを提供する DekTec デバイスのシリアル番号とオプションのポートを設定します。ポートが指定されていない場合は、デフォルトでポート 1 が使用されます。

  • <serial>[:<port>](出力)
    出力ストリームを受け取る DekTec デバイスのシリアル番号とオプションのポートを設定します。ポートが指定されていない場合は、デフォルトでポート 1 が使用されます。

  • -url:<stream> <url>(入力/出力)
    動画(‘v’)または音声(‘a’)ストリームの URL を指定します。

SMPTE 2110 オプション

  • -aspp <num>(音声出力)
    1つのRTPパケットあたりの音声サンプル数を設定します。デフォルトは48です。最小値は1で、最大値は音声の特性によって異なります。一般的な値は6および48です。
  • -bps <bits>(音声入力)
    1サンプルあたりの音声のビット深度を指定します。指定可能な値は16および24です。
  • -n_channels <num>(音声入力)
    音声チャンネル数を指定します。指定可能な範囲は1~64です。
  • -pf <pixel_format>(映像出力)
    ピクセルフォーマットを指定します。デフォルトはautoです。他に指定可能な値は8および10です。入力映像のピクセルフォーマットがこの指定と一致しない場合は、自動で変換されます。
  • -pm <mode>(映像出力)
    SMPTE 2110 のパッキングモードを設定します。指定可能な値はblock、line、generalです。デフォルトはblockです。
  • -ps <bytes>(音声/映像出力)
    RTPペイロードのサイズをバイト単位で指定します。デフォルトは-1で、この場合はRTPパケットのサイズが自動的に決定されます。指定可能な範囲は1~1440です。
  • -pt <type>(音声/映像出力)
    RTPペイロードタイプを指定します。デフォルトは96です。指定可能な範囲は96~127です。
  • -sample_rate <rate>(音声入力)
    音声のサンプリングレートを指定します。指定可能な値は32000、44100、48000、96000です。
  • -sch <mode>(映像出力)
    SMPTE 2110 のスケジューリングモードを設定します。指定可能な値はgappedおよびlinearです。デフォルトはgappedです。

SDI オプション

  • -calc_crc <0|1>(.sdi ファイル出力)
    .sdi 出力ファイルの各 SDI ラインに対する CRC チェックサムの計算を有効(‘1’)または無効(‘0’)にします。デフォルトは ‘1’ です。無効にすると(‘0’)、ffmpeg の処理速度が向上する場合があります。
    DekTec SDI 出力デバイスを使用する場合、ライン CRC は自動的に計算されます。

コマンドライン例

MPEG-2 トランスポートストリームファイル input.ts から最初のサービスの映像と音声をデコードします。
その後、非圧縮の映像と音声を SMPTE 2110 ストリームとして DTA-2110 デバイス経由で出力し、指定されたマルチキャスト URL をターゲットにします。

ffmpeg -i input.ts -url:v 239.0.0.5:5678 -url:a 239.0.0.6:5680 \
-f dektec 211000054

 

DekTec の FFmpeg 拡張機能によって映像パラメータの自動検出を有効にし、DTA-2110 デバイス経由で SMPTE 2110 映像ストリームを受信・表示します。

ffplay -url:v 239.0.0.5:5678 -f dektec -i 2110000054

 

DTA-2110 デバイス経由で SMPTE 2110 の映像および音声ストリームを受信し、映像はウィンドウに表示、音声はコンピューターの音声出力から再生します。DekTec の FFmpeg 拡張機能が映像と音声のフォーマットを自動的に検出します。

ffplay -url:v 239.0.0.5:5678 -url:a 239.0.0.5:5680 -f dektec -i 2110000054

 

DTA-2110 デバイス経由で SMPTE 2110 の音声のみのストリームを受信し、システムのデフォルト音声出力から再生します。
この例では、コマンドラインで音声フォーマットを直接指定することで自動検出を無効にしています。

ffplay -url:a 239.0.0.5:5680 -sample_rate 48000 -bps 24 -n_channels 2 \
-f dektec -i 2110000054

 

トランスポートストリームファイルをデコードし、DTA-2178 デバイスのポート 3 を介してリアルタイム SDI ストリームとして出力します。

ffmpeg -i input.ts -f dektec -i 2178000024:3

 

DTA-2178 デバイスのポート 1 を介してリアルタイム SDI ストリームを受信し、映像はウィンドウに表示、音声はシステムのデフォルト音声出力から再生します。

ffplay -f dektec -i 2178000024:1

 

MPEG トランスポートストリームの最初のサービスの映像と音声をデコードし、SDI 形式に変換して .sdi ファイルとして出力を保存します。

ffmpeg -i input.ts output.sdi

 

.sdi ファイルを読み込み、映像をウィンドウに表示し、音声をシステムのデフォルト音声出力から再生します。。

ffplay input.sdi

お問い合わせ/Contact us