
Estamos usando o ffmpeg para pegar um fluxo mpts de terceiros e codificá-lo em um arquivo webm. Agora, toda vez que chamo o ffmpeg
comando, 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