2014-01-09 4 views
-1

у меня есть ниже вопросы, касающиеся андроида реализацииEncode RGB565 необработанных данных с использованием FFmpeg libx264 для андроид

  1. Как различные видео кодеки особенно отличаются `, которые основаны поток и которые являются кадр на основе»

  2. В течение многих форумы и вопросы, все говорят SPS, PPS и т. д., поэтому, когда я могу найти достаточно подробностей о кодеке (скажите, пожалуйста, о чем-то, кроме документов RFC!), чтобы понять это и использовать ffmpeg соответствующим образом?

  3. От this Возможно ли использовать встроенные устройства HW Decoders od android? Если да, то как? Нужно ли использовать OpenMax-IL (или AL или DL, я имею в виду, для чего?)

  4. Поддерживает ли ffmpeg кодировку H264 входных данных RGB (или RGBA) или RGB565 (или RGB555) через libx264?

  5. Если мне нужно только кодирование h264 & декодирование, могу ли я использовать libx264 без ffmpeg? Если да, то какой-нибудь образец/руководство?

ответ

2

1) Это, скорее всего, относится к формату элементарного потока. Некоторые кодеки, такие как mp3, создают «поток», который не требует (но, возможно, все еще может содержаться) отдельного контейнера (например, mp4). Другие кодеки требуют отдельного контейнера. AVC делает оба. Формат AVCC требует наличия контейнера (вместе с заголовком последовательности, содержащим SPS/PPS). В то время как доза приложения в формате приложения не требует контейнера. см. здесь:

2) SPS и PPS являются в основном заголовками. Они содержат информацию о том, что декодер h.264 необходимо инициализировать (например, параметры сжатия и разрешение видео)

3) Это зависит от устройства, но да. вы можете использовать декодер. Пожалуйста, обратитесь к документации по Android.

4) h.264 требует YUV420p (или в исключительных случаях YUV444). ffmpeg может преобразовать цветовое пространство перед передачей данных на x264.

5) libx264 не может декодировать, а также не может преобразовать цветовое пространство RGB-> YUV.

+0

Спасибо, за 1). В video_decode_example api-example.c они упомянули следующее: 'ПРИМЕЧАНИЕ1: некоторые кодеки основаны на потоках (mpegvideo, mpegaudio)' & 'НО некоторые другие кодеки (msmpeg4, mpeg4) являются неотъемлемо рамками based'. Вот почему я спросил об этом. – nmxprime

+1

Обновленный ответ на основе комментариев. – szatmary

+0

Читайте ваш блог. Как вы писали: «Как эти пакеты хранятся и передаются, остается открытым для интегратора», означало бы, что я могу упаковать данные в любой удобной форме, я чувствую комфорт? Означает ли это, что я все еще придерживаюсь стандарта H264/AVC? – nmxprime

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