rtsp
文章平均质量分 85
王二の黄金时代
碰到问题,就解决问题
展开
-
Miui+多屏协作--wifiDisplay-wireshark抓个包
宣传了好久的mui12.5,终于在我的手机上推送了(RedmiK20Pro),体验一下这个多屏协作功能。原创 2021-06-12 13:49:39 · 1354 阅读 · 4 评论 -
<三:使用,推流端>live555-从buffer读取h264推流
使用live555库推流h264,一般从testOnDemandRTSPServer.cpp 修改而来,不过其中都是通过从本地文件,或作类似文件描述符“fd”源中读数据,这类数据源,需要对数据源进行分析处理,拿h264裸文件来说,就需要根据NAL 00 00 00 01 来切分出一帧帧的数据,这是一个消耗资源的操作,如果我们是已经就绪的h264帧数据在内存里,就不需要这一部分,否则造成明显的推流延...原创 2019-12-12 14:38:18 · 3336 阅读 · 4 评论 -
live555 服务端推流自动断开
使用live555作为服务端推流,基于udp传输时比较正常,但切换tcp 经常一段时间后自己断开。原因一: 服务端故意为之。rtsp 协议的传输使用tcp,在RTSPserver.hh, RTSPServer的构造函数中有:class RTSPServer: public GenericMediaServer {public: static RTSPServer* createNew...原创 2019-12-06 11:56:08 · 2686 阅读 · 1 评论 -
从零编写rtsp-client端
目录简介:github工程源码:rtsp协议简介rtsp相关的一些问题简介:使用live555接受rtsp流,发现在 使用udp传输的过程中,h264数据丢帧,播放端花屏,起初以为是网络不好出现udp丢包,可是局域网环境下也不至于如此严重。换低码流的数据倒是ok, 传输 1920x1080 @30fps 码率在600KByte/s 的h264视频流,从live555接...原创 2019-10-23 16:08:55 · 4864 阅读 · 0 评论 -
vlc源码分析-clock.c 时间戳模块
vlc 播放网络视频流,比如rtsp流,需要进行是否超时的判断,判断是网路的延迟接受,还是因为解码器太慢导致延迟等,利用到网络流的时间戳,把网络流的时间戳和系统实际的时间建立一个对应关系,就是 /src/input/clock.c这个模块的作用。实际从vlc软件实际使用上可以观察出来,比如播放一个网络rtsp流,即使没有丢帧,仔细观察也会发现有些视频画面时快时慢,就是因为网络的不稳定导致接受到数据...原创 2019-09-04 15:02:21 · 1952 阅读 · 0 评论 -
vlc-源码分析--rtsp服务端-单线程IO复用模型
vlc使用了live555开源库,但是只是播放网络视频流的时候用live555作为 接受,对于串流rtsp功能,为自行实现的一个服务端程序,单线程IO复用服务端模型。这里分析下这个服务端的源码 位于 src/network/httpd.c这里仅仅rtsp的服务端,不涉及到rtp具体的传输视频,rtp传输数据是另外的线程。看这个rtsp服务端的大概模型,使用单线程,io复用的方式,处理所有连接...原创 2019-07-16 12:30:12 · 397 阅读 · 0 评论 -
<三:使用,接收端>live555--接收端 testRTSPClient.cpp 源码分析-读取rtsp流demo
testRTSPClient.cpp 位于live555源码目录 live/testprogs目录下,编译出来 testRTSPClient可以直接用来接收流,不过这个流接受之后只是打印一下信息,然后丢弃,并没有存储到什么文件。例如:#testRTSPClient rtsp://192.168.43.154:8989/stream分析源代码:RTSPClient.cpp 中封装有sen...原创 2019-07-03 16:27:00 · 2667 阅读 · 2 评论 -
WireShark查看vlc播放rtsp流过程,抓包分离出h264流
基于之前的 vlc源码推流,用pc(window)上的vlc播放器播放rtsp流。这次用WireShark抓包,简单查看其中的交互过程,最后参考了一篇文章,从这个包中分离出h264流。(这才见识到WireShark的强大,以及何为“协议”)rtsp 交互流程截图参照一篇博客:提取h264https://blog.csdn.net/...原创 2019-04-09 15:41:02 · 6007 阅读 · 0 评论 -
Android基于libvlc 播发rtsp视频流
使用libvlc 播放rtsp视频流的app demo.从官方vlc官方sample上修改而来,下载地址:https://code.videolan.org/videolan/libvlc-android-samples/tree/master/官方的sample是播放一个在安装包里面的.m4v 的卡通动画,稍作改动,就可以播放rtsp视频流了。(直接下载过来的工程无法使用,缺少 vlc的...原创 2019-03-22 17:13:53 · 6219 阅读 · 2 评论 -
修改live555支持从缓冲区读取h264帧 (纠正下是 h264 slice)
==2023.1.1 追加,归纳总结一下,作为复习的提要:实现新的MediaSubsession,覆盖实现其中的虚函数createNewStreamSource() ,用来创建source . 覆盖 实现 其中的虚函数createNewRTPSink() 用来创建sink实现自己的 FrameSource, 实现其中的虚函数 doGetNextFrame(),在这个里面把自己的h264数据拷贝到 fTo 缓冲区,并且赋值成员变量fFrameSize 、时间戳、最大帧数据大小等等原创 2019-01-28 15:37:33 · 4225 阅读 · 2 评论