通过使用vlcj进行http直播视频流传输

4

我正在开发一个视频聊天应用程序。我使用了vlcj进行实时视频流传输,但无法捕获来自其他系统的视频。

public static void main(String[] args) throws Exception 
{
     NativeLibrary.addSearchPath("libvlc", "C:\\Program Files\\VideoLAN\\VLC");

     String media = "dshow://"; 
     String[] options = {" :dshow-vdev=CyberLink Webcam Splitter :dshow-adev=Microphone (Realtek High Defini  :live-caching=300", ":sout = #transcode{vcodec=h264,vb=800,fps=15,scale=1,width=1280,height=800,acodec=mp4a,ab=128,channels=2,samplerate=44100}:http{dst=:8080/a.ogg} :sout-keep"};

     System.out.println("Streaming '" + media + "' to '" + options + "'"); 

     MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(options); 
     HeadlessMediaPlayer mediaPlayer = mediaPlayerFactory.newMediaPlayer(); 
     mediaPlayer.playMedia(media, options);
     new PlayStream().play();

     // Don't exit
     Thread.currentThread().join();
}

这是我的代码,请帮我解决问题。


更改了流媒体字符串,并且现在正常工作了。mediaPlayer.playMedia("dshow://", ":sout=#transcode{vcodec=h264,vb=800,fps=15,scale=1,width=1280,height=800,acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://@:5555/demo}", ":no-sout-rtp-sap", ":no-sout-standard-sap", ":sout-all", ":sout-keep"); - Raji A C
你最好将其作为答案并接受,这样其他遇到同样问题的人就可以快速找到解决方案! - Michael Berry
1个回答

1

更改了串流字符串,现在它正常工作。

mediaPlayer.playMedia("dshow://", ":sout=#transcode{vcodec=h264,vb=800,fps=15,scale=1,width=1280,height=800,acod‌​ec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://@:5555/demo}", ":no-sout-rtp-sap", ":no-sout-standard-sap", ":sout-all", ":sout-keep");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接