准备工作
- 需要安装好docker
- 安装好镜像
bash
docker pull alfg/nginx-rtmp
docker run -it -p 1935:1935 -p 8080:80 --rm alfg/nginx-rtmp #创建临时容器,容器停止即删除
- 安装好ffmpeg
bash
sudo apt update
sudo apt install ffmpeg
ffmpeg -version
安装成功出现如下信息:
ffmpeg推流
采用循环推流模式
bash
ffmpeg -re -stream_loop -1 -i ./5-2.mp4 -vcodec copy -acodec aac -ar 44100 -f flv rtmp://ip:1935/stream/example
参数解释如下:
ffmpeg
: FFmpeg工具的启动命令。re
: 强制FFmpeg以输入文件的本来速度读取,即按照实际帧速率进行处理。这对于直播场景很重要。stream_loop -1
: 循环播放输入文件,-1表示无限循环。i ./5-2.mp4
: 指定输入文件为名为5-2.mp4的视频文件。vcodec copy
: 复制视频编解码器,保持原视频的编码方式。acodec aac
: 设置音频编解码器为AAC。ar 44100
: 设置音频采样率为44.1 kHz。f flv
: 指定输出格式为FLV。rtmp://IP:1935/stream/example
: 指定RTMP服务器的地址以及流的名称,流的名称为example