С помощью ffmpeg конвертировать файл из одного формата в другой

Я новичок в ffmpeg и пытался узнать, как преобразовать аудио- или видеофайл из одного формата в другой. Я не хочу использовать CLI, я просто хочу знать, могу ли я использовать ffmpeg в качестве библиотеки и вызвать функцию для преобразования файла из одного формата в другой. Я просмотрел документацию и нашел функции avcodec_encode_audio и avcodec_encode_video, но не ясно, как я могу использовать это для преобразования. Учебник или пример будут очень полезны.


person Pannu    schedule 10.11.2011    source источник


Ответы (1)


обычно я делаю это через командную строку

ffmpeg -i input.mp4 -vcodec copy -acodec copy out.mkv

здесь файл i/p - это input.mp4, который будет преобразован в out.mkv с тем же кодеком, что и для всего элементарного потока.

ПРИМЕЧАНИЕ: команда upper будет работать только в том случае, если все кодеки input.mp4 будут поддерживаться контейнером .mkv.

и если вас не интересует кодек, используйте

 ffmpeg -i input.mp4 out.mkv

это преобразует mp4 в mkv (при необходимости он также изменит кодек выходного формата)

person Jeegar Patel    schedule 10.11.2011
comment
Это CLI интерфейс командной строки для преобразования ;) Я планирую вызвать функцию, определенную в ffmpeg библиотеке, из моей программы, если это возможно. - person Pannu; 10.11.2011
comment
эй, хороший ответ .. однако я не уверен, как решить эту штуку кодека .. обычно я не указываю формат кодека (т.е. я просто делаю ffmpeg -i inputFile outputFile, однако теперь, когда я конвертирую из mp4 в mp3 .. я я получаю эту ошибку: Encoder (codec none) not found for output stream #0:0.. см. полный журнал команд и ошибок здесь - person abbood; 29.11.2013
comment
@abbood спасибо, чувак .. Прошло 2 года с тех пор, как я работал над ffmpeg. так что не знаю много сейчас подробно, но кажется, что библиотека кодека, поддерживаемая форматом контейнера outputFile, не установлена ​​или не поддерживается в вашем ffmpeg, поэтому необходимо установить это или указать имя поддерживаемого кодека для кодирования потока с помощью CLI - person Jeegar Patel; 01.12.2013