自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

转载 FFMPEEG 发送延时

发送流媒体的数据的时候需要延时。不然的话,FFmpeg处理数据速度很快,瞬间就能把所有的数据发送出去,流媒体服务器是接受不了的。因此需要按照视频实际的帧率发送数据。本文记录的推流器在视频帧与帧之间采用了av_usleep()函数休眠的方式来延迟发送。这样就可以按照视频的帧率发送数据了,参考代码如下//… int64_t start_time=av_gettime(); whil...

2019-06-28 21:12:31 713 1

转载 ffmpeg编程推流器

#include <stdio.h> #define __STDC_CONSTANT_MACROS #ifdef _WIN32//Windowsextern "C"{#include "libavformat/avformat.h"#include "libavutil/mathematics.h"#include "libavutil/time.h"};...

2019-06-28 21:03:39 937

转载 av_bitstream_filter_filter()

分离某些封装格式中的H.264分离某些封装格式(例如MP4/FLV/MKV等)中的H.264的时候,需要首先写入SPS和PPS,否则会导致分离出来的数据没有SPS、PPS而无法播放。H.264码流的SPS和PPS信息存储在AVCodecContext结构体的extradata中。需要使用ffmpeg中名称为“h264_mp4toannexb”的bitstream filter处理。有两种处理方式...

2019-06-28 18:25:56 13355

转载 AfxBeginThread

static UINT ThreadFunc(LPVOID pParam);//线程函数声明UINT CTestApp::ThreadFunc(LPVOID pParam){//线程函数实现}CWinThread *m_pThread; //线程指针m_pThread = AfxBeginThread(ThreadFunc, NULL); //启动线程就可以了...

2019-06-27 07:36:25 314

转载 工作线程AfxBeginThread的使用

工作线程通常用来执行一些后台任务,如:数据计算、后台杀毒等等。因为不需要创建窗口和处理用户消息,编写比较容易,在程序中只要调用AfxBeginThread函数就可以创建并启动一个工作线程了。AfxBeginThread的原型如下:CWinThread*AfxBeginThread(AFX_THREADPROCpfnThreadProc, ...

2019-06-27 07:35:41 295

转载 MFC 点击按钮,弹出另一个对话框

方法一:模态对话框资源视图--Dialog--右键--添加资源--新建--对话框-,然后在已经生成的对话框中(解决资源视图中的dialog下的新生成的那个)右键--添加类。例如:添加CMyNewDlg类,在所要调的代码中(按钮点击方法所在的文件代码),先加头文件#include "CMyNewDlg.h ",之后在按钮点击方法中:void COnclickDlg::OnBnClicked...

2019-06-27 07:34:47 4384 1

转载 用FFmpeg将rtsp视频流保存成文件的demo:

ffmpeg:FFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward,是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。库的组成:libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能;libavcodec:用于各种类型声音/图像编解码;libavutil:包...

2019-06-25 10:37:38 5329 2

转载 ffmpeg 实现RTSP/RTMP 从服务器拉音视频流,保存为h264和AAC

int my_av_bsf_filter(const AVBitStreamFilter *filter, AVPacket *pPacket, const AVCodecParameters *src){ int ret; AVBSFContext *ctx = NULL; if (!filter) return 0; ret = av_bsf_alloc(filter, &a...

2019-06-25 10:34:15 1756

转载 FFmpeg获取网络摄像头数据解码

https://blog.csdn.net/qq_41051855/article/details/79729259对USB摄像头实时编码,在前面已经探讨过了。这次改变下思路,尝试去截取网络摄像头的H264码流,将其解码播放。这里的测试代码,是在海康摄像头的基础上进行的。解码的大致流程和以前的保持一致,只不过增加了部分函数。FFmpeg打开媒体文件并查看媒体...

2019-06-20 23:09:52 1466

转载 std::this_thread::sleep_for 与std::this_thread::yield的区别

std::this_thread::yield: 当前线程放弃执行,操作系统调度另一线程继续执行。即当前线程将未使用完的“CPU时间片”让给其他线程使用,等其他线程使用完后再与其他线程一起竞争"CPU"。std::this_thread::sleep_for: 表示当前线程休眠一段时间,休眠期间不与其他线程竞争CPU,根据线程需求,等待若干时间。两者具有相似的作用,但使用目的不同。例如以下两...

2019-06-16 10:10:52 12029 1

转载 条件变量(condition_variable)详解

头文件主要包含了与条件变量相关的类和函数。相关的类包括std::condition_variable和std::condition_variable_any,还有枚举类型std::cv_status。另外还包括函数std::notify_all_at_thread_exit(),下面分别介绍一下以上几种类型。std::condition_variable 类介绍std::condit...

2019-06-16 09:16:51 1640

转载 FFMPEG 音视频同步

参考(一):https://www.cnblogs.com/wangguchangqing/p/5900426.html

2019-06-14 06:39:10 118

转载 C++11多线程互斥锁的使用

#include <iostream>#include <string>#include <vector>#include <list>#include <mutex>#include <thread>#include <cstdarg> // 参考:http://www.cnblogs.com/...

2019-06-05 17:56:13 155

转载 FFmpeg avcodec_copy_context deprecated替换方案

新版本中FFmpeg的avcodec_copy_context被avcodec_parameters_to_context和avcodec_parameters_from_context所替代,因此需要将原本的写法修改一下。旧API版本如下ret =avcodec_copy_context(out_stream->codec, in_stream->codec);if (r...

2019-06-02 08:01:14 681

转载 ffmpeg转码多路输出(二)

https://blog.csdn.net/zhuweigangzwg/article/details/72481966本程序支持一路输入多路输出,可根据map配置自行添加,第1路为纯拷贝,其他2路经过编解码,格式转换缩放和重采样,纯拷贝方面不同格式适应方面还没做全,以后补充。本程序适合多分辨率切换等方面内容。注意重采样等方面的注释内容。具体看代码://main.cpp#in...

2019-06-02 07:48:47 1417

转载 对ffmpeg的时间戳的理解笔记

之前也有了解过ffmpeg中时间戳的相关知识点,但也仅限了解,没有更深入的理解,更没有作相关的笔记整理。近期由于工作中需要用到ffmpeg的时间戳,所以再一次去学习ffmpeg中的时间戳的知识点,并作了相关笔记,整理如下:/**Date:2017-07-28*Author:TopsLuo*Function:掌握ffmpeg中时间戳的知识点。并根据实际的时间来生成ffmpeg内部不同时间基...

2019-06-02 07:32:32 405

转载 ffmpeg time_base详解

ffmpeg time_baseffmpeg存在多个时间基准(time_base),对应不同的阶段(结构体),每个time_base具体的值不一样,ffmpeg提供函数在各个time_base中进行切换。搞清楚各个time_base的来源,对于阅读ffmpeg的代码很重要。一、time_base1、AVStream(libavformat/avformat.h)typedefstruc...

2019-06-02 07:27:36 686

转载 ffmpeg time_base详解

ffmpeg存在多个时间基准(time_base),对应不同的阶段(结构体),每个time_base具体的值不一样,ffmpeg提供函数在各个time_base中进行切换。搞清楚各个time_base的来源,对于阅读ffmpeg的代码很重要。一、time_base1、AVStream(libavformat/avformat.h)typedefstructAVStream{/...

2019-06-02 07:25:01 601

转载 ffmpeg时间戳计算

https://blog.csdn.net/evsqiezi/article/details/79337350ffmepg中的时间戳,是以微秒为单位,关乎timebase变量,它是作为dts、pts的时间基准粒度,数值会很大。static intmpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt){...

2019-06-02 07:22:14 948

转载 ffmpeg转码多路输出(二)

本程序支持一路输入多路输出,可根据map配置自行添加,第1路为纯拷贝,其他2路经过编解码,格式转换缩放和重采样,纯拷贝方面不同格式适应方面还没做全,以后补充。本程序适合多分辨率切换等方面内容。注意重采样等方面的注释内容。具体看代码:#include "ffmpeg_transcode.h"/*int main(){ AVOutputFormat *ofmt = ...

2019-06-01 22:57:26 377

转载 ffmpeg转码多路输出(二)

https://blog.csdn.net/zhuweigangzwg/article/details/72481966ffmpeg转码多路输出(二)本程序支持一路输入多路输出,可根据map配置自行添加,第1路为纯拷贝,其他2路经过编解码,格式转换缩放和重采样,纯拷贝方面不同格式适应方面还没做全,以后补充。本程序适合多分辨率切换等方面内容。注意重采样等方面的注释内容。具体看代码:#i...

2019-06-01 22:54:59 1833

转载 ffmpeg重采样中swr_convert和swr_get_out_samples的用法

https://blog.csdn.net/zhuweigangzwg/article/details/53395009ffmpeg重采样中swr_convert和swr_get_out_samples的用法在做mux的时候关于重采样可以用fifo,或者audiofifo做缓存处理,当做demux的时候关于重采样就可以用到上面的swr_convert和swr_get_out_samples做...

2019-06-01 16:41:18 745

转载 由swr_get_delay想到的

最近在弄pcm的重采样,demo的代码里有一段,百思不得其解。然后忽然之间想开了。里面的一段是这样的/* generate synthetic audio */ fill_samples((double *)src_data[0], src_nb_samples, src_nb_channels, src_rate, &t); /* compu...

2019-06-01 16:11:45 1215 4

空空如也

空空如也

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

TA关注的人

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