ps
呆瑞
这个作者很懒,什么都没留下…
展开
-
流媒体转发——rtsp转ps
基于FFMPEG提取音视频数据,及PS封包,借鉴了很多资料及博客,对于封装PS包,很多属性没有弄懂,但至少目前做出了功能,发表用以记录,供人学习。Github:https://github.com/cdebug/Rtsp2psCSDN:https://download.csdn.net/download/qq_39805297/14022436主要功能代码如下:RtspDecoder 解RTSP码流rtspdecoder.h#ifndef RTSPDECODER_H#defi..原创 2021-01-04 17:56:48 · 1677 阅读 · 0 评论 -
最简单的GB28181视频PS流播放器。
一 从PS流中提取h264和aac。移步:https://blog.csdn.net/qq_39805297/article/details/107083322二 基于ffmpeg解码h264获取rgb图像,解码aac成pcm格式。bool H264Decoder::init(){ av_register_all(); _pCodecContext = avcodec_alloc_context3(NULL); _pH264VideoDecoder = avcodec_find_dec原创 2020-08-31 15:43:00 · 3292 阅读 · 1 评论 -
GB28181学习之路——PS流解复用H264和ACC
上一篇讲了PS中提取视频,今天顺手把音频提取的也做了出来,代码结构也梳理了一下。音频提取的方式和视频是一样的,关于视频的提取方式请移步:GB28181学习之路——PS流解析H264话不多说直接上代码了streamresolver.h:#ifndef STREAMRESOLVER_H#define STREAMRESOLVER_H#include <iostream>#include "common.h"class StreamResolver{public:原创 2020-07-02 14:19:35 · 1790 阅读 · 0 评论 -
GB28181学习之路——PS流解析H264
磕磕绊绊的做了出来,也算为自己留个资料吧。先讲理论再上代码。挑些重点讲。1. 首先就是获取到 rtp 包,rtp包的结构是:rtp包头+payload,payload就是我们要的ps包,rtp包头的长度是12个字节,所以rtp包去掉前12字节就是ps包了。比如这个 rtp 包,跳过12个字节,从00 00 01 ba 开始就是ps包了。2. 找到ps包之后就要从它的格式入手开始解析,ps荷载h264是把一帧帧的数据打包传过来,一个完整的ps包会包含一帧的数据。而h264的帧分为 i 帧和原创 2020-07-01 10:31:00 · 2708 阅读 · 2 评论