FFmpegのコマンドラインパラメータマップは、オーディオとビデオのストリーミングを選択します

FFmpegのコマンドラインパラメータマップは、オーディオとビデオのストリーミングを選択します


入門

  • -mapパラメータは、入力ソースからffmpegの指示出力に流れを、オーディオとビデオの複数のストリームを出力として入力ソースから選択することができます。选择/拷贝stream

  • なし-map選択した各ストリームのビデオストリームとオーディオストリームからのパラメータ、ffmpegのデフォルトの入力ソース。

  • 順次出力ストリームストリーム/ファイルは、コマンドラインに依存-mapパラメータ列。


デフォルトで

デフォルトでは(使用しない-mapなど、パラメータ):

ffmpeg -i 0001.ts -c copy -f mpegts  udp://192.168.1.100&pkt_size=1316

FFmpegは、デフォルトを見つけ、[すべての入力からストリームのビデオ入力を最高品質のストリーミング []と最高品質のオーディオ入力ストリームを ]、UDPおよび出力ストリーム出力ストリームをコピーします。その他の流れは基本的に破棄されます。

コマンドは、上記のコマンドと同様の操作を使用して地図を表示する場合は、次のように、そのコマンドがあります。

ffmpeg -i 0001.ts \
        -map single_highest_quality_video_stream_from_all_inputs \
        -map single_highest_quality_audio_stream_from_all_inputs \
        -c copy -f mpegts  "udp://192.168.1.100:1234?pkt_size=1316"

ここでは、出力は、2つのストリーム、1つのオーディオ、一つのビデオを持っています。


指定された入力ストリームのオーディオおよびビデオストリーム

次のように例では、単一のビデオストリーム、情報の複数のオーディオストリームを0001.ts。

  1. Stream #0:0 ビデオストリーム
  2. Stream #0:1Stream #0:3オーディオストリームです
  3. Stream #0:4 これは、字幕ストリームであります
Input #0, mpegts, from '0001.ts':
  Duration: 00:04:46.23, start: 57251.747478, bitrate: 5861 kb/s
  Program 34 
    Metadata:
      service_name    : Test TV HD
      service_provider: TV5
    Stream #0:0[0x53d]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x53e](THA): Audio: aac_latm (HE-AACv2) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
    Stream #0:2[0x53f](QAA): Audio: aac_latm (HE-AACv2) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
    Stream #0:3[0x540](NAR): Audio: aac_latm (LC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
    Stream #0:4[0x541](tha): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
01あなたはそれに対処する方法を、複数のビデオストリームと複数のオーディオストリームを取るためにすべての方法を指定したい場合は?

次のコマンドを実行します。

-map 0:0 -map 0:2

入力ソースを選択しStream #0:0、ビデオストリームのStream #0:2オーディオストリーム、ビデオとオーディオのストリーミングを出力ストリームUDPに選択した出力をコピー

ffmpeg -i 0001.ts -map 0:0 -map 0:2 -c copy -f mpegts  "udp://192.168.1.100:1234?pkt_size=1316"
02あなたはそれに対処する方法を、単一のビデオストリームとマルチチャンネルオーディオストリームを取る指定したい場合は?

次のコマンドを実行します。

-map 0:0 -map 0:1 -map 0:2 -map 0:3

入力ソースの選択Stream #0:0ビデオストリームをStream #0:0Stream #0:1そしてStream #0:3選択された出力ストリームUDPをコピーするために、3つのオーディオストリーム、オーディオおよびビデオ出力ストリーム

ffmpeg -i 0001.ts -map 0:0 -map 0:1 -map 0:2 -map 0:3 \ 
       -c copy -f mpegts  "udp://192.168.1.100:1234?pkt_size=1316"
03あなたはそれに対処する方法を、すべてのビデオおよびオーディオストリームを取りたい場合は?

次のコマンドを実行します。

-map 0:a -map 0:v

すべての入力ソースと全てのオーディオビデオストリームを選択し、ストリームUDPにすべてのオーディオおよびビデオ出力ストリームをコピーします

ffmpeg -i 0001.ts -map 0:a -map 0:v -c copy -f mpegts  "udp://192.168.1.100:1234?pkt_size=1316"
04あなたはそれに対処する方法、(字幕ストリームなどを含む)すべてのストリームを取りたい場合は?

次のコマンドを実行します。

-map 0

すべてのストリームの入力ソース、すべてのUDPストリームをコピーするためのストリームを選択

ffmpeg -i 0001.ts -map 0 -c copy -f mpegts  "udp://192.168.1.100:1234?pkt_size=1316"

オーディオとビデオの符号化フォーマットの複数のストリームに指定された入力ストリーム

複数のビデオ入力ソースや複数のオーディオストリームを扱うときに時々、さまざまなオーディオおよびビデオストリーミングのための異なる符号化処理を行いたいです

次のコマンドを実行します。

  • Stream #0:0ビデオストリームは、重複したコピーであります
  • オーディオストリームコピーのレプリケーションStream #0:1Stream #0:2
  • Stream #0:2オーディオストリームは、符号化されたMP3形式(128kbpsの)であります
  • Stream #0:4字幕ストリームのコピーのコピー
fffmpeg -i 0001.ts -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 \
        - c:v copy \
        - c:a:0 copy \
        - c:a:1 copy \
        - c:a:2 libmp3lame -b:a:2 128k \
        - c:s copy \
        -f mpegts  "udp://192.168.1.100:1234?pkt_size=1316"

おすすめ

転載: www.cnblogs.com/xiaolincoding/p/11367442.html