obs-studio入门到放弃
文章平均质量分 89
ArchieFu
音视频开发工程师
展开
-
【obs-studio开源项目从入门到放弃】obs-studio项目简介和架构
文章目录前言一、obs-studio项目简介二、windows平台的编译步骤三、obs的核心线程obs视频渲染线程obs视频编码线程obs音频编码线程rtmp发送线程四、常用插件的介绍视频源视频文件win-dshow摄像头采集窗口采集文本渲染显示器采集monitor_captureduplicator_capture游戏捕获音频源wasapi_input_capturewasapi_output_capturewin-audio-capture输出源网络协议推流rtmp-outputsrt-output本地原创 2021-11-22 22:14:36 · 18069 阅读 · 6 评论 -
【obs-studio开源项目从入门到放弃】obs高级输出内存泄露
obs系列文章入口:obs-studio项目简介和架构obs高级输出的介绍: 【obs-studio开源项目从入门到放弃】obs 的高级输出 ffmpeg-output最近长时间推流测试发现,obs的高级输出存在内存泄露。泄露速度不是很快,大约每分钟泄露1M多内存,12个小时泄露700多M。但是如果长时间录制或者使用FFmpeg高级输出推流,会因内存泄露导致崩溃。obs-ffmpeg-output.c 在 receive_video() 和 receive_audio() 都调用了av_packet_all原创 2022-07-09 21:13:43 · 1340 阅读 · 1 评论 -
【音视频技术栈】音视频学习路线规划
文章目录前言音视频的采集预处理编码封装传输解封装解码渲染常用开源项目和工具总结技术参考前言这篇文章简单聊聊我对音视频技术栈的理解,方便入门的同学做个参考。可以规划一下自己的学习路线。话不多说先上一张 XMind 截图音视频技术一句话简单来说就是通过网络将图像和声音从生产端分发给消费端的技术。可以是以点播的方式,也可以是直播的方式,也可以是像视频会议一样互动的方式。现在的网络流量一多半都是在传输音视频的数据,音视频相关的app几乎每个人都在使用,占据了大众娱乐的半壁江山。上面的截图类似于OSI网原创 2022-01-07 00:07:58 · 2792 阅读 · 0 评论 -
【obs-studio开源项目从入门到放弃】windows10使用vs2019编译obs-studio
文章目录1.编译前的准备2.下载github仓库源码以及子目录3.使用cmake-gui生成obs-studio的vs2019解决方案4. 注意事项1.编译前的准备官方编译文档:https://github.com/obsproject/obs-studio/wiki/Install-Instructions1.win10sdk最低版本:Windows 10 SDK (minimum 10.0.20348.0) 下载win10sdk2.Qt版本:Qt 5.15.23.cmake版本最低3.16.原创 2021-11-24 21:02:12 · 5729 阅读 · 9 评论 -
【obs-studio开源项目从入门到放弃】obs_graphics_thread 视频采集渲染线程理解
文章目录前言obs-studio调试前的准备工作视频渲染线程的创建时机视频渲染线程的工作内容视频渲染线程与视频输出线程的配合总结前言obs-studio解决方案中的libobs是整个项目的核心库,负责视频的渲染,图像的混合、视频的输出,音频的混音输出,各种插件的加载,其中包含着以下线程视频的渲染线程 obs_graphics_thread视频输出线程 video_thread音频输出线程 audio_thread快捷键控制线程 obs_hotkey_thread推理重连线程 reconne原创 2021-12-04 09:58:29 · 2768 阅读 · 0 评论 -
【obs-studio开源项目从入门到放弃】audio_thread 音频编码线程理解
文章目录前言1.音频编码线程的创建时机2.音频编码线程的工作内容3.音频编码线程与rtmp输出线程之间的配合4.总结技术参考前言obs系列文章入口:https://blog.csdn.net/qq_33844311/article/details/1214792241.音频编码线程的创建时机2.音频编码线程的工作内容3.音频编码线程与rtmp输出线程之间的配合4.总结技术参考视频技术参考: https://ke.qq.com/course/3202131?flowToken=10409原创 2021-12-09 11:37:19 · 3510 阅读 · 0 评论 -
【obs-studio开源项目从入门到放弃】obs中 x264编码器的使用
文章目录前言x264编码器的创建obs_x264_create() 创建x264编码器x264编码视频帧obs_x264_encode() 编码一帧视频x264低延迟编码参数的设置总结技术参考前言obs系列文章入口:https://blog.csdn.net/qq_33844311/article/details/121479224目前使用最广泛的视频编码格式依然是h264编码,开源的编码库有x264、 OpenH264,obs-studio使用的libx264编码,webRTC使用OpenH264原创 2021-12-22 00:05:50 · 2841 阅读 · 0 评论 -
【obs-studio开源项目从入门到放弃】video_thread 视频编码线程理解
文章目录前言1.视频编码线程的创建时机video_output_open函数创建视频编码线程2.视频编码线程的工作内容video_output_cur_frame 线程真正的工作函数详细解释cached_frame_info的两个字段的含义3.视频编码线程与rtmp输出线程之间的配合4.总结技术参考前言obs系列文章入口:https://blog.csdn.net/qq_33844311/article/details/121479224上一篇文章分析了obs的视频渲染线程的前世今生,这篇我们还是按原创 2021-12-06 21:40:27 · 1751 阅读 · 0 评论 -
【obs-studio开源项目从入门到放弃】obs rtmp推流插件 rtmp_output源码解析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言1.rtmp_output 推流源的创建创建启动rtmp_output的入口 OBSBasic::StartStreaming()2.rtmp推流线程的启动rtmp_stream_start 开始推流connect_thread 连接线程3.rtmp发送线程工作内容send_thread负责音视频包发送发送音视频包调用堆栈总结技术参考前言obs系列文章入口:https://blog.csdn.net/qq_3384431原创 2021-12-10 16:52:45 · 4282 阅读 · 1 评论 -
【obs-studio开源项目从入门到放弃】obs媒体源 ffmpeg_source 分析
文章目录前言媒体源的创建媒体源输出音频帧和视频帧media-playback 封装了操作媒体源的apimp_media_next_video() 输出解码后的视频帧mp_media_next_audio() 输出解码后的音频帧媒体源的控制总结技术参考前言obs支持添加各种容器格式的视频文件,音频文件(mp4、flv、mp3、ts),也支持添加网络流(rtmp,srt,rtsp,udp)。本质上obs是基于ffmpeg的libavformat库提供解码能力播放媒体视频。只要是obs的依赖ffmpeg库支原创 2021-12-11 23:00:32 · 5094 阅读 · 0 评论 -
【obs-studio开源项目从入门到放弃】windows 窗口采集和桌面采集的解决方案
文章目录前言窗口采集源和桌面采集源的注册窗口采集选择桌面采集方式 DXGI or WGC总结技术参考前言obs系列文章入口:https://blog.csdn.net/qq_33844311/article/details/121479224微软的窗口采集分主要是有以下 4种方式,obs的窗口采集和显示器采集使用了其中的3种。详细说明请参考文章最后的参考链接。GDIDXGIMagnificationWindow Graphics Capturer这里简单说明一下,GDI 窗口采集方式是原创 2022-01-19 22:36:17 · 12184 阅读 · 6 评论 -
【obs-studio开源项目从入门到放弃】obs 的高级输出 ffmpeg-output
文章目录前言底层原理ffmpeg-output 创建ffmpeg_output_create 创建ffmpeg-output 启动ffmpeg_output_start 启动音视频编码处理receive_audio 音频编码receive_video 视频编码ffmpeg-output 推流 | 录制write_thread 线程ffmpeg-output 停止ffmpeg_output_stop 停止总结技术参考前言obs系列文章入口:https://blog.csdn.net/qq_3384431原创 2022-01-15 16:58:20 · 5186 阅读 · 0 评论 -
【obs-studio开源项目从入门到放弃】obs aac opus 音频编码器的使用
文章目录前言音频编码器的创建创建音频编码器函数音频编码处理总结技术参考前言obs系列文章入口:https://blog.csdn.net/qq_33844311/article/details/121479224这篇文章介绍一下 obs-ffmpeg-audio-encoders.c 文件中的两个音频编码器。 支持的编码器有 AAC Opus 两种音频编码。这两种编码器的创建和使用都是基于 ffmpeg 的 libavcodec 相关 api需要注意的一点是这两个音频编码器只是作为直播网络流的音频原创 2022-01-12 15:58:50 · 3660 阅读 · 1 评论 -
【obs-studio开源项目从入门到放弃】ffmpeg_muxer 视频的录制(flv-mp4-ts-srt-udp-tcp)
文章目录前言ffmpeg_muxer的创建启动视频录制ffmpeg_mux_start 真正启动视频录制的函数ffmpeg_mux_data 音视频包输出到管道函数write_packet 写管道操作obs-ffmpeg-mux.exe 进程写文件总结技术参考前言obs系列文章入口:https://blog.csdn.net/qq_33844311/article/details/121479224obs支持非常丰富的视频格式的录制,底层是基于ffmpeg的api实现的视频文件的录制。不仅支持本地视原创 2021-12-22 15:37:57 · 2933 阅读 · 2 评论 -
【obs-studio开源项目从入门到放弃】obs 配置 srt推流
文章目录前言srt协议简介obs 配置srt推流srt的配置示例srs流媒体服务器配置srt服务播放 srt 流ffmpeg 推拉流 srt总结技术参考前言现在各大云厂商都支持上行 srt推流,利用 srt的低延迟、快速重传的特性减少用户卡顿和直播延迟。OBS Stuido 25.0 版本之后也支持了srt推流。这篇文章通过srs流媒体服务器和obs studio搭建一个srt的推拉流测试环境。OBS 是通过 FFmpeg的 libavformat 来支持 SRT。FFmpeg提供 libsrt的封原创 2022-01-11 15:30:39 · 5369 阅读 · 1 评论 -
【obs-studio开源项目从入门到放弃】win-wasapi 音频的采集
文章目录前言win-audio-capture 应用音频输出捕获创建windows音频捕获插件音频捕获插件的初始化捕获的音频输出总结技术参考前言windows平台下obs官方自带的音频插件只有一个 win-wasapi ,负责采集扬声器和麦克风的声音。win-audio-capture 应用音频输出捕获这里推荐一个非官方的音频捕获插件 win-audio-capture,可以采集指定进程的音频输入到obs。obs论坛:https://obsproject.com/forum/threads/wi原创 2021-12-25 19:06:01 · 5638 阅读 · 1 评论 -
【obs-studio开源项目从入门到放弃】预览窗口中source的UI操作绘制处理
文章目录前言绘制选中框裁剪源拉伸源移动源总结前言obs-studio项目简介和架构:https://blog.csdn.net/qq_33844311/article/details/121479224在obs的预览窗口上可以对添加的源进行各种操作,比如移动、拉伸、裁切、复制。下面主要分析一下这些操作的处理逻辑。绘制选中框鼠标单击预览窗口添加的 source会绘制红色的选中框。在obs的渲染线程处理相关的绘制操作,具体参考下面的函数调用堆栈。> obs64.exe!DrawSquare原创 2022-04-18 21:32:02 · 2848 阅读 · 0 评论