一、官网下载ffmpeg镜像
https://hub.docker.com/r/linuxserver/ffmpeg/tagshttps://hub.docker.com/r/linuxserver/ffmpeg/tags
以latest为例拉取镜像:
[root@ /]# docker pull linuxserver/ffmpeg:latest
latest: Pulling from linuxserver/ffmpeg
73e816adedbf: Pull complete
07a0e16f7be1: Pull complete
58294ae08034: Pull complete
fde7fa7ec0b4: Pull complete
57a05551c417: Pull complete
63e96e59c7e4: Pull complete
67989b6c1ea5: Pull complete
f54aaf611e9c: Pull complete
44a472065e6f: Pull complete
Digest: sha256:ced54fe93c6633300c965d25b3ec5d73de77e820ff84ed13afd5ad86ab9ea973
Status: Downloaded newer image for linuxserver/ffmpeg:latest
docker.io/linuxserver/ffmpeg:latest
查看镜像:
[root@ /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
linuxserver/ffmpeg latest 305dfcb283a1 5 days ago 445MB
二、创建容器用于终端登录
docker run -it --entrypoint='bash' linuxserver/ffmpeg
三、exit后容器停止可用start重新启动
[root@ /]# docker start ecstatic_edison
ecstatic_edison
[root@ /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3c615cda1714 linuxserver/ffmpeg "bash" About an hour ago Up 3 seconds ecstatic_edison
四、 将测试视频文件copy到容器内
docker cp /test/test.mp4 fervent_panini:/
五、进入容器进行推流测试(rtmp地址根据实际情况修改)
[root@ /]# docker exec -it 3c615cda1714 /bin/bash
root@3c615cda1714:/#
root@3c615cda1714:/# ffmpeg -re -stream_loop -1 -i test.mp4 -c copy -f flv rtmp://localhost:19350/live/test1111
六、也可以在容器外简单写一个脚本来实现推流这样就不用每次进容器了
[root@ /]# vim rtmp_test.sh
#! /bin/bash
docker exec -i 9074663f321a /bin/bash -c 'ffmpeg -re -stream_loop -1 -i test.mp4 -c copy -f flv rtmp://localhost:21935/live/test1111'
[root@ /]# chmod +x rtmp_test.sh
[root@ /]# ./rtmp_test.sh