2017-03-29 85 views
0

我想做一个简单的程序,将从我的摄像头直播流。vlcj在java摄像头流

public static void main(String[] args) throws Exception 
{ 
    int port = nextAvailable(); 
    //String media = "/root/Desktop/525600.mp4"; 
    String media = "/dev/video0"; 
    String[] options = {":sout=#duplicate{dst=rtp{sdp=rtsp://:"+port+"/stream},dst=display}", ":sout-all", ":sout-keep"}; 
    MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(args); 
    HeadlessMediaPlayer mediaPlayer = mediaPlayerFactory.newHeadlessMediaPlayer(); 
    mediaPlayer.playMedia(media,options); 
    System.out.println("Using port: "+port); 
    Thread.currentThread().join(); 
} 

如果我使用注释媒体(/root/Desktop/525600.mp4),则该流的工作原理没有任何问题。但是,我不知道如何从网络摄像头进行流式传输。我尝试了/ dev/video0,但它给出了以下错误:

[00007fae70008f78] core access error: read error: Invalid argument

[00007fae70008f78] filesystem access error: read error: Invalid argument

[00007fae7000d3d8] core stream error: cannot pre fill buffer

我在做什么错?你

+0

请在这篇文章中看看:[Java Video Streaming](http://stackoverflow.com/questions/5574143/stream-video-in-javahttp://) –

+0

我会调查一下Xuggler ......谢谢! – amaiKy

回答

0

简单地更换

String media = "/dev/video0"; 

String media = "v4l2:///dev/video0"; 

和现在的工作。