如何使用libvlc在android上加速ffmpeg流?

问题描述 投票:0回答:1

我正在从我的Android应用中的GoPro实时流式传输。我使用ffmpeg从GoPro接收流数据,并使用vlc在Surfaceview中播放数据。我使用了KonradIT here提供的代码。 ffmpeg使用的主要命令是:

-fflags nobuffer -f mpegts -i udp://:8554 -f mpegts udp://127.0.0.1:8555/gopro?pkt_size=64

和vlclib的选项是:

options.add("--aout=opensles");
options.add("--audio-time-stretch");
options.add("-vvv");

输出结果更糟。它比较笨拙,速度约为17 FPS。而且令人烦恼的是,流式传输的图片非常小,据我尝试,还没有办法将其放大和拉伸。我想知道是否有任何命令来加速流传输(无论如何,即使通过降低质量)?在ffmpeg或vlc旁边。

android ffmpeg vlc live-streaming libvlc
1个回答
0
投票

如果仅是中继数据包,请尝试以下操作:

ffmpeg -fflags nobuffer -f mpegts -i udp://:8554 -c:v copy -c:a copy -f mpegts  udp://127.0.0.1:8555/gopro?pkt_size=1316

您可以根据网络的MTU大小(<1500)使用不同的数据包大小进行播放。检查延迟。

使用此命令,我们不会对传入的数据包进行转码,调整大小和中继。

© www.soinside.com 2019 - 2024. All rights reserved.