rtmp延时 vlc ffplay-ffplay和vlc播放rtmp流延迟不一致,如何消除延迟

问题描述

ffplay和vlc播放rtmp流延迟不一致,如何消除延迟

公司写了一个rtmp server,从摄像头获取的.h264流封装后发送到client端

1,用ffplay播放这个rtmp流,延迟有4秒,但是我在画面上右击几下,发现延迟很短了,基本上算是同步上了,这个是啥原因?右击或左击都会打印[swscaler @ 0xb56c7d20] deprecated pixel format used, make sure you did set range correctly
这个是干啥子的啊?
2,用vlc播放该rtmp流,一段时间画面停止不动,然后播放后,直接跳到8秒,接着后面的图像基本上延迟10s,这个是啥原因啊?是不是时间戳的原因引起的呢。我的时间戳计算是 : 获取当前第一帧的时间为 t0,后面每帧的pts都是用当前时间 tnow减去t0得到 pts = tnow -t0; 不知道这样搞有没有问题。
有哪些大神知道指点迷津啊,万分感谢!O(∩_∩)O~

解决方案

这个是vlc播放器对rtmp server发送过来的数据没有及时处理,导致了延迟,用potplayer这个播放器可以解决这个问题

解决方案二:

http://bbs.csdn.net/topics/390965130

时间: 2024-08-09 20:49:11

rtmp延时 vlc ffplay-ffplay和vlc播放rtmp流延迟不一致,如何消除延迟的相关文章

2.2.1版本的vlc播放rtmp流会自动断开,而2.2.1以下的版本都不会

问题描述 2.2.1版本的vlc播放rtmp流会自动断开,而2.2.1以下的版本都不会 2.2.1版本的vlc播放rtmp流会自动断开,而2.2.1以下的版本都不会通过vlc的 工具->编码器信息->统计 这里面可以发现2.2.1版本的vlc播放时候会直接丢掉前面一些帧,比如一次丢掉34帧,然后进行播放,后面都很正常,但是vlc2.2.1 它不会一次直接丢掉前面的34个无效帧,而是直接播放,这样发送数据时候过快,client还未来得及处理,结果client端就直接断开了,但是断开后,rtmp

potplayer-potPlayer播放rtmp流,经过一段时间,输出帧率变为原来的10分之1

问题描述 potPlayer播放rtmp流,经过一段时间,输出帧率变为原来的10分之1 potPlayer播放rtmp流,经过一段时间,输出帧率变为原来的10分之1, 导致图像很卡,请问这个是啥原因造成的! 解决方案 开启dxva加速就没这种问题了,O(∩_∩)O~, F5 找到滤镜 ,视频解码器,然后设置dxva,开启就行了 解决方案二: 现在的rtmp基本上看不出延迟,100ms以内吧,只不过现在还有个问题就是扩展时间戳的问题,目前正在着手搞,不用扩展时间戳,5小时不到就gameover了,

videojs集成--播放rtmp流

之前说到已经把流推送过来了,这时候就可以使用videojs来进行显示播放.   首先要先有一个文件,那就是video-js.swf 因为,这种播放方式html已经不能很好的进行播放了,需要用到flash来播放,videojs在这个地方就用到了这个. 代码就是下面这样. 里面一些细节注释都有. 重点就是看<video>标签里面的内容   [html] view plain copy   <!DOCTYPE html>   <html lang="en">

android 播放mp3-android 如何播放mp3流

问题描述 android 如何播放mp3流 byte[] mp3Data = ........................................... 这里存的是mp3 byte型数据,如何播放 求解答哦 ps:也或抛给系统自动播放也行啊,如何抛这个数据啊

考试系统 百人 延迟-.net开发的在线考试系统,英语考试在线播放英语听力(mp3)网络延迟卡顿,,)

问题描述 .net开发的在线考试系统,英语考试在线播放英语听力(mp3)网络延迟卡顿,,) 网络已经由原来的百兆改为前兆网口,但是对于几百人的考试依然无法应付,超过百人同事登录读取听力系统将会卡死,求详细解决方案,不详细至少对路,好好答,谢谢大家了. 解决方案 可以使用多个服务器,你的主程序随机分配地址到每个服务器. 解决方案二: 在线考试(3)数据库设计之在线考试系统 解决方案三: 首先要确定你的问题主要是带宽的问题,还是服务端并发处理不过来导致的卡死. 以下几点建议参考: 1.建议压缩音频文

ffmpeg 播放直播流输出后的信息 如何看懂

问题描述 ffmpeg播放直播流的输出有很多信息,是否有哪位高手可以提供很全的参数说明另外,最近碰到一个问题一直没找到答案,CSDN上也有人问过,如下我的直播流是推送到CDN上的,用ffmpeg播放时,总会出现如下DTS.....0:0的多条信息,不知道什么意思,什么导致的,问了说是因为cdn用了直播流buffer的功能,但是DTS为什么一直都是0:0也没见有1:0或0:1呀 解决方案 解决方案二:有米有高手可以帮忙看看这个问题,已经纠结2天了无果

针对项目中用到可播放rtmp格式的jwplayer视频播放器

    一个开源的在网页上使用的Flash视频.音频以及图片播放器,支持 Sliverlight 播放,可以通过一个XML文件使播放器自动切换显示一组图片,并播放背景音乐. 它支持播放的Adobe Flash Player和HTML5浏览器可以处理任何格式(FLV文件,H.264标准,MP4功能,VP8的,WEBM,支持MP3,AAC,JPG,PNG和GIF).它也支持各种流和播放清单格式(包括RTMP协议,HTTP直播和更多)和多种播放选项.并支持所有主要的CDN和自适应比特率切换意味着你可以

流媒体技术学习笔记之(二)RTMP和HLS分发服务器nginx.conmf配置文件(解决了,只能播放RTMP流而不能够播放HLS流的原因)

user www www; worker_processes 1; error_log logs/error.log debug; #pid logs/nginx.pid; events { worker_connections 65535; } rtmp { server { listen 1935; application live { live on; record off; } application live2 { live on; record off; } # applicatio

流 采集卡 播放-TS流的实时播放怎么实现?

问题描述 TS流的实时播放怎么实现? 主机插了一块TS流(不知道TS的只要理解为视频流就可以)的采集卡,能够实现把外部TS流收集到缓冲区,但是我怎么实现将TS流给实时播放出来呢?用到什么插件?我知道的有和directshow和ffmpeg,但是不知道怎么用.求大神给予指导!万分感谢! 采集卡有个开发包,里面有个接收TS流的函数: int btert_receive(void* pBuffer,int nLength,int DeviceId,int ChannelId); 参数说明如下: pBu