我正在尝试从我的本地目录中获取视频文件,从服务器启用流并从我的客户端捕获这些帧。我使用了以下管道:
服务器端:
gst-launch -v filesrc location=/home/gokul/Videos/Econ_TestVideo/radioactive.mp4 ! qtdemux ! rtpmp4vpay ! udpsink host=192.168.7.61 port=5000 sync=true
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d8800f528045a1443000001b24c61766335332e33352e30, payload=(int)96, ssrc=(uint)3003638799, clock-base=(uint)1542273545, seqnum-base=(uint)49176
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:sink: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple, level=(string)1, codec_data=(buffer)000001b001000001b58913000001000000012000c48d8800f528045a1443000001b24c61766335332e33352e30, width=(int)1280, height=(int)720, framerate=(fraction)91/3, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0: timestamp = 1542273545
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0: seqnum = 49176
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d8800f528045a1443000001b24c61766335332e33352e30, payload=(int)96, ssrc=(uint)3003638799, clock-base=(uint)1542273545, seqnum-base=(uint)49176
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
客户端:
gst-launch -v udpsrc port=5000 caps="application/x-rtp" ! rtpmp4vdepay ! mpeg4videoparse ! queue ! ffdec_mpeg4 ! ffmpegcolorspace ! xvimagesink
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)1, encoding-name=(string)MP4V-ES
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
设置这些后,我没有看到任何显示(甚至没有启动应用程序屏幕)
为了添加以上信息,我正在Ubuntu-12.04的命令行中运行这些命令
最后,我将能够在启动屏幕上看到一些视频。我使用了以下管道。但视频并不清晰。
服务器:
0.10-v filesrc位置=/home/gokul/video.mp4! qtdemux name=d!队列!rtpmp4vpay! udp接收器端口=5000
客户:
gst-launch-0.10 udpsrc端口=5000 caps=“应用程序/x-rtp,媒体=(字符串)视频,时钟速率=(int)90000,编码名称=(字符串)MP4V-ES,配置文件级别id=(字符串)243,配置=(字符串)000001B0F3000001B50EE040CF00000120008440FA282FA0F0A21F,负载=(int)96,ssrc=(uint)4291479415,时钟基数=(uint)4002140493,亮片基数=(uint)57180”!rtpmp4vdepay!ffdec\U mpeg4!xvimagesink同步=错误
那么,有谁能建议我如何通过修改或添加一些管道参数来增强客户端的视频图像吗。
下面是接收器的管道
发件人:
gst-launch-1.0-v filesrc location=视频。mp4!decodebin!x264enc!RTPH264支付!udpsink主机=192.168.1.159端口=5000
输出端盖是否在接收器端使用此盖:
caps=“应用程序/x-rtp,媒体=视频,时钟速率=90000,编码名称=H264,有效负载=96,ssrc=3394826012,时间戳偏移=2215812541,序列号偏移=46353”
收件人:
gst-launch-1.0-v udpsrc port=5000 caps=“应用程序/x-rtp,媒体=视频,时钟速率=90000,编码名称=H264,有效负载=96,ssrc=3394826012,时间戳偏移=2215812541,seqnum偏移=46353”!rtph264depay!decodebin!视频转换!autovideosink同步=错误
因此,您将能够流式传输,视频将是流畅和干净的。在上面的管道中,如果您使用的是gst-Launst-0.10,请将Video转换替换为ffmpegcolspace
以下是我试图实现的目标:我有一个TCP客户端,需要连接到我们的服务器应用程序,但我需要通过HTTPS进行通信。据我所知,这可以通过反向(或正向?)代理如下: 我使用以下vhost配置成功创建了一个不带SSL的代理: (我不确定这些参数中是否有任何一个是不必要的tbh) 使用该vhost,我可以像这样启动与服务器的tcp连接: 一旦我添加SSL并使用端口443,我就无法再连接了: 如果我尝试连接到此
Git 可以通过两种主要的方式在版本库之间传输数据:“哑(dumb)”协议和“智能(smart)”协议。 本节将会带你快速浏览这两种协议的运作方式。 哑协议 如果你正在架设一个基于 HTTP 协议的只读版本库,一般而言这种情况下使用的就是哑协议。 这个协议之所以被称为“哑”协议,是因为在传输过程中,服务端不需要有针对 Git 特有的代码;抓取过程是一系列 HTTP 的 GET 请求,这种情况下,客
我曾尝试使用GStreamer管道将mp4视频转换为avi视频,但它是在没有声音的情况下转换的 gst launch-t-v filesrc location=源。mp4!qtdemux!ffdec\U h264!视频/x-raw-yuv!avimux!filesink location=结果yuv。avi公司
我找到了. avi文件 gst-launch-1.0-v filesrc location=测试。阿维!avidemux!decodebin!视频转换!“视频/x-raw,格式=YUY2”!v4l2sink设备=/dev/video0 这个屏幕输出到/dev/video0: gst-Launit-1.0-v ximagesrc start x=1 starty=1 endx=320 endy=24
问题内容: 我正在构建一个Web应用程序,该服务器应从服务器 http://lscube.org/projects/feng 播放RTSP / RTP流。 HTML5视频/音频标签是否支持rtsp或rtp?如果没有,最简单的解决方案是什么?也许是VLC插件之类的东西。 问题答案: 从技术上讲“是” (但不是真的) HTML 5的标签与协议无关-不在乎。您将协议作为URL的一部分放在属性中。例如:
我试图理解MP4视频如何在在线流媒体中通过RTP进行分割(它是用H.264编解码器编码的)。有一些工具,比如FFMPEG或MP4box,或者我们可以使用ISO格式本身[moov,moof和mdat对]进行流媒体传输。我想知道的是,这些工具将如何分割视频中的mdat部分?他们会将MP4视频的所有单元(一组视频和音频帧)分离,并将它们与相关moov部分合并成一个片段,还是以其他方式进行? 还是使用H2