Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.Dimension;
- import javax.swing.JFrame;
- import javax.swing.SwingUtilities;
- import org.gstreamer.Element;
- import org.gstreamer.ElementFactory;
- import org.gstreamer.Gst;
- import org.gstreamer.Pad;
- import org.gstreamer.Pipeline;
- import org.gstreamer.State;
- import org.gstreamer.swing.VideoComponent;
- /**
- * USE GSTREAM
- * @author Alberto Lepe <lepe@inspeedia.com>
- * @link: http://code.google.com/p/gstreamer-java/wiki/VideoTestTutorial
- */
- public class VideoTest {
- public VideoTest() {
- }
- private static Pipeline pipe;
- public static void main(String[] args) {
- args = Gst.init("VideoTest", args);
- pipe = new Pipeline("VideoTest");
- final Element videosrc = ElementFactory.make ("souphttpsrc", "video");
- videosrc.set("location","http://admin:12345@192.168.1.100/nphMotionJpeg?Resolution=320x240&Quality=Standard&Framerate=1");
- videosrc.set("do-timestamp",true);
- final Element demux = ElementFactory.make ("multipartdemux", "demuxer");
- final Element decoder = ElementFactory.make ("jpegdec","jpg");
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- VideoComponent videoComponent = new VideoComponent();
- Element videosink = videoComponent.getElement();
- pipe.addMany(videosrc, demux, decoder, videosink);
- demux.connect(new Element.PAD_ADDED() {
- @Override
- public void padAdded(Element element, Pad pad) {
- pad.link(decoder.getSinkPads().get(0));
- }
- });
- videosrc.link(demux);
- decoder.link(videosink);
- // Now create a JFrame to display the video output
- JFrame frame = new JFrame("Swing Video Test");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.add(videoComponent, BorderLayout.CENTER);
- videoComponent.setPreferredSize(new Dimension(720, 576));
- frame.pack();
- frame.setVisible(true);
- // Start the pipeline processing
- pipe.setState(State.PLAYING);
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement