У меня есть куча файлов webm
. Большинство из них в порядке (видео + аудио поток). Некоторые из них так или иначе имеют 2 потока, но аудиопоток составляет 0 кб. Файлы пришли с медиасервера, поэтому я не могу это изменить.
Я много работаю с этими файлами (обрезка, масштабирование видео, слияние и т.д.) С помощью скрипта. Но эти файлы вызывают ошибки. Пример (упрощенная команда без фильтров, связанных с видео):
ffmpeg -y -i file1.webm -i file2.webm -filter_complex "[0:a][1:a]amerge[a]" -map "[a]" -ac 2 output.opus
Файл file1.webm
имеет пустой аудиопоток, file2.webm
имеет нормальный аудиопоток. Файл output.opus
пуст и имеет размер 137 байт.
Выходная команда:https://pastebin.com/57BMDGWU. Содержит следующие связанные сообщения:
[Parsed_amerge_0 @ 0x42ec380] Нет макета канала для входа 1
[Parsed_amerge_0 @ 0x42ec380] Схемы входных каналов перекрываются: схема выходных данных будет определяться количеством различных входных каналов
ffprobe показывает, что есть поток:ffprobe -i file1.webm -show_streams -select_streams a -loglevel error
https://pastebin.com/VR9EV0xm
Вопрос в том, что если есть пустой аудиопоток, как ... проигнорировать его и получить непустые потоки для вывода?