我正在尝试使用udp将我的桌面从一台Pc传输到另一台Pc。不幸的是,延迟相当高(我已经可以将其从15秒减少到2秒,在同一台PC上运行客户端和主机的测试中。我的主机命令看起来像这样:
ffmpeg -f dshow -framerate 24 -i video=screen-capture-recorder -vf scale=1280:720 -vcodec libx264 -force_key_frames "expr:gte(t,n_forced*2)" -pix_fmt yuv420p -tune zerolatency -preset ultrafast -f mpegts udp://239.255.1.2:1234我的客户端命令如下所示:
ffplay -fflags nobuffer -infbuf -fast -framedrop -vf "setpts=(PTS*0.95)" udp://239.255.1.2:1234你有什么想法,如何更快地实现这个目标?
发布于 2016-04-08 14:27:50
我认为下面的链接可以帮助你探索另一个想法,比如缓冲区使用,缩放策略,根据编译指南中描述的操作系统编译ffmpeg,等等。
https://trac.ffmpeg.org/wiki/EncodingForStreamingSites
另一方面,你可以考虑生成小视频(流的每一部分)。
这个想法是,客户端应用程序开始再现第一个视频,直到它被完全下载,而同时在另一个过程中,随后的小视频开始同时下载。第二个视频将一直播放,直到它完全下载,依此类推。
当然,我认为当网络服务影响应用程序视频流的功能性时,显示消息是很重要的。
几年前,我使用网络摄像头轴,swf视频和ffmpeg做了类似的事情。“实时流视频”录像机是.net格式的,而播放器视频是php (服务器端)和javascript (客户端)。
https://stackoverflow.com/questions/36492692
复制相似问题