自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (11)
  • 收藏
  • 关注

转载 FFmpeg 混音学习【三】两路混流完整代码

本文是简单的混流实现,输入为两个媒体文件(音频或带音频的视频文件),输出为混流后的aac文件。/**//*** @file*///输出文件的codecint ret;return ret;return ret;return ret;return ret;return 0;int ret;return ret;return ret;return ret;return ret;return 0;int ret;

2023-07-18 18:24:54 237 1

原创 aac adts解析的c++代码

简介 本文代码功能为,从aac文件中,将aac一帧帧的读出来,并解析采样率,声道等信息代码:parseAAC.cpp#include <iostream>using namespace std;int getNextAacFrame(FILE*fp, unsigned char* buf, int &size){ int n = fread(buf, 1, 7, fp); if (n < 7) { cout &l...

2020-12-21 09:07:58 659

转载 Http协议面试题小结

1.说一下什么是Http协议对器客户端和 服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”。2.什么是Http协议无状态协议?怎么解决Http协议无状态协议?(1)、无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息      (2)、无状态协议解决办法: 通过1、Cookie 2、通过Session会话保存。3.说一下Http协议中302状...

2020-09-14 14:29:07 240

转载 ./configure 指定编译器

对于autotools来生成Makefile的程序包,不建议修改Makefile来指定GCC/G++的版本。最佳方案:./configure CC=你想使的C编译器的绝对路径./configure CXX=你想使的C++编译器的绝对路径比如:./configure CXX=/usr/local/bin/g++这样就可以很方便地让系统内多个版本的编译器共存了来着百度知道。但是在我的机器上不识别, 于是,我改了改参数 ...

2020-07-28 14:07:17 1239

转载 c++11中thread join和detach的区别

线程状态:在一个线程的生存期内,可以在多种状态之间转换,不同的操作系统可以实现不同的线程模型,定义许多不同的线程状态,每个状态还可以包含多个子状态,但大体来说,如下几种状态是通用的:1)就绪:参与调度,等待被执行,一旦被调度选中,立即开始执行2)运行:占用CPU,正在运行中3)休眠:暂不参与调度,等待特定事件发生4)中止:已经...

2020-07-16 09:18:46 185

转载 C++11条件变量使用详解

condition_variable介绍在C++11中,我们可以使用条件变量(condition_variable)实现多个线程间的同步操作;当条件不满足时,相...

2020-07-15 17:30:34 1712

转载 Linux下几款C++程序中的内存泄露检查工具

Linux下几款C++程序中的内存泄露检查工具 ...

2020-06-24 16:22:27 234

原创 ffmpeg filter命令解读--以多路视频拼接为例

简介 对于很多新人来说,filter命令不要说用,看懂都比较吃力。其实掌握方法后,会发现很简单。下面以多路视频拼接的命令为例子,进行解读和分析 命令行:ffmpeg -i out1.mp4 -i out2.mp4 -i out3.mp4 -i out4.mp4 -filter_complex "[0:v]pad=iw*2:ih*2[a];[a][1:v]overlay=w[b];[b][2:v]overlay=0:h[c];[c][3:v]overlay=w:h" out.mp4 ...

2020-06-08 09:46:05 1138

原创 gb28181录制回放--invite信令流程

简介: 该系列文章主要介绍,上级域对国标平台进行预览/回看等流程的信令交互。 一个简单的gb28181录制回放流程: 接收下级域的注册请求 发送recordinfo请求,获取设备的录像信息 选择录像进行回放 invite流程:向下级域发送invite请求 下级域回复200 上级域回复ack信令流程:向下级域发送invite请求:INVITE sip:34020000001320000002@3402000000 SIP/2.0Via: ...

2020-06-08 09:02:12 2992 2

原创 gb28181录制回放--recordinfo信令流程

简介: 该系列文章主要介绍,上级域对国标平台进行预览/回看等流程的信令交互。 一个简单的gb28181录制回放流程: 接收下级域的注册请求 发送recordinfo请求,获取设备的录像信息 选择录像进行回放 invite流程:向下级域发送recordinfo请求 下级域回复200 下级域回复录像信息 上级域回复200信令流程:向下级域发送recordinfo请求:注:目的域id不是,下级平台的id,是要访问的设备的idMESSAGE...

2020-06-08 08:57:48 3565

原创 gb28181 invite请求信令

简介: 该系列文章主要介绍,上级域对国标平台进行预览/回看等流程的信令交互。 一个简单的gb28181直播预览流程: 接收下级域的注册请求 发送catalog请求,查看设备信息 选择设备进行预览 invite流程:向下级域发送catalog请求 下级域回复100 下级域回复200 上级域回复ack信令流程:向下级域发送catalog请求:INVITE sip:34020000001320000003@3402000000 SIP/2.0...

2020-06-05 17:26:35 5873

原创 gb28181 catalog信令交互流程

简介: 该系列文章主要介绍,上级域对国标平台进行预览/回看等流程的信令交互。 一个简单的gb28181直播预览流程: 接收下级域的注册请求 发送catalog请求,查看设备信息 选择设备进行预览 catalog流程:向下级域发送catalog请求 下级域回复200 下级域发送设备信息,可能一次只发送两个设备的信息 上级域回复200 循环步骤3和4信令流程:注:上级域ip:192.168.30.173。域id:3402000000200000...

2020-06-05 17:06:15 6476 1

原创 gb28181注册/保活的信令交互流程

简介: 该系列文章主要介绍,上级域对国标平台进行预览/回看等流程的信令交互。 一个简单的gb28181直播预览流程: 接收下级域的注册请求 发送catalog请求,查看设备信息 选择设备进行预览 注册流程:接收register请求 回复401,要求带上用户信息 第二次接收register请求 验证通过后,回复200具体信令: 注:1.下面的信令,忽略了401的流程。 2.上级域ip:192.168.30.173。...

2020-06-05 16:51:54 1899

原创 ffmpeg--从mp4中提取并转换sps/pps为annexb

一、简介 本文将利用ffmpeg API提取mp4的sps/pps,并用h264_mp4toannexb将sps/pps转换成annexb形式。h265的话,将h264_mp4toannexb换成hevc_mp4toannexb即可二、代码片段 _videoCodecCtx = _ifmtCtx->streams[_videoIndex]->codec...

2019-05-27 16:06:06 2052

原创 基于gstreamer的支持动态获取多路流的rtsp server示例

一、简介最近在做rtsp server相关的事情,调研了一些开源的服务器,大部分都是作为独立的进程启动,有点不符合自己的场景。偶然发现gstreamer,名气很大,但是用的人却很少。粗略百度了下相关资料--很少。大部分示例都是提供一路流,或者事先写死几路,没法根据自己播放访问时的url判断流存不存在并动态创建。后面花了点时间稍微了解了下,整理出一份动态创建流的代码,分享出来。一共有两种方式...

2019-03-13 13:58:00 3580

原创 ps封装及rtp/udp发送

简介 本文代码功能为,h264封装为ps,再用rtp/udp发送代码#include <stdint.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <signal.h>#include <sys/typ...

2018-09-30 15:45:20 4094 14

原创 ubuntu下基于webrtc native的c++开发--库的使用

简介        本文旨在掌握如何使用webrtc库来编译我们编写的webrtc相关代码。文中提供一份简单的测试代码,末尾附上我用到的webrtc静态库。本文的开发环境为ubuntu14.04。由于webrtc源码编译太复杂,文中用到静态库是google上下载别人编译的,版本未知。代码test1.cpp#include &lt;iostream&gt;#include &lt...

2017-12-26 16:32:48 3893 2

转载 SIP协议及与Freeswitch的关系

转载自:http://www.voip88.com/article-1154-1.html在继续学习 FreeSWITCH 之前我们有必要来学习一下 SIP 协议,因为它是 FreeSWITCH 的核心。但即使如此,讲清楚 SIP 必然需要很大篇幅,本书是关于 FreeSWITCH 的,而重点不是 SIP。因此,我将仅就理解 FreeSWITCH 必需的一些概念加以通俗的解释,更严肃一些

2017-08-02 11:28:33 2053

原创 基于ffmpeg的转码代码(转码为hls)

简介本文基于ffmpeg api将视频转码为hls,其中可以设置hls_time,hls_list_size等参数。在此份代码中,也涉及了音视频转码的一些转码流程以及参数设置,供大家借鉴。本份代码的运行环境为:ubuntu14.04。ffmpeg版本为2.6.1。大家也可改造一下,转码成不同的格式。代码hls.c#include #include #include #i

2017-08-02 09:44:08 6486 2

原创 基于ffmpeg的视频截图

简介最近项目需要对实时流进行截图,网上找了些资料,整理了一份基于ffmpeg的视频截图代码,写个博客记录一下。本份代码功能为每隔30帧截取一帧图片,我是在Ubuntu中使用,ffmpeg版本为2.6.1。代码getpic.h(由于是编译成动态库,加了个简单的头文件)#include #include "libavformat/avformat.h"#include "lib

2017-07-20 11:40:29 582

testgb1.cap

gb28181 录像回放相关信令抓包。里面包含了录像信息查询信令流程,以及录像回放的信令流程。文件为抓包文件,需要wireshark进行打开

2020-06-08

基于ffmpeg-live555的rtsp服务器,支持h264/h265编码,支持mp4等格式

基于ffmpeg和live555开发的rtsp服务器,支持h264/h265编码,支持mp4等格式。测试文件放在执行文件当前目录,URL格式为:rtsp://ip:port/filename

2019-07-08

基于gstreamer的支持动态获取多路流的rtsp server示例

最近在做rtsp server相关的事情,调研了一些开源的服务器,大部分都是作为独立的进程启动,有点不符合自己的场景。偶然发现gstreamer,名气很大,但是用的人却很少。粗略百度了下相关资料--很少。大部分示例都是提供一路流,或者事先写死几路,没法根据自己播放访问时的url判断流存不存在并动态创建。后面花了点时间稍微了解了下,整理出一份动态创建流的代码,分享出来

2019-03-13

ubuntu下已编译好的webrtc静态库

ubuntu下已编译好的webrtc静态库,需要在ubuntu c++下开发webrtc native的同学可以下载。此静态库是将webrtc所有的库全整合成了一个libwebrtc_full.a

2017-12-26

ffmpeg转码为hls代码

ffmpeg转码为hls的代码,里面涉及具体的转码流程以及参数设置.ffmpeg转码为hls的代码,里面涉及具体的转码流程以及参数设置

2017-08-02

ffmpeg转码为hls

基于ffmpeg自带的转码示例改造的hls转码代码

2017-08-02

ffmpeg截图代码

基于ffmpeg编写的视频截图代码

2017-08-02

poco-1.7.8p1-all

poco库

2017-06-29

go http与udp简单示例

go http与udp简单示例

2017-06-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除