Проблема с примером клиента RTSP java vlcj 1.2.2 (Mac OSX 10.6) - PullRequest
1 голос
/ 08 февраля 2012

Я пытаюсь запустить их учебный код для подключения к потоку rtsp с моей веб-камеры и отображения канала на JFrame. Я изменил их пример кода, чтобы сделать простой клиентский просмотрщик RTSP. Когда я указываю местоположение каталога в методе playMedia, я могу проигрывать mp3, mpegs, avi - это нормально.

например. mediaPlayerComponent.getMediaPlayer (). playMedia ("/ Volumes / dl / Властелин колец - Две башни / Властелин колец - Две башни - Диск 1.mp4"); // работает

Когда я вхожу в рабочий RTSP mrl, он ломается. Он работает в автономном приложении VLC под управлением live555. С этим клиентским кодом у меня просто черный экран.

    import uk.co.caprica.vlcj.binding.LibVlc;
    import uk.co.caprica.vlcj.runtime.RuntimeUtil;

    import com.sun.jna.Native;
    import com.sun.jna.NativeLibrary;
    import uk.co.caprica.vlcj.binding.LibVlc;
    import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
    import uk.co.caprica.vlcj.runtime.RuntimeUtil;
    import javax.swing.SwingUtilities;
    import com.sun.jna.NativeLibrary;
    import javax.swing.JFrame;
    import uk.co.caprica.vlcj.mrl.RtspMrl;

    public class Tutorial1B {

        private final EmbeddedMediaPlayerComponent mediaPlayerComponent;
        public static void main(String[] args) {

            if (com.sun.jna.Platform.isMac()) {
                final String jnaLibraryPath = System.getProperty("jna.library.path");
                final StringBuilder newJnaLibraryPath = new StringBuilder(jnaLibraryPath != null ? (jnaLibraryPath + ":") : "");
                newJnaLibraryPath.append("/Users/Huy/Downloads/vlc-vlckit-x86_64-20120131-2049/VLCKit/VLCKit.framework/Versions/A/lib");
                System.setProperty("jna.library.path", newJnaLibraryPath.toString());
            }   



            SwingUtilities.invokeLater(new Runnable() {
            @Override
             public void run() {
              new Tutorial1B();
             }
             });
            }

    private Tutorial1B() {
       JFrame frame = new JFrame("HUY vlcj");

       mediaPlayerComponent = new EmbeddedMediaPlayerComponent();

       frame.setContentPane(mediaPlayerComponent);

       frame.setLocation(100, 100);
       frame.setSize(1050, 600);
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setVisible(true);
       String mrl = new RtspMrl().host("192.168.0.191")
                       .port(554)
                       .path("/live/ch01_0/")
                       .value();    

    //mediaPlayerComponent.getMediaPlayer().playMedia("/Volumes/dl/The Lord Of The Rings - The Two Towers/The Lord Of The Rings - The Two Towers - Disc 1.mp4");
        mediaPlayerComponent.getMediaPlayer().playMedia(mrl);
       }    
    }

У меня нет идей, и я искал этот сайт и его учебные пособия для примеров, но безрезультатно. Спасибо за помощь!

1 Ответ

0 голосов
/ 15 июня 2012

Привет Это хорошо для меня работает на Snow Leopard.

Для MRL вы должны указать, как сказал @ee.

...