0

我有一个视频容器vid.mp4,我想ffplay通过一个命名的 PIPE 播放它,并且能够调整“通道”允许的最大带宽。遵循我所做的:

1.创建一个命名管道:

mkfifo pipe_in

2.在管道查看器的帮助下,以有限的带宽(150kB/s)将容器发送到管道pv

cat vid.mp4 | pv -L 150k > pipe_in

3.播放视频ffplay

ffplay cache:./pipe_in

我的期望:立即观看视频,但由于带宽限制而缓慢。

真正发生2.的事情:视频仅在命令完成运行时才开始以正常速度显示。

先感谢您!

4

1 回答 1

1

您的视频需要预先设置 MOOV 框。

ffmpeg -i vid.mp4 -c copy -movflags +faststart newvid.mp4

现在,您应该获得可用的播放

ffplay ./pipe_in

如果您希望使用缓存协议,则需要设置缓存限制。

ffplay -read_ahead_limit 65K cache:./pipe_in

如果未找到该选项,请升级 ffplay。

于 2019-03-13T12:23:33.180 回答