FFmpeg + iPhone - Интересные (неправильные?) Результаты кодирования видео - PullRequest
1 голос
/ 12 мая 2010

Я кодирую некоторое видео на iPhone, пропустив данные изображения png через swscale, чтобы получить данные YUV420P, а затем кодирую этот кадр с помощью кодека MSMPEG4V1. В документации API avcodec_encode_video должен возвращать количество байтов, использованных из выходного буфера этой операцией кодирования. В кодировщик входит 234 000 байт, но результат, возвращаемый avcodec_encode_video, равен просто «4». Результат точно такой же за 24 кадра. Здесь что-то кажется подозрительным ... какое-то понимание?

Вот ссылка на код для вставки:

http://pastebin.com/ht94FWva

(извините за ссылку вдали от SO, я просто не хотел дублировать код в нескольких местах)

EDIT:

Кроме того, я настроил настраиваемый обратный вызов журнала для использования ffmpeg, и для меня задан уровень журнала "Verbose" (libavutil / log.h), поэтому libavcodec должен регистрировать любые ошибки на консоли, но avcodec тихо во время всей операции. (примечание: я проверил, чтобы убедиться, что мой обратный вызов журнала работает)

1 Ответ

0 голосов
/ 12 мая 2010

Может быть связано с кодеком. Я переключил его с кодека MSMPEG4V1 на MPEG1VIDEO, и avcodec_encode_video возвращает значения, которые немного больше соответствуют ожиданиям.

...