解码RIMM流文件格式

时间:2011-04-11 13:13:11

标签: java ffmpeg video-streaming

我想解码Blackberry RIMM文件中的视频(可视)帧。到目前为止,我有一个来自RIM的parser和一些相应的容器documentation

视频编解码器为H264,并使用video.encodings属性之一在设备上明确设置。但是,FFMPEG无法解码帧,这让我疯狂。

编辑1:问题似乎是框架中缺少SPS和PPS,到目前为止,人工插入它们已经证明是不成功的(所有灰色图像)。黑莓9700发送

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

其中Type符合H264规范中的表7-1(I帧和P帧)。我们相信0x ?? 0X?表示框架的大小,但是大小并不总是与解析器找到的大小相对应(解析器似乎正常工作)。

我有一个来自黑莓的Windows解码器编解码器,名为mc_demux_mp2_ds.ax,可以播放一些以相同方式捕获的MPEG-4文件,但它是Windows的二进制文件。 H264文件无论如何都不会播放。我知道以前attempts。 javax.microedition.media.Manager的捕获URL是

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

我正在写一个输出流。一些示例文件here

编辑2:事实证明,即使在最简单的测试应用程序中,12-15种可用视频捕获模式中的大约3-4种都会出现故障并拒绝输出数据。因此,任何工作解决方案都应在AMR和AAC中实现MPEG-4,H264和H263,以便在一个声音编解码器和/或分辨率失败时获得后备替代方案。重新启动,挂起以及黑莓视频实施的内容不同,从固件到固件各不相同;总吮吸。

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用ffmpeg2theora,在找到ffmpeg2theora之前,我在ffmpeg上玩的时间非常糟糕!!没有音频问题,没有视频问题只是写道:

  

ffmpeg2theora video。[mov,avi,mp4,vob等] - >得到一个video.ogv

它编译为许多plataforms(忘记构建和编译像ffmpeg),我在OSX 64位和Linux 64位下使用它

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

答案 1 :(得分:0)

我知道这并没有涉及RIMM如何使用H.264的细节,但它可能会指向正确的方向。

几周前,我使用Handbrake open-source application(我在Windows上运行)成功转换了Blackberry视频文件。

您可能需要深入了解Handbrake代码或其中一个库的代码,以了解如何处理这些RIMM文件。

颠覆:svn co svn://svn.handbrake.fr/HandBrake/trunk handbrake-svn

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