Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video streaming 使用javacv将视频流传输到rtsp服务器_Video Streaming_Rtsp_Javacv - Fatal编程技术网

Video streaming 使用javacv将视频流传输到rtsp服务器

Video streaming 使用javacv将视频流传输到rtsp服务器,video-streaming,rtsp,javacv,Video Streaming,Rtsp,Javacv,我正在使用java CV进行视频流。我从网络摄像头捕获了视频。但当我试图将视频流传输到Darwin服务器时,它失败了。代码是 package streamingapp; import com.googlecode.javacpp.Loader; import com.googlecode.javacv.CanvasFrame; import com.googlecode.javacv.FFmpegFrameRecorder; import com.googlecode.javacv.Frame

我正在使用java CV进行视频流。我从网络摄像头捕获了视频。但当我试图将视频流传输到Darwin服务器时,它失败了。代码是

package streamingapp;

import com.googlecode.javacpp.Loader;
import com.googlecode.javacv.CanvasFrame;
import com.googlecode.javacv.FFmpegFrameRecorder;
import com.googlecode.javacv.FrameGrabber;
import com.googlecode.javacv.OpenCVFrameGrabber;
import com.googlecode.javacv.cpp.avcodec;
import com.googlecode.javacv.cpp.opencv_objdetect;
import static com.googlecode.javacv.cpp.avutil.*;
import static com.googlecode.javacv.cpp.opencv_core.*;


public class StreamingApp {

public static void main(String[] args) throws Exception {

    Loader.load(opencv_objdetect.class);
    CanvasFrame frame = new CanvasFrame("webcam");
    FrameGrabber grabber = new OpenCVFrameGrabber(0);

    grabber.setImageHeight(500);
    grabber.setImageWidth(500);
    grabber.start();

    IplImage grabbedImage = grabber.grab();
    int width = grabbedImage.width();
    int height = grabbedImage.height();

    CvMemStorage storage = CvMemStorage.create();

    FFmpegFrameRecorder recorder = new FFmpegFrameRecorder("rtsp://ipaddress:portno/testVideoStream.3gp", width, height);



    recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
    recorder.setFormat("rtsp");
    recorder.setFrameRate(grabber.getFrameRate());
    recorder.setVideoCodec(13);
    recorder.setPixelFormat(AV_PIX_FMT_YUV420P);
    recorder.setVideoBitrate(10 * 1024 * 1024);
    recorder.start();

    int i = 0;

    while (frame.isVisible() && (grabbedImage = grabber.grab()) != null) {
    System.out.println("(" + i++ + ") Invio. . .");
    frame.showImage(grabbedImage);
    recorder.record(grabbedImage);
    }

    cvClearMemStorage(storage);
    recorder.stop();
    grabber.stop();
  }

}

是否可以使用javacv以rtsp格式传输视频。

试试这个。。。。我得到了结果(达尔文服务器)

FFmpegFrameRecorder=新的FFmpegFrameRecorder(“rtp://ipaddress:portno/testVideoStream.sdp“、宽度、高度);
录像机。设置视频编解码器(13);
记录器.setFormat(“rtp”);
记录器。设置帧率(30);
//recorder.setPixelFormat(AV_PIX_FMT_YUV420P);
//记录器。设置视频比特率(10*1024*1024);
recorder.start();