具有流輸入的 ffmpeg 在不同執行時會變更通道順序和索引

具有流輸入的 ffmpeg 在不同執行時會變更通道順序和索引

我們使用 ffmpeg 來取得第 3 方的 mpts 流並將其編碼為 webm 檔案。現在,每次我呼叫該ffmpeg命令時,我都會得到不同的頻道地圖。例如:

Input #0, mpegts, from 'udp:/.......?fifo_size=1000000&overrun_nonfatal=1':   Duration: N/A, start: 37447.088000, bitrate: 1617 kb/s   Program 1
    Stream #0:0[0x1e00]: Video: mpeg2video ([2][0][0][0] / 0x0002), 90k tbr, 90k tbn, 90k tbc
    Stream #0:1[0x1020](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:2[0x1021](spa): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:3[0x10c0]: Unknown: none ([134][0][0][0] / 0x0086)   No Program
    Stream #0:4[0x1fff]: Audio: aac, stereo, fltp, 1233 kb/s

接下來:

Input #0, mpegts, from 'udp://@....?fifo_size=1000000&overrun_nonfatal=1':
  Duration: N/A, start: 36871.760000, bitrate: 384 kb/s
    Stream #0:0[0x1fff]: Unknown: none
    Stream #0:1[0x1021]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:2[0x1020]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:3[0x1e00]: Video: mpeg2video, 90k tbr, 90k tbn

或者

Input #0, mpegts, from 'udp://@....?fifo_size=1000000&overrun_nonfat                                         al=1':
  Duration: N/A, start: 36861.712000, bitrate: 384 kb/s
  Program 1
  No Program
    Stream #0:0[0x1fff]: Audio: mp3, 0 channels, s16p
    Stream #0:1[0x1021]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:2[0x1020]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:3[0x1e00]: Video: mpeg2video, 59.94 tbr, 90k tbn

我需要的是一種固定的方式來映射這些通道並對它們進行編碼

相關內容