Расшифровка формата потокового файла RIMM - PullRequest
17 голосов
/ 11 апреля 2011

Я хочу декодировать видео (визуальные) кадры в файле Blackberry RIMM. Пока у меня есть парсер и некоторый соответствующий контейнер документации от RIM.

Видеокодек - H264, он явно установлен на устройстве с использованием одного из свойств video.encodings. Однако FFMPEG не может декодировать кадры, и это сводит меня с ума.

Редактировать 1: Похоже, что проблема заключается в отсутствии SPS и PPS в кадрах, и их искусственная вставка до сих пор оказалась безуспешной (все серое изображение). Blackberry 9700 отправляет

0x00 0x00 0x ?? 0x ?? 0xType

где тип соответствует таблице 7-1 в спецификации H264 (I и P кадры). Мы считаем 0x ?? 0x ?? представляет размер кадра, однако размер не всегда соответствует размеру, найденному анализатором (кажется, что анализатор работает правильно).

У меня есть кодек Windows декодер от Blackberry, который называется mc_demux_mp2_ds.ax, и могу воспроизводить некоторые файлы MPEG-4, записанные таким же образом, но это двоичный файл для Windows. И файлы H264 не будут воспроизводиться в любом случае. Я знаю о предыдущих попытках . URL захвата для javax.microedition.media.Manager:

encoding=video-3gpp_width=176_height=144_video_codec=H264_audio_codec=AAC

и я пишу в выходной поток. Некоторые примеры файлов здесь .

Редактировать 2: Оказывается, что около 3-4 из 12-15 доступных режимов захвата видео не работают и отказываются выводить данные, даже в самых простых тестовых приложениях. Таким образом, любое рабочее решение должно реализовывать MPEG-4, H264 и H263 как в AMR, так и в AAC, чтобы получить альтернативные варианты, когда один звуковой кодек и / или разрешение не работают. Перезагружается, зависает и что не засоряет реализацию видео Blackberry и меняется от прошивки к прошивке; Всего сосать.

Ответы [ 2 ]

0 голосов
/ 10 сентября 2011

Я знаю, что это не входит в мельчайшие подробности того, как RIMM использует H.264, но может указать вам правильное направление.

Пару недель назад я успешно конвертировал видеофайл Blackberry с помощью приложения с открытым исходным кодом Handbrake (я работал на Windows).

Возможно, вы захотите покопаться в коде Handbrake или коде одной из библиотек, которые они используют, чтобы увидеть, как обрабатываются эти файлы RIMM.

Subversion: svn co svn://svn.handbrake.fr/HandBrake/trunk handbrake-svn

GitHub: https://github.com/HandBrake/HandBrake

0 голосов
/ 09 сентября 2011

Вы пробовали с ffmpeg2theora, у меня было очень плохое время с ffmpeg, прежде чем я нашел ffmpeg2theora !!

ffmpeg2theora video. [Mov, avi, mp4, vob и т. Д.] -> получить video.ogv

Он скомпилирован для многих платформ (не забудьте собрать и скомпилировать как ffmpeg), я использую его под OSX 64 бит и linux 64 бит

http://v2v.cc/~j/ffmpeg2theora/

...