如何使用Java制作RTSP服务器流/发送H264格式

时间:2015-08-10 10:26:54

标签: java server h.264 vlc rtsp

我目前正在尝试使用RTSP server制作H264Java格式化视频。

我的RTSP client将是一台通过以太网线连接到服务器的计算机显示器。有人告诉我,显示器可以显示传入的H264格式化视频。我还没有显示器。

即使我还没有显示器,我想看到一些有用的东西。我通过使用vlc media player实例作为服务器和另一个vlc media player实例作为this tutorial之后的客户端来管理此操作。现在我必须实现一个RTSP server,它可以传输H264格式。我找不到任何有关如何使用Java执行此操作的信息。 VLC media player是否有Java API,或者是否有任何来源可以指导我如何使用Java实现此目标?

提前致谢。

编辑:Here我找到了一个很好的起点,如果我可以管理,我会将解决方案作为来源。

1 个答案:

答案 0 :(得分:2)

我解决了。

  1. 您需要在this之后准备好您的环境。确保全部使用64位或全部使用32位版本的VLC,IDE,Java和OS。
  2. 您必须创建一个类并向其添加以下代码块:
  3. 代码块:

    public static void main(String[] args) throws Exception
    {
         // your VLC installation path
         NativeLibrary.addSearchPath("libvlc", "C:\\Program Files\\VideoLAN\\VLC");
    
         String media = "your file url"; // example = file:///C:/test.mp4
         // you are gonna use below value on the client 
         String[] options = {":sout=#rtp{sdp=rtsp://localhost:8554/stream"};
    
         System.out.println("Streaming '" + media + "' to '" + options + "'"); 
    
         MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(); 
         HeadlessMediaPlayer mediaPlayer = mediaPlayerFactory.newHeadlessMediaPlayer(); 
         mediaPlayer.playMedia(media, options, ":no-sout-rtp-sap", ":no-sout-standard-sap", ":sout-all", ":sout-keep");
    
         // Don't exit
         Thread.currentThread().join();
    }
    
    1. 现在您可以将VLC媒体播放器用作RTSP客户端。打开VLC媒体 左侧的播放器单击" Media",然后单击"打开网络 流&#34 ;.输入我们上面给出的网络网址 " rtsp://形式本地主机:8554 /流"让它等在您执行第4步后,按"播放"。
    2. 将您的类作为Java应用程序运行。
    3. 现在,您应该能够在之前作为RTSP客户端打开的VLC媒体播放器中看到您的视频。