
视频专栏
文章平均质量分 67
介绍一些视频的常识
EdmundXjs
这个作者很懒,什么都没留下…
展开
-
浅谈WebSocket-FLV
websocket前端在收到flv封装的视频数据后,可以直接使用第三方js进行播放,也可以自行解封flv,得到视频帧数据,通过wasm进行解码播放。在WebSocket的url请求中,包含了需要请求设备的视频相关信息,在视频数据到达时,按照flv封装后,通过websocket推送到前端。基于进一步的扩展,可以在websocket中增加私有的上下行指令,以完成暂停、快进、单步等控制指令,以实现本地化播放器效果。FLV是一种视频数据封装格式,这种封装被标准通信协议HTTP-FLV和RTMP协议应用。原创 2025-03-27 16:06:33 · 250 阅读 · 0 评论 -
SDP(Session Description Protocol,会话描述协议)
SDP通过简洁的文本格式描述了会话的各种参数,使得会话参与者能够根据这些信息正确配置和参与会话。在现代多媒体通信系统中,SDP与SIP、RTSP等协议的结合使用,为实现高效的多媒体通信提供了坚实的基础。原创 2025-03-27 11:23:52 · 783 阅读 · 0 评论 -
浅谈RTMP(Real Time Messaging Protocol)
RTMP和HTTP-FLV比较接近,也是单帧数据封装并进行推送的流程,但RTMP除了能拉流,同步也支持推流,对于一个完整的直播流程,能覆盖它的视频流上传到服务器,同时分发给用户端播放的两个流程。当然,推和拉可以采用不一样的方式。使用x11或0x14中的publish指令,创建了推流消息,通过其中的app信息,进行目标视频的关联勾记,达到了推送视频数据和真实目标的匹配。使用x11或0x14中的play指令,创建了拉流消息,通过其中的app信息,进行了目标视频的关联勾记,达到了请求视频数据和真实目标的匹配。原创 2025-01-15 18:15:20 · 472 阅读 · 0 评论 -
浅谈HTTP-FLV(HTTP-Flash Video)
接收端度chunked的数据,先按照http协议解析出chunked的数据,而后再解析flv封装的数据,最后得到裸的视音频编码数据,通过解码器进行解码后得到图片,并按照时间戳进行播放。但是HTTP-FLV只有一个Play的指令,而采用更复杂的协议,可以达成对音视频的控制(暂停、跳转等),后续将介绍RTMP协议,同样采用FLV封装,但是在外部协议上增加了更多的控制。注意上面的Transfer-Encoding这个属性,这是一个HTTP的属性,代表后续返回的视音频数据,是分块传输的还是连续传输的。原创 2025-01-14 13:00:24 · 337 阅读 · 0 评论 -
浅谈视频数据流
视频是一个数据流,就像我们最初对这个世界的理解,像一团混沌,但是世界往下细分,会看到物种、细胞、分子、元素、质子、电子以及光子。视频这个数据流,如同世界一样,也是可以往下细分的,视频就是一帧一帧的图片,再结合运动压缩算法以及封装方法得到的序列化数据。视频内三要素:封装(MP4、PES、TS、FLV等等)、编码(H264、H265、VP8、VP9)、图片(YUV图、RGB图、ARGB图)原创 2025-01-08 12:47:13 · 800 阅读 · 0 评论