2011-04-13 4 views
1

Надеюсь, кто-то знает ссылку, чтобы указать мне сюда.Форматы преобразования файлов FFmpeg и расширения файлов

Я конвертирую различные видео и аудио форматы, используя ffmpeg. Я хочу разрешить конвертировать файлы с расширениями файлов, которые поддерживаются ffmpeg. Поддерживаемые форматы можно найти здесь: http://ffmpeg.org/general.html#SEC4

Мой вопрос: есть ли список расширений файлов где-нибудь? Я не хочу проводить исследования для каждого формата, для которого могут быть использованы расширения файлов. Или существует ли безболезненная библиотека распознавания или класс для C# /. NET, которая может сканировать аудио/видеоформат?

+2

Мультимедийные файлы часто * контейнер * файлы, которые могут содержать множество различных возможных * * кодеками. Таким образом, вам иногда приходилось заглядывать в файл, чтобы узнать, какие кодеки используются, конечно. Просто посмотреть на расширение файла не обязательно будет достаточно. –

+0

Ах ладно. Итак, есть (надеюсь, безболезненный) способ распознать кодек внутри контейнера и определить, можно ли его использовать ffmpeg в C# /. NET? – Akku

ответ

1

Если вы вызываете ffmpeg только с входным файлом и никакими другими параметрами, он предоставит вам информацию о содержащихся в нем потоках, если он сможет их прочитать.

ffmpeg -i input.avi 

Смотрите этот ответ о identifying files before encoding.

+0

Спасибо ... что нет программного пути - но это сработает. – Akku

+2

Или посмотрите на ffprobe. Вам все равно нужно скопировать его, но вы можете заставить его также выпустить вывод JSON: http://stackoverflow.com/questions/7708373/get-ffmpeg-information-in-friendly-way –

0

Может вы просто не программно выполнить

ffmpeg -i filename -dframes 0 -vn -aframes 0 dummy.avi 

и читать выход и посмотреть, если он говорит: «неподдерживаемый кодек» или что-то подобное, что в конце концов?

Это кодирует нулевые звуковые кадры и ничего больше в фиктивный файл. На самом деле вам может понадобиться немного настроить параметры, потому что я не уверен, будет ли это проверять, поддерживается ли видеокодек.

Смежные вопросы