rtsp 获取视频流 java_视频流 – 使用javacv将视频流传输到rtsp服务器

我正在使用

java CV进行视频流播放.我从网络摄像头捕获视频.但是当我尝试将流传输到达尔文服务器时它失败了.代码是,

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();

}

}

是否可以使用rtsp格式的javacv流式传输视频.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值