开发原由:大晚上的比赛不想熬夜观看,在飞牛中部署脚本,晚上定时录制,第二天上班摸鱼观看。
功能:用于录制 m3u8 格式的直播流,支持自定义开始时间、结束时间和分段时长。
主要需要修改:
直播链接.txt - 将示例URL替换为您的实际直播源地址docker/env.example 或 docker/.env - Docker版本的环境变量配置(可选)本项目提供两种运行方式:
docker/ 目录)直播链接.txt 中每行一个URL)bash# 安装 ffmpeg
sudo apt-get update
sudo apt-get install -y ffmpeg
# 安装 Python(如果还没有)
sudo apt-get install -y python3 python3-pip
bashpython3 record_live.py --segment 5
bash# 23:30 开始,02:00 结束(跨天),每10分钟一段
python3 record_live.py --start 23:30 --end 02:00 --segment 10
bashpython3 record_live.py --start 23:30 --segment 10
bash# ⚠️ 请将 example.com 替换为您的实际直播源地址
python3 record_live.py --url https://example.com/live/stream.m3u8 --start 23:30 --end 02:00 --segment 5
--url: 直播流URL(可选,如果不提供会从 直播链接.txt 读取)--start: 开始时间,格式 HH:MM 或 HH:MM:SS(如:23:30)--end: 结束时间,格式 HH:MM 或 HH:MM:SS(如:02:00)--segment: 每个分段的分钟数(默认:10分钟)录制文件保存在 data/ 目录下:
单条链接时:
data/ └── YYYYMMDD_HHMMSS_segment_001.mp4 YYYYMMDD_HHMMSS_segment_002.mp4 ...
多条链接时(每条链接独立子目录):
data/ ├── stream_01_example/ # 第1条链接的录制文件 │ ├── YYYYMMDD_HHMMSS_segment_001.mp4 │ └── YYYYMMDD_HHMMSS_segment_002.mp4 └── stream_02_example/ # 第2条链接的录制文件 ├── YYYYMMDD_HHMMSS_segment_001.mp4 └── YYYYMMDD_HHMMSS_segment_002.mp4
在 直播链接.txt 文件中,可以添加多个URL,每行一个:
# ⚠️ 请将下面的示例URL替换为您的实际直播源地址 https://example.com/live/stream1.m3u8 https://example.com/live/stream2.m3u8 https://example.com/live/stream3.m3u8
脚本会自动检测所有链接,并同时并行录制所有链接。每条链接的文件会保存在独立的子目录中,方便管理。
注意: 以 # 开头的行会被忽略(可以作为注释)。
比赛在 00:30 开始,预计 03:00 结束,每5分钟一段:
bashpython3 record_live.py --start 00:30 --end 03:00 --segment 5
比赛在 20:00 开始,预计 22:30 结束,每10分钟一段:
bashpython3 record_live.py --start 20:00 --end 22:30 --segment 10
Ctrl+C 手动停止录制如果需要后台运行,可以使用 nohup 或 screen:
bash# 使用 nohup
nohup python3 record_live.py --start 23:30 --end 02:00 --segment 10 > record.log 2>&1 &
# 或使用 screen
screen -S record
python3 record_live.py --start 23:30 --end 02:00 --segment 10
# 按 Ctrl+A 然后 D 分离会话
# 重新连接: screen -r record
如果需要使用 Docker 版本,请查看 docker/ 目录:
bashcd docker
docker compose up -d
详细文档请参考:docker/README.md
根据测试数据(1分钟 = 24MB):
建议预留至少 5-10 GB 空间用于录制。
对于飞牛 NAS 用户,推荐使用 Docker 版本,因为飞牛 NAS 本身就是基于容器的平台,Docker 版本可以更好地与系统集成。
脚本地址:蓝奏云
本文作者:口水
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!