docker上的ffmpegstream

我是新来的docker和ffmpeg。 我正在尝试使用“ jrottenberg / ffmpeg ”容器执行以下POC操作:将video从video摄像机传输到docker集装箱,然后从docker集装箱中取回。 首先,我检查了一下所有在当地的工作。 从摄像机stream(我不知道究竟是什么,所有这些参数,但我发现它的工作):

ffmpeg -rtbufsize 1500M -re -f dshow -video_size 1280x720 -framerate 30 -r 30 -i video="Lenovo EasyCamera" -pix_fmt yuv420p -vcodec libx264 -vprofile baseline -an -strict experimental -f mpegts udp://localhost:1234

现在播放stream:

 ffplay.exe udp://localhost:1234 

看video,一切都好。 现在我正在改变本地主机到docker机器ip udp://192.168.99.101:1234

运行docker集装箱,端口转发:

docker run -p 1234:1234/udp -p 5555:5555/udp jrottenberg/ffmpeg -i udp://0.0.0.0:1234 -f mpegts udp://0.0.0.0:5555

这似乎工作。 这里的docker输出:

日志

PS C:\> docker logs d96094fc41e0 Input #0, mpegts, from 'udp://0.0.0.0:1234': Duration: N/A, start: 21.466667, bitrate: N/A Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0[0x100]: Video: h264 ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720, 30 fps, 30 tbr, 90k tbn, 60 tbc Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> mpeg2video (native)) Press [q] to stop, [?] for help Output #0, mpegts, to 'udp://0.0.0.0:5555':ime=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A Metadata: encoder : Lavf57.71.100 Stream #0:0: Video: mpeg2video, yuv420p, 1280x720, q=2-31, 200 kb/s, 30 fps, 90k tbn, 30 tbc Metadata: encoder : Lavc57.89.100 mpeg2video Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1 frame= 214 fps= 70 q=31.0 size= 990kB time=00:00:11.96 bitrate= 678.1kbits/s speed=3.89x

PS

PS C:\> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d96094fc41e0 jrottenberg/ffmpeg "ffmpeg -i udp://0..." 5 minutes ago Up 5 minutes 0.0.0.0:1234->1234/udp, 0.0.0.0:5555->5555/udp hungry_poitras

但是,当我尝试通过ffplay连接:

ffplay.exe udp://192.168.99.101:5555

我什么也没看见…

我使用Docker工具箱的Windows和VirtualBox虚拟机。 有任何想法吗?