Декодирование формата потокового файла RIMM
Я хочу декодировать видео (визуальные) кадры в RIMM файле Blackberry. До сих пор у меня есть парсер, а также соответствующий контейнер документация из 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, захваченные одинаково, но это двоичный файл для окон. И файлы 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 видео и отличается от прошивки до прошивки; общая выгрузка.
Ответы
Ответ 1
Вы пытались с ffmpeg2theora, у меня очень плохое время с ffmpeg, прежде чем я нашел ffmpeg2theora!!, никаких проблем с аудио, нет проблемы с видео, просто напишите:
ffmpeg2theora video. [mov, avi, mp4, vob и т.д.] → получить video.ogv
Он скомпилирован для многих платформ (забудьте построить и скомпилировать как ffmpeg), я использую его под 64-битными OSX и 64-разрядными linux файлами
http://v2v.cc/~j/ffmpeg2theora/
Ответ 2
Я знаю, что это не связано с тем, как 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