Advertisement
lepe

java-gst-demux

Jan 26th, 2012
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.16 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.awt.Dimension;
  3. import javax.swing.JFrame;
  4. import javax.swing.SwingUtilities;
  5. import org.gstreamer.Element;
  6. import org.gstreamer.ElementFactory;
  7. import org.gstreamer.Gst;
  8. import org.gstreamer.Pad;
  9. import org.gstreamer.Pipeline;
  10. import org.gstreamer.State;
  11. import org.gstreamer.swing.VideoComponent;
  12.  
  13. /**
  14.  * USE GSTREAM
  15.  * @author Alberto Lepe <lepe@inspeedia.com>
  16.  * @link: http://code.google.com/p/gstreamer-java/wiki/VideoTestTutorial
  17.  */
  18. public class VideoTest {
  19.     public VideoTest() {
  20.     }
  21.     private static Pipeline pipe;
  22.     public static void main(String[] args) {
  23.         args = Gst.init("VideoTest", args);
  24.         pipe = new Pipeline("VideoTest");
  25.         final Element videosrc = ElementFactory.make ("souphttpsrc", "video");
  26.         videosrc.set("location","http://admin:12345@192.168.1.100/nphMotionJpeg?Resolution=320x240&Quality=Standard&Framerate=1");
  27.         videosrc.set("do-timestamp",true);
  28.         final Element demux = ElementFactory.make ("multipartdemux", "demuxer");
  29.         final Element decoder = ElementFactory.make ("jpegdec","jpg");
  30.  
  31.         SwingUtilities.invokeLater(new Runnable() {
  32.  
  33.             public void run() {
  34.                 VideoComponent videoComponent = new VideoComponent();
  35.                 Element videosink = videoComponent.getElement();
  36.                 pipe.addMany(videosrc, demux, decoder, videosink);
  37.                 demux.connect(new Element.PAD_ADDED() {
  38.                     @Override
  39.                     public void padAdded(Element element, Pad pad) {
  40.                         pad.link(decoder.getSinkPads().get(0));
  41.                     }
  42.                 });
  43.                 videosrc.link(demux);
  44.                 decoder.link(videosink);
  45.                
  46.                 // Now create a JFrame to display the video output
  47.                 JFrame frame = new JFrame("Swing Video Test");
  48.                 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  49.                 frame.add(videoComponent, BorderLayout.CENTER);
  50.                 videoComponent.setPreferredSize(new Dimension(720, 576));
  51.                 frame.pack();
  52.                 frame.setVisible(true);
  53.                
  54.                 // Start the pipeline processing
  55.                 pipe.setState(State.PLAYING);
  56.             }
  57.         });
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement