# Liver streamer 一个基于 Go 语言的自动视频推流工具。 ## 功能特点 - 🎥 支持自动循环推流指定文件夹中的视频文件 - 🎮 提供 Web 控制面板实时监控推流状态 - ⚙️ 灵活的视频编码和推流参数配置 - 🎯 支持视频片段截取推流(指定开始和结束时间) - 🔄 支持手动切换当前推流视频 ## 配置 ### 示例 除了 input 和 output 部分,其余都是可选的 ```json { "input": [ "./videos", { "path": "./video1.mp4", "start": "00:01:00", "end": "01:00:00" }, { "path": "./video2.mkv", "start": "10s", "end": "100s" } ], "play": { "-c:v": "libx264", "-preset": "medium", "-crf": 23, "-maxrate": "1000k", "-bufsize": "2000k", "-vf": "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2", "-r": 30, "-c:a": "aac", "-b:a": "128k", "-ar": 44100, "-f": "flv" }, "output": { "rtmp_server": "rtmp://live-push.example.com/live", "stream_key": "your-stream-key" }, "log": { "level": "info" "show_ffmpeg_output": true }, "server": { "addr": ":8080", "token": "your-access-token" } } ``` ### play 参数占位符 `{{filename}}`: 视频文件名(不包含后缀) `{{filepath}}`: 视频路径 示例: ```json { "play": { "-vf": "drawtext=text='{{filename}}':x=5:y=5:fontsize=24:fontcolor=white:borderw=2:bordercolor=black" } } ```