ffmpeg mit einem Streaming-Eingang ändern Kanäle Reihenfolge und Indizes auf verschiedene Ausführung

ffmpeg mit einem Streaming-Eingang ändern Kanäle Reihenfolge und Indizes auf verschiedene Ausführung

Wir verwenden ffmpeg, um einen MPTS-Stream von einem Drittanbieter zu übernehmen und ihn in eine WebM-Datei zu kodieren. Jetzt ffmpegerhalte ich jedes Mal, wenn ich den Befehl aufrufe, eine andere Kanalzuordnung dafür. Beispiel:

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

und als nächstes:

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

oder

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

Was ich brauche, ist eine feste Methode, um diese Kanäle abzubilden und zu kodieren

verwandte Informationen