JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS码流并解析预览图像

《JavaCV音视频开发宝典》专栏目录导航
《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进行传输音视频数据。

本文转载自:https://eguid.blog.csdn.net/article/details/131087602

posted @ 2023-06-13 17:11  eguid  阅读(333)  评论(0编辑  收藏  举报