FFmpeg开发笔记(八十九)基于FFmpeg的直播视频录制工具StreamCap

随着推拉流技术的发展,现在网络直播应用很普及了,打开许多App都能看到各式各样的直播节目,包括抖音、快手、虎牙、斗鱼、B站、小红书、YY、映客等等。

有关视频推拉流的FFmpeg实现参见《FFmpeg开发实战:从零基础到短视频上线》一书的"10.2 FFmpeg推流和拉流",使用FFmpeg结合专用的流媒体服务器,可以很方便地实现视频直播功能。不过常规的拉流操作仅能实现播放功能,未能实现存储功能。如果事后还想回看以前的直播视频,就得引入直播录制功能了。
StreamCap正是一个开源的国产直播流录制工具,它基于FFmpeg和StreamGet设计,覆盖40余个国内外主流直播平台,支持批量录制、循环监控、定时监控和自动转码等功能。StreamCap支持跨平台,能够在Windows/MacOS/Web上运行,并支持ts、flv、mkv、mov、mp4、mp3、m4a等常见格式,录制完成后会自动转码为mp4格式。
StreamCap的源码托管地址为https://github.com/ihmily/StreamCap(星星数2.4k),国内的镜像地址为https://gitcode.com/gh_mirrors/st/StreamCap。最新版本是2025年8月发布的v1.0.2,可见该框架的源码更新十分及时,该版本的源码下载链接为https://github.com/ihmily/StreamCap/archive/refs/tags/v1.0.2.tar.gz。
StreamCap基于Python 3.10开发,从源代码运行的话,需要在源码目录运行下面命令安装依赖包:

复制代码
# 安装核心依赖
pip install -i https://pypi.org/simple streamget 
# 桌面端
pip install -r requirements.txt
# Web端
pip install -r requirements-web.txt

接着执行下面命令,将示例的配置文件.env.example复制一份,并将新文件重命名为.env:

复制代码
cp .env.example .env

若在Windows和macOS运行上StreamCap,则通过以下命令启动程序界面:

复制代码
python main.py

启动成功后打开的StreamCap初始界面如下图所示:

单击界面右边的【开始录制】按钮,打开下图所示的配置界面:

在配置界面的直播间地址栏输入直播链接,然后单击右下角的【确定】按钮,跳到正在录制界面如下图所示:

正在录制界面实时提示当前录制进度,也支持停止录制,录制好的视频默认保存在StreamCap的downloads/Custom/CustomLive目录下。

单击StreamCap左上角的【设置】按钮,打开如下图所示的设置界面。

在设置界面支持修改包含基础设置、代理设置在内的录制选项,也支持修改推送设置、Cookie设置、账号设置等配置信息,方便用户个性化定制直播录制信息。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

相关推荐
程序员老陆2 小时前
M3U8(HLS 索引协议)深度详解:它不存一帧画面,却指挥了整个互联网视频
音视频·hls·m3u8
雪的季节2 小时前
音视频(51-52)
音视频
hz567893 小时前
视频会议终端品牌如何选择?主流产品特点与选型标准
安全·音视频·实时音视频·信息与通信
程序员老陆3 小时前
说一说FFmpeg6在Linux平台的编译
linux·运维·服务器·ffmpeg
用户518186005665 小时前
FFmpeg 剪辑:为什么 `-c copy` 往往做不到帧准确剪切
ffmpeg
NutShell Wang5 小时前
国产全模态开源潮:从语言模型到视频模型,中国开源生态再升级
人工智能·语言模型·开源·大模型·音视频·多模态·vibe coding
民乐团扒谱机7 小时前
【读论文】复调音乐信号的主旋律提取:方法、应用与挑战
开发语言·人工智能·算法·音视频·音乐
byte轻骑兵8 小时前
【AVDTP】规范精讲[8-3]: 流配置核心三步:从参数下发到动态重配置全拆解
音视频·avrcp·蓝牙耳机·蓝牙车机·蓝牙音频控制
微帧Visionular10 小时前
GenOpt像素智绘引擎|AI生成视频需要怎样的视觉优化算法?
人工智能·aigc·音视频
杀生丸学AI1 天前
【世界模型】MotionForesight:视频模型应用于未来的三维场景流预测
音视频