2012-05-25 3 views
4

Я разрабатываю приложение для видеочата. Я использовал vlcj для потокового видео в реальном времени, но не смог захватить видео из другой системы.Прямая передача видео через http с помощью 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(); 
} 

Это мой код, пожалуйста, помогите мне преодолеть эту проблему.

+0

Изменено строку потокового и я работает fineemediaPlayer.playMedia ("DShow: //", \t \t \t \t «: Sout = # перекодировать { vcodec = H264, VB = 800, 15 кадров в секунду =, масштаб = 1, ширина = 1280, высота = 800, acodec = mp4a, AB = 128, каналы = 2, = 44100 дискретизации}: {SDP RTP = RTSP: // @ : 5555/демо}», \t \t \t \t ": нет-Sout-РТП-сок", \t \t \t \t ": нет-Sout-стандарт-сок", \t \t \t \t ": Sout-все", \t \t \t \t ": Sout-держать"); –

+0

Вам следовало бы поместить это как ответ и принять его так, чтобы другие, кто сталкивался с этим, могли быстро найти решение! – berry120

ответ

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");