使用 VLC 流式传输时增加 fps 并减少持续时间
Posted
技术标签:
【中文标题】使用 VLC 流式传输时增加 fps 并减少持续时间【英文标题】:Increasing fps & decreasing duration while streaming using VLC 【发布时间】:2017-08-20 12:38:34 【问题描述】:你好 *** :3
我一直在尝试提高 fps 并有效地减少持续时间,同时提高使用 vlc 从我的硬盘驱动器流式传输视频的速度。如果可能,我想在流式传输时进行转码。我已经可以在流式传输之前加速视频,但这不是我们想要的任务。
我经常用来串流的命令是(注意xxx.xxx.x.xxx代表我的ip):
vlc --intf dummy -vvv /Users/amr/Downloads/bigbangsample.mp4 --sout '#rtpdst=127.0.0.1,port=1234,sdp=rtsp://xxx.xxx.x.xxx:1236/test.sdp'
遵循Change Frames Per Second for VLC Stream 的提示后,我尝试使用以下命令进行转码:
vlc --intf dummy -vvv /Users/amr/Downloads/bigbangsample.mp4 --sout='#transcodefps=60:rtpdst=127.0.0.1,port=1234,sdp=rtsp://xxx.xxx.x.xxx:1236/test.sdp'
虽然我仍然可以在没有警告或错误的情况下观看视频流,但视频似乎根本没有受到影响。
我不确定我的命令是否错误,或者 fps 是否确实已更改但通过复制帧以保持持续时间相同。我是 vlc 和视频处理的新手,如果有任何意见,我将不胜感激。
更新: ffprobe(见下文)似乎表明 fps 没有改变。有没有标准的方法来改变流 fps?
Input #0, rtsp, from 'rtsp://xxx.xxx.x.xxx:1236/test.sdp':
Metadata:
title : Unnamed
comment : N/A
Duration: N/A, start: 21.377938, bitrate: N/A
Stream #0:0: Audio: aac (LC), 48000 Hz, stereo, fltp
Stream #0:1: Video: h264 (High), yuv420p(tv, bt709/unknown/unknown, progressive), 720x404 [SAR 1:1 DAR 180:101], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
感谢您的宝贵时间。
【问题讨论】:
嗨,我认为你必须添加vcodec
,即使它是相同的。所以试试vlc --intf dummy -vvv /Users/amr/Downloads/bigbangsample.mp4 --sout='#transcodevcoded=h264,fps=60:rtpdst=127.0.0.1,port=1234,sdp=rtsp://xxx.xxx.x.xxx:1236/test.sdp' (worked for me at list)
【参考方案1】:
我认为您必须添加vcodec
,即使它是相同的。所以试试
vlc --intf dummy -vvv /Users/amr/Downloads/bigbangsample.mp4 --sout='#transcodevcodec=h264,fps=60:rtpdst=127.0.0.1,port=1234,sdp=rtsp://xxx.xxx.x.xxx:1236/test.sdp'
(至少对我有用)
【讨论】:
是的,它仍然在流式传输,但是如果您观看流式传输,或者以 ffprobe 的形式播放它,它仍然以常规 fps(大约 24-30)播放,或者您还得到了什么? (很酷的个人资料图片顺便说一句 XD) 谢谢:),我在 mpeg 文件上尝试过,它可以工作(改变 fps),如果vlc
不起作用,也许你可以使用ffmpeg
命令。
嗯,很有趣。我将在 mpeg 文件上尝试一下 - 你有没有在 avi 或 mp4 文件上尝试过?以上是关于使用 VLC 流式传输时增加 fps 并减少持续时间的主要内容,如果未能解决你的问题,请参考以下文章