Добавление аудиоканала с помощью ffmpeg - PullRequest
6 голосов
/ 04 марта 2010

Я работаю над ffmpeg и пытаюсь добавить аудиопоток на лету. Я использую AudioQueues и получаю необработанный аудио буфер. Я кодирую аудио с помощью линейного PCM, и, следовательно, полученное мной аудио будет в необработанном формате, который, я знаю, ffmpeg его принимает. Но я не могу понять, как. Я посмотрел в AVStream, где нам нужно создать новый поток для этого аудиоканала, но как мне кодировать его в видео, которое уже инициализировано в другой структуре AVStream.

В целом, я хотел бы иметь представление об архитектуре ffmpeg. Мне было трудно работать, поскольку это наименее задокументировано. Любые указатели или детали приветствуются.

Спасибо и С уважением, Радж Паван Г

1 Ответ

2 голосов
/ 08 марта 2010

Если вы хотите использовать java, вы найдете гораздо лучше документированную оболочку API для FFmpeg с Xuggler .

Тем не менее, FFmpeg может поддерживать Raw PCM, но все контейнеры могут его содержать. используйте кодеки PCM (см. avcodec.h) и найдите тот, который имеет нужный размер и атрибуты, которые вы хотите. Чтобы добавить аудио в тот же контейнер, найдите объект AVFormatContext, который вы используете для существующего видеопотока, и используйте av_new_stream (...) для добавления нового потока. Затем подключите ваш кодер PCM, кодируйте его и запишите получившиеся пакеты. См. Output_example.c в FFmpeg для примеров этого API в действии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...