ffmpeg com uma entrada de streaming altera a ordem dos canais e índices em diferentes execuções

ffmpeg com uma entrada de streaming altera a ordem dos canais e índices em diferentes execuções

Estamos usando o ffmpeg para pegar um fluxo mpts de terceiros e codificá-lo em um arquivo webm. Agora, toda vez que chamo o ffmpegcomando, recebo um mapa de canais diferente para ele. Por exemplo:

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

e a seguir:

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

ou

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

O que eu preciso é de uma forma fixa para mapear esses canais e codificá-los

informação relacionada