VLCJ 保存媒体播放器捕获
VLCJ save mediaplayer capture
我正在使用 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 视频的选项数组。这些选项 fail/error 适合我。
此外,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);
在保存的文件准备好之前,您需要等待(收听)媒体播放器 "finished" 事件。
您可能还需要在保存的文件准备好之前在媒体播放器上显式调用 release()
。
我正在使用 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 视频的选项数组。这些选项 fail/error 适合我。
此外,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);
在保存的文件准备好之前,您需要等待(收听)媒体播放器 "finished" 事件。
您可能还需要在保存的文件准备好之前在媒体播放器上显式调用 release()
。