Java VLCj转码和文件保存
我想开发一个网络摄像头记录的java应用程序应在Windows、Linux和Mac上无缝工作。我正在使用caprica软件提供的VLCj CaptureTest.java类。我有一些疑问和问题:Java VLCj转码和文件保存,java,vlc,libvlc,vlcj,Java,Vlc,Libvlc,Vlcj,我想开发一个网络摄像头记录的java应用程序应在Windows、Linux和Mac上无缝工作。我正在使用caprica软件提供的VLCj CaptureTest.java类。我有一些疑问和问题: 捕获设备MRL适用于Windows(dshow://)和Linux(v4l2:///dev/video0),但不适用于Mac Linux仅提供音频媒体选项,即:输入从设备=alsa://hw:0,0 那Windows和Mac呢 我在转码方面也有一些非常棘手的问题。当我运行该类时,不会显示视频,会显示一个
String[] options = { ":sout=#transcode{vcodec=mp4v,vb=800,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100}:file{dst=" + fileName + "},dst=display}",
":input-slave=alsa://hw:0,0"
};
显示和收听视频和音频,但未为以下来源创建文件:
String[] options = {
":sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:duplicate{dst=display,dst=file{dst=" + fileName + "}'",
":input-slave=alsa://hw:0,0"
};
及
我一直在搜索谷歌和Stackoverflow,但我没有得到我需要的。抱歉我对VLCj缺乏了解主要原因是录制视频取决于输入视频,我们应该为这种类型的视频选择正确的编解码器(或转码)。
可能,您可以尝试首先用VLC录制输入视频,生成字符串选项,然后只选择正确的选项,使视频可见 这不是特别的
VLCJ
问题;这就是如何使用libVLC
引擎和sout
VLC命令。首先使用VLC
媒体播放器测试sout
命令,然后将其作为选项字符串放入VLCJ
中。当然,这里还有一些问题,但你会解决的。现在问题解决了。vcodec=mp4v是主要问题,我改变了vcodec=mp2v,所有的都开始工作了。工作源链是:“:sout=#transcode{vcodec=mp2v,vb=4096,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100}:duplicate{dst=file{dst=“+fileName+”},dst=display,select=noaudio}…”。。。。。。。。。。。。。。。文件名必须具有.mpg扩展名。
String[] options = {
":sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:standard{access=file,mux=ts,dst=" + fileName + "}'",
":input-slave=alsa://hw:0,0"
};