Mam kilka webmplików. Większość z nich jest w porządku (strumień wideo + audio). Niektóre z nich mają w jakiś sposób 2 strumienie, ale strumień audio ma 0 kb. Pliki pochodzą z serwera multimediów, więc nie mogę tego zmienić.

Dużo pracuję z tymi plikami (przycinanie, skalowanie wideo, scalanie itp.) Za pomocą skryptu. Ale te pliki powodują błędy. Przykład (uproszczone polecenie bez filtrów związanych z wideo):

ffmpeg -y -i file1.webm -i file2.webm -filter_complex "[0:a][1:a]amerge[a]" -map "[a]" -ac 2 output.opus

Plik file1.webmma pusty strumień audio, file2.webmma normalny strumień audio. Plik output.opusjest pusty i ma rozmiar 137 bajtów. Polecenie wyjściowe to https://pastebin.com/57BMDGWU Zawiera następujące powiązane komunikaty:

[Parsed_amerge_0 @ 0x42ec380] Brak układu kanału dla wejścia 1

[Parsed_amerge_0 @ 0x42ec380] Układy kanałów wejściowych pokrywają się: układ wyjściowy będzie określony przez liczbę różnych kanałów wejściowych

ffprobe pokazuje, że jest strumień: ffprobe -i file1.webm -show_streams -select_streams a -loglevel error https://pastebin.com/VR9EV0xm

Pytanie brzmi: jeśli jest pusty strumień audio, jak go zignorować i uzyskać niepuste strumienie do wyjścia?

owocowość
źródło