JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS码流并解析预览图像
《JavaCV音视频开发宝典》专栏目录导航
《JavaCV音视频开发宝典》专栏介绍和目录
前言
两年前博主写了如何利用JavaCV解析各种h264裸流,《JavaCV音视频开发宝典:使用javacv读取GB28181、海康大华平台和网络摄像头sdk回调视频码流并解析预览图像》,但是随着时间变化,各个厂商sdk也有所迭代升级,比如现在海康sdk回调不再包含H264裸流,只有PS和TS流以及RTP(RTP中也可包含PS\TS\H264\H265裸流)
PS流和TS流封装格式简述
虽然各大厂商sdk手册文档有所介绍,但对于一些概念并没有进行阐述,下面我们具体讲讲这些流是什么,做什么用的。
ps流和TS流是一对姊妹封装格式,它们都是MPEG-2(ISO/IEC 13818-2)标准协议家族成员。
ISO/IEC 13818-2标准见下方参考资料列表
什么是PS流(Program Stream的简称)
ps流标准也就是mpeg2-ps,是一种固定时长的音视频封装格式,是为以前dvd影片存储而专门设计的音视频存储标准,现在主要用来存储点播的回放视频,一般点播回放会取PS流,因为它有时长概念,而直播没有。
什么是TS流
TS流标准是mpeg-ts,是一种实时传输音视频的封装格式,主要用于传输实时音视频流,比如HLS,Dash,RTP等协议都会用TS封装去传输音视频数据。
JavaCV/FFmpeg是可以直接解析TS流的。
什么是RTP
RTP全称是Real-time Transport Protocol,RTP主要用于传输实时数据,既可以基于TCP也可以基于UDP协议进行传输数据。在音视频领域,RTSP协议和GB/T28181-2016,J/TT 1078-2016等标准都使用RTP进行传输音视频数据。
本文来自博客园,作者:eguid,没有作者允许禁止转载,取得作者同意后转载需注明作者名和原文链接:https://www.cnblogs.com/eguid/p/17478203.html