Filter 设置MJPEG压缩机
我制作了一个控制台程序,可以从网络摄像头预览视频,并通过MJPEG压缩过滤器将其捕获为.avi格式。我的模式:Filter 设置MJPEG压缩机,filter,directshow,video-encoding,renderer,mjpeg,Filter,Directshow,Video Encoding,Renderer,Mjpeg,我制作了一个控制台程序,可以从网络摄像头预览视频,并通过MJPEG压缩过滤器将其捕获为.avi格式。我的模式: WebCam ->IBaseFilter(Video capture filter) ->IBaseFilter(MJPEG compression filter) ------------->ICaptureGraphBuilder2::RenderStream ->.avi 关于如何通过IAMDevideoCompre
WebCam
->IBaseFilter(Video capture filter)
->IBaseFilter(MJPEG compression filter)
------------->ICaptureGraphBuilder2::RenderStream
->.avi
我的目标是编写一个视频流服务器(如Skype)。您认为15mb/分钟的大小适合在网络上传输视频数据包吗?我将使用UDP(RTP)套接字传输媒体流。您可能需要查看Gstreamer 解码MJPEG流的示例管道如下
gst-launch -v souphttpsrc location="http://[ip]:[port]/[dir]/xxx.cgi" do-timestamp=true is_live=true ! multipartdemux ! jpegdec ! ffmpegcolorspace ! autovideosink
而是将其保存到文件中
gst-launch -v souphttpsrc location="http://[ip]:[port]/[dir]/xxx.cgi" do-timestamp=true is_live=true ! multipartdemux ! jpegdec ! ffmpegcolorspace ! filesink location=test.avi
从网络摄像头获取视频并保存(在Ubuntu Linux上测试)
jpegdec是一种用于解码jpeg格式的bin,该格式包含“idct方法”以提高质量
您可以用等效的C/C++、Java或Python代码编写上述管道。它有很好的绑定
关于编程,请看我的另一篇文章
对于网络相关的东西,你可能想看看RTSP(基于UDP的RTP),看看我对这篇文章的回答
问得好!我也会寻找答案
gst-launch v4l2src ! jpegdec ! filesink location=test.avi