FFmpeg4.0笔记:采集系统声音
2024-09-03 05:15:48
Github
https://github.com/gongluck/FFmpeg4.0-study/tree/master/Cff
// 采集系统声音
void test_systemsound()
{
bool ret = false;
std::string err;
CDemux demux;
CDecode decode;
ret = demux.device_register_all(err);
TESTCHECKRET(ret);
ret = demux.set_input_format("dshow", err); //采集声卡
TESTCHECKRET(ret);
ret = demux.set_dic_opt("framerate", "15", err);
TESTCHECKRET(ret);
ret = demux.set_demux_callback(DemuxSystemSoundCB, &decode, err);
TESTCHECKRET(ret);
ret = demux.set_demux_status_callback(DemuxStatusCB, &demux, err);
TESTCHECKRET(ret);
ret = demux.set_input("audio=virtual-audio-capturer", err);
TESTCHECKRET(ret);
ret = demux.openinput(err);
TESTCHECKRET(ret);
g_vindex = demux.get_steam_index(AVMEDIA_TYPE_VIDEO, err);
std::cout << err << std::endl;
g_aindex = demux.get_steam_index(AVMEDIA_TYPE_AUDIO, err);
std::cout << err << std::endl;
ret = decode.set_dec_callback(DecAudioFrameCB, &decode, err);
TESTCHECKRET(ret);
ret = decode.copy_param(demux.get_steam_par(g_aindex, err), err);
TESTCHECKRET(ret);
ret = decode.codec_open(err);
TESTCHECKRET(ret);
ret = demux.begindemux(err);
TESTCHECKRET(ret);
std::cout << "input to stop demuxing." << std::endl;
std::cin.get();
ret = demux.stopdemux(err);
TESTCHECKRET(ret);
}
最新文章
- WCF学习目的
- 安装swoole 扩展,在phpinfo中显示,但是php -m 中不显示的问题
- SQL注入小结
- UDP/TCP通信小记
- html5移动web开发实战必读书记
- Swift—默认构造函数-备
- Php 使用 fsockopen发送http请求
- JDBC----数据库连接池(connection pool)
- background背景透明内容不透明
- python-02 数据类型、字符编码、文件处理
- android自定义View-继承
- CSS解决无空格太长的字母,数字不会自动换行的问题
- TX2 安装 ROS 依赖库错误解决办法
- 初探APT攻击
- vue移动端金融UI组件库滴滴MandMobile面向金融场景设计附功能思维导图
- 2018年12月7日 字符串格式化2 format与函数1
- 样条之贝塞尔(Bezier)
- Nginx源码分析-ngx_module_s结构体
- 无password身份验证:安全、简单且部署高速
- Ubuntu下Apache2+Tomact7安装、配置及整合
热门文章
- 从零开始入门 K8s | Kubernetes 调度和资源管理
- CSS效果篇--这里有你想要的CSS3漂亮的自定义Checkbox各种复选框
- (二)C语言之常量
- Laravel find in set排序
- 一、基础篇--1.3进程和线程-CountDownLatch、CyclicBarrier 和 Semaphore
- Python全栈开发第5天作业
- 打开App显示文件已损坏,打不开,您应该将它移到废纸篓,怎么办?
- Cortex-M3 异常返回值EXC_RETURN
- Jmeter测试结果分析(下)
- c++ STL之unordered_set