gpt4 book ai didi

java - VLCJ 保存媒体播放器捕获

转载 作者:行者123 更新时间:2023-12-01 09:47:06 26 4
gpt4 key购买 nike

我正在使用 VLCJ,并且希望使用 mediaPlayer.playMedia(); 保存正在播放的视频剪辑。到我的桌面。我知道这可以通过使用 :sout 字符串设置媒体选项来完成,但我不知道要设置哪些选项,并且我无法理解网络上的示例选项字符串。有人可以帮助解释以下 :sout 选项字符串吗?

String[] options = {":sout=#transcode{vcodec=mp4v,vb=4096,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100}:duplicate{dst=file{dst=" + fileName + "},dst=display}", ":input-slave=alsa://hw:0,0"};

我只需要一个使用 fileName 目标创建 mp4 视频的选项数组。这些选项对我来说失败/错误。

此外,VLCJ 似乎因该错误而丢失了大量帧

avcodec 解码器错误:视频延迟超过 5 秒 -> 丢帧

通过使用这些选项

String[] options = {":sout=#transcode{vcodec=mp1v,vb=2048,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100}:duplicate{dst=file{mux=mpeg1,dst=" + fileName + "},dst=display}", ":input-slave=dshow://hw:0,0" };

最佳答案

要保存原始流,请在播放媒体时使用类似于以下内容的媒体选项:

String mrl = "your-streaming-mrl";
String[] opts = {"sout=#duplicate{dst=std{access=file,mux=raw,dst=output-file.ext}}"};

显然,您可以将“your-streaming-mrl”和“output-file.ext”替换为适当的内容。

然后:

mediaPlayer.playMedia(mrl, opts);

在保存的文件准备就绪之前,您需要等待(监听)媒体播放器“完成”事件。

在保存的文件准备就绪之前,您可能还需要在媒体播放器上显式调用 release()

关于java - VLCJ 保存媒体播放器捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37900166/

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