gpt4 book ai didi

linux - mplayer 无法读取 udp 视频流

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:21 25 4
gpt4 key购买 nike

我正在尝试使用 ffmpeg 和 mplayer 的基准比较不同视频编解码器之间的延迟。

我正在使用此命令行生成和发送流:

ffmpeg -s 1280x720 -r 100 -f x11grab -i :0.0 -vcodec mpeg2video -b:v 8000 -f mpegts udp://localhost:4242

而且我成功地使用 ffplay 实时接收和阅读它:

ffplay -an -sn -i -fflags nobuffer udp://localhost:4242?listen

现在我不想使用 ffplay 播放流,而是想使用 mplayer 基准测试来获取有关延迟的一些信息:

mplayer -msglevel all=6 -benchmark udp://localhost:4242

但我得到的是这个输出:

Playing udp://localhost:4242.
get_path('sub/') -> '/home/XXXXX/.mplayer/sub/'
STREAM_UDP, URL: udp://localhost:4242
Filename for url is now udp://localhost:4242
Listening for traffic on localhost:4242 ...
Timeout! No data from host localhost
udp_streaming_start failed
No stream found to handle url udp://localhost:4242

我尝试使用 rtp 协议(protocol),但也没有用...

有人知道我做错了什么吗?

最佳答案

感谢您的回答,

我实际上尝试了很多不同的编解码器,尤其是 vp9、h264 和 mpeg2,但我得到的最好的低延迟是 mpeg2video。这是我使用的 3 个命令行。我阅读了 ffmpeg 流媒体指南和不同编解码器的编码指南,试图为每个指南获取最佳参数,但差异很明显:

ffmpeg -an -sn -s 1280x720 -r 30 -f x11grab -i :0.0 -vcodec libx264 -crf 18 -tune zerolatency -preset ultrafast -pix_fmt yuv420p -profile:v baseline -b:v 8000 -f mpegts threads 4 udp://127.0.0.1:4242

ffmpeg -s 1280x720 -r 30 -f x11grab -i :0.0 -vcodec mpeg2video -b:v 800k -f mpegts -threads 8 udp://127.0.0.1:4242

ffmpeg -t 5 -s 1280x720 -r 30 -f x11grab -i :0.0 -vcodec libvpx-vp9 -an -crf 18 -b:v 1M -f webm -threads 8 udp://127.0.0.1:4242

在本地主机上,我使用 mpeg2video 时几乎没有延迟,而使用 h264 时几乎有 1 秒的延迟。我听说 vp9 也可能有非常低的延迟,但我显然不知道如何使用 ffmpeg 中的选项,因为我得到非常糟糕的延迟值...

无论如何,回到主题,127.0.0.1 而不是 localhost 没有帮助,并且使用 ffmpeg://udp://ip:port 它也不起作用......:/我想我mplayer 上的配置可能有误。也许我应该尝试自己编译它。但实际上,我什至不知道 mplayer 是否会给我我想要的信息(编解码器编码/解码帧的平均毫秒数,以便我可以精确比较不同的编解码器)。

编辑:抱歉...ffmpeg://udp://ip_addr 有效 =) 我输入错误...n_n多谢。虽然,当我使用 mplayer 时,与 ffplay 相比,视频的质量真的很棒......

关于linux - mplayer 无法读取 udp 视频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23114185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com