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

相关推荐
小鹿研究点东西10 小时前
直播带货长视频AI自动剪辑开播:一场直播如何反复利用?
ffmpeg·自动化·音视频·语音识别
换个昵称都难11 小时前
webrtc PeerConnection 模块介绍
音视频·webrtc
潜创微科技12 小时前
4K60 over IP 方案简介
网络·嵌入式硬件·网络协议·tcp/ip·音视频
超哥--13 小时前
B站视频内容智能分析系统(三):B站视频自动采集
java·开发语言·音视频·ai编程
localbob19 小时前
日语视频 SRT 字幕生成软件下载:日语视频本地自动翻译SRT字幕生成、日语视频自动翻译 Faster Whisper v1.7 下载与使用教程(含AMD显卡支持)
whisper·音视频·机器翻译·日语字幕翻译·日语视频翻译·本地ai翻译日语视频
音乐宝贝家20 小时前
吉他桶型技术解析:GA桶 vs D桶 vs OM桶——入门弹唱选哪个
新媒体运营·音视频·业界资讯·媒体·材质·零售·内容运营
luoyayun36121 小时前
Qt + FFmpeg 实战:获取音视频文件基础属性、流信息和元数据
qt·ffmpeg·音视频·元数据·获取音视频文件属性
Rudon滨海渔村21 小时前
ffmpeg裁剪视频黑屏、不准时等处理方式 - ffmpeg基本操作
ffmpeg·音视频
谁刺我心1 天前
[QtCPP]Examples使用示例-QtMultimedia、QMediaPlayer、Audio音频引擎测试mp3播放
qt·音视频·qml
FFZero11 天前
[mpv脚本系统] (五) C层系统调用的实现: mpv client通信机制
c语言·音视频