解码 RIMM 流文件格式
我想解码黑莓RIMM文件中的视频(视觉)帧。到目前为止,我有一个解析器,以及来自RIM的一些相应的容器文档。
视频编解码器是 H264,使用其中一个 video.encodings 属性在设备上显式设置。但是,FFMPEG无法解码帧,这让我发疯。
编辑 1:问题似乎是框架中缺少SPS和PPS,并且到目前为止,人为插入它们已被证明是不成功的(所有灰色图像)。黑莓9700发送
0x00 0x00 0x??0x??0x类型
其中“类型”根据 H264 规范(I 和 P 框架)中的表 7-1。我们相信0x??0x??表示帧的大小,但是大小并不总是对应于解析器找到的大小(解析器似乎工作正常)。
我有一个来自黑莓的Windows解码器编解码器,称为mc_demux_mp2_ds.ax,可以播放一些以相同方式捕获的MPEG-4文件,但它是Windows的二进制文件。H264文件不会以任何一种方式播放。我知道以前的尝试。javax.microedition.media.Manager 的捕获 url 是
encoding=video-3gpp_width=176_height=144_video_codec=H264_audio_codec=AAC
并且我正在写入输出流。此处为一些示例文件。
编辑 2:事实证明,在12-15种可用的视频捕获模式中,约有3-4种完全失败并拒绝输出数据,即使在最简单的测试应用中也是如此。因此,任何工作解决方案都应该在AMR和AAC中实现MPEG-4,H264和H263,以便在一个声音编解码器和/或分辨率失败时获得回退替代方案。重新启动,挂起和不乱扔黑莓视频实现的内容,并且因固件而异;总吸吮。