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开发实战:从零基础到短视频上线》一书。

相关推荐
Ghost Face...4 小时前
Linux音频控制神器:amixer完全指南
linux·chrome·音视频
八月的雨季 最後的冰吻5 小时前
FFmepg--28- 滤镜处理 YUV 视频帧:实现上下镜像效果
ffmpeg·音视频
ganqiuye5 小时前
向ffmpeg官方源码仓库提交patch
大数据·ffmpeg·video-codec
草明5 小时前
ffmpeg 把 ts 转换成 mp3
ffmpeg
aqi006 小时前
FFmpeg开发笔记(九十二)基于Kotlin的开源Android推流器StreamPack
android·ffmpeg·kotlin·音视频·直播·流媒体
Together_CZ7 小时前
Cambrian-S: Towards Spatial Supersensing in Video——迈向视频中的空间超感知
人工智能·机器学习·音视频·spatial·cambrian-s·迈向视频中的空间超感知·supersensing
Android系统攻城狮8 小时前
Android16音频之设置音频属性AudioTrack.Builder().setAudioAttributes:用法实例(一百一十九)
音视频·android16·音频进阶
空影星8 小时前
轻量日记神器RedNotebook,高效记录每一天
python·数据挖掘·数据分析·音视频
Black蜡笔小新8 小时前
视频汇聚平台EasyCVR赋能石油管道计量站精准监控与安全管理
安全·音视频