主题 : MFC编码后外部播放器无法播放 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 90288
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
综合积分: 10 分
注册时间: 2013-04-15
最后登录: 2013-10-10
楼主  发表于: 2013-07-03 14:40

 MFC编码后外部播放器无法播放

用了光盘里的h264_env_linux例子,没有任何改动,先录制后播放一切正常。但是单独把录制的文件/tmp/cam_encoding.264用PC端的mplayer播放,播放失败,mplayer的提示信息是:
[h264 @ 0x8cb2c40]non-existing PPS 0 referenced
[h264 @ 0x8cb2c40]decode_slice_header error
[h264 @ 0x8cb2c40]no frame!
Error while decoding frame!
Too many buffered pts
[h264 @ 0x8cb2c40]no frame!
Error while decoding frame!
Too many buffered pts
。。。。。。
这是什么情况呢?
难道说MFC编码只能用MFC解码么?编码的所谓H264文件不是标准的H264么?还是说参考例子有问题呢?
级别: 新手上路
UID: 73826
精华: 0
发帖: 22
金钱: 120 两
威望: 24 点
综合积分: 44 分
注册时间: 2012-07-15
最后登录: 2014-07-18
1楼  发表于: 2013-07-05 09:11
你要把MFC编码数据封装成视频文件格式,mplayer才可以播放.直接给MFC编码数据是不行的.
级别: 新手上路
UID: 90288
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
综合积分: 10 分
注册时间: 2013-04-15
最后登录: 2013-10-10
2楼  发表于: 2013-07-05 11:14

 回 1楼(tommoon) 的帖子

mplayer可直接播放流文件的。比如直接用X264库编码的H264流文件是可以播放的,并不需要封装成视频文件格式,现在问题是mplayer能识别出是H264视频流,但却不能正确解码,换成VLC也是一样的结果。
级别: 新手上路
UID: 94040
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
综合积分: 14 分
注册时间: 2013-07-07
最后登录: 2013-08-15
3楼  发表于: 2013-07-31 12:21
把这个文件后缀改为h264,则可以在PC的VLC播放
级别: 新手上路
UID: 90288
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
综合积分: 10 分
注册时间: 2013-04-15
最后登录: 2013-10-10
4楼  发表于: 2013-09-27 20:54

 回 3楼(qq363692146) 的帖子

后缀名是没什么影响的,其实就是H264的解码引擎的问题,mplayer1的无法解码,换mplayer2就可以了,新版的ffmpeg也可以