请教:VLC播放实时H264流出现马赛克

RichyMong 2010-01-22 05:54:22
由于小弟刚接触H264,因此很多地方都不太明白。现在我通过live555 stream实时的h264流,如果视频中画面不复杂(比如是静态的),那么情况尚好,只是明显感觉到一顿一顿的画面。通过VLC观看的时候会流位率很低,只有十几kb/s,实际上我已经把码率设的很高了,而且缓冲区开的很大。

如果视频中人在动或者光线暗淡的话,通过VLC看stream就会有马赛克情况。但是我把接收到的h264流写入文件,live555从这个文件读取再stream然后用VLC观看是没有马赛克的。

我想请教一下,因为我这里每次发送的正好是一个nal包,所以live555对这接收到的数据应该不需要解码的吧?我通过自己写的服务端对接收到的视频数据用ffmpeg解码显示也很正常。那么VLC看实时的h264流出现马赛克是因为什么问题引起的呢?请熟悉live555和vlc的大哥大姐不吝指教。
...全文
1498 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shensifeng2011 2012-04-13
  • 打赏
  • 举报
回复
新手菜鸟 刚开始接触这个 用vlc播放rtsp传过来的视频码率 播放时出现马赛克 问题会出在哪???
qoaimei 2012-03-19
  • 打赏
  • 举报
回复
具体是怎么做的,可以告知一下吗?我也在做同样的事情,也遇到了同样的问题,目前不知道如何解决,我的数据包基本上都是拆包,但是,在晃动的时候,马赛克也很严重,应该也是拆包吧,[Quote=引用 2 楼 richymong 的回复:]

多谢。和你说的差不多,不过我这里之前处理的有问题,因为我发的一个包,如果画面静态或者动作不大,编码出来的一帧数据不大作为一个包发送,当摄像头晃动或者画面复杂时候,一帧就是分成几个包发送的,而我处理的时候还是把这其中每一个包发给VLC,所以就出了问题。现在这里处理之后,摄像头晃动不会出现马赛克了。
谢谢帮助!
[/Quote]
qoaimei 2012-03-19
  • 打赏
  • 举报
回复
怎么解决的,可以告知一下吗,我现在也在研究这个,也遇到了同样的问题,可是不知道该怎么做,非常感谢[Quote=引用 1 楼 miaoweijun 的回复:]
我做过xvid和avs的编解码。也遇到过这样的问题。开始以为是丢桢或者数据乱了。后来发现是当前帧正在解码/播放的时候,新收到的数据覆盖了一部分当前帧的数据。
希望对你有借鉴作用,也是晃动摄像头的时候才会发生这种现象。现在已经解决了。
[/Quote]
qoaimei 2012-03-17
  • 打赏
  • 举报
回复
这是怎么弄的,能分享一下吗?[Quote=引用 2 楼 richymong 的回复:]
多谢。和你说的差不多,不过我这里之前处理的有问题,因为我发的一个包,如果画面静态或者动作不大,编码出来的一帧数据不大作为一个包发送,当摄像头晃动或者画面复杂时候,一帧就是分成几个包发送的,而我处理的时候还是把这其中每一个包发给VLC,所以就出了问题。现在这里处理之后,摄像头晃动不会出现马赛克了。
谢谢帮助!
[/Quote]
metaza2 2010-09-11
  • 打赏
  • 举报
回复
分片后难道不是每一片都需要发送吗? 能不能讲讲这里如何处理?43716313@qq.com
RichyMong 2010-01-26
  • 打赏
  • 举报
回复
多谢。和你说的差不多,不过我这里之前处理的有问题,因为我发的一个包,如果画面静态或者动作不大,编码出来的一帧数据不大作为一个包发送,当摄像头晃动或者画面复杂时候,一帧就是分成几个包发送的,而我处理的时候还是把这其中每一个包发给VLC,所以就出了问题。现在这里处理之后,摄像头晃动不会出现马赛克了。
谢谢帮助!
miaoweijun 2010-01-22
  • 打赏
  • 举报
回复
我做过xvid和avs的编解码。也遇到过这样的问题。开始以为是丢桢或者数据乱了。后来发现是当前帧正在解码/播放的时候,新收到的数据覆盖了一部分当前帧的数据。
希望对你有借鉴作用,也是晃动摄像头的时候才会发生这种现象。现在已经解决了。

2,541

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧