rtsp

RTSP

家住魔仙堡 提交于 2020-01-17 00:52:51
RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色。尽管有时可以把RTSP控制信息和媒体数据流交织在一起传送,但一般情况RTSP本身并不用于转送媒体流数据。媒体数据的传送可通过RTP/RTCP等协议来完成。 一次基本的RTSP操作过程是:首先,客户端连接到流服务器并发送一个RTSP描述命令(DESCRIBE)。流服务器通过一个SDP描述来进行反馈,反馈信息包括流数量、媒体类型等信息。客户端再分析该SDP描述,并为会话中的每一个流发送一个RTSP建立命令(SETUP),RTSP建立命令告诉服务器客户端用于接收媒体数据的端口。流媒体连接建立完成后,客户端发送一个播放命令(PLAY),服务器就开始在UDP上传送媒体流(RTP包)到客户端。 在播放过程中客户端还可以向服务器发送命令来控制快进、快退和暂停等。最后,客户端可发送一个终止命令(TERADOWN)来结束流媒体会话。 一、 1、OPTIONS 功能: 获取服务器/客户端支持的能力集 关键字段:无 特殊说明:IPTV系统中未使用该方法 2、DESCRIBE 主要功能: 从服务器获取流媒体文件格式信息 从服务器获取流媒体文件传输信息 关键字段: Content-Type:一般是SDP Content-length:一般是SDP的长度 特殊说明:媒体信息通过SDP协议给出 3.SETUP 主要功能:

android vlc rtsp

空扰寡人 提交于 2020-01-16 16:10:36
/** * created by XuTi on 2019/5/20 14:00 */ public class VlcModel { private static final String TAG = VlcModel.class.getSimpleName(); private LibVLC mLibVLC; private MediaPlayer mMediaPlayer; private String mUriString; private SurfaceView mSurfaceView = null; private MediaPlayer.EventListener mEventListener; private int mPortraitDisplayWidth; private int mPortraitDisplayHeight; private int mLandscapeDisplayWidth; private int mLandscapeDisplayHeight; public VlcModel(String uriString,MediaPlayer.EventListener eventListener) { mUriString = uriString; mEventListener = eventListener; } private void

opencv2 加载RTSP视频流,内存溢出的问题

好久不见. 提交于 2020-01-15 07:28:48
上一篇通过opencv2加载实时海康摄像头的视频流,视频可以加载成功,但是会发生错误,提示丢包或者解码错误。 如果打开资源管理器发现,并非解码时候发生错误 ,根本原因是电脑配置有问题,CPU资源耗尽,所以发生解码丢包等错误。 解决办法很简单,通过多线程的方式,把视频抽帧显示放到线程中处理,效果如下 没有考虑线程安全的问题,简单实现代码如下 #include "stdafx.h" #include "stdafx.h" #include "opencv2/opencv.hpp" #include "opencv2/core/core.hpp" #include <opencv2/video/video.hpp> #include "opencv2/highgui/highgui.hpp" #include <xstring> #include <thread> using namespace std; using namespace cv; void ShowCam(std::string& url, const std::string& name) { VideoCapture cap; cap.open(url);//呵呵,就这一句关键 Mat Camera_CImg; Mat Camera_GImg; /*cap.set(CV_CAP_PROP_FRAME_HEIGHT,

前段播放 流媒体(RTMP,RTSP,HLS)

一个人想着一个人 提交于 2020-01-14 08:57:01
前言 最近项目需要流媒体的播放,后端一共提供了 三种流数据(RTSP,RTMP,HLS),在不同的场景可能会使用到不同方式播放,就需要做到适配, 支持所有的流数据播放。花了一段时间研究,在这里和大家分享一下,还有些遗留问题,看大家有没有好的方法。 RTSP 简介 这种协议流数据前段播放,没有特别好的解决方法,需要在本机装一个vlc 插件,依靠这个插件才能让 RTSP 协议 在网页上能播放,但是目前高版本的 Chrome 浏览器不支持 NPAPI 插件,也就是说高版本的 Chrome 浏览器还是不能播放(46 以上的版本都不行)。 html code <object type='application/x-vlc-plugin' id='vlc' width="200" height="500" events='True' pluginspage="http://www.videolan.org" codebase="http://downloads.videolan.org/pub/videolan/vlc-webplugins/2.0.6/npapi-vlc-2.0.6.tar.xz"> <param name='mrl' value='rtsp://***********************/Streaming/Channels/1' /> <param name=

Unable to play YouTube video in VideoView using RTSP streaming

这一生的挚爱 提交于 2020-01-14 03:12:30
问题 I'm writing an app that uses VideoView to play a video from YouTube. Here's my code: VideoView videoView = (VideoView)findViewById(R.id.video_view); videoView.setVideoURI(Uri.parse(filePath)); videoView.setMediaController(new MediaController(this)); videoView.requestFocus(); videoView.start(); The code works with this url: "http://commonsware.com/misc/test2.3gp" But not with this one (from YouTube via the API): "rtsp://v4.cache7.c.youtube.com/CjsLENy73wIaMgl4q

Kivy之Video控件播放远程RTSP流

人走茶凉 提交于 2020-01-13 19:19:07
软件版本 Python: 3.7.3 OS: Win7 Kivy: 1.11.1 VLC: 3.0.8 简要介绍 VLC中,RTSP是基于UDP协议开发的 1 ,服务端进行串流,客户端可以播放其视频流。Kivy的Video控件是基于Gstream开发的,能够解析各种格式的视频。 步骤 第一步,服务端VLC串流 点击VLC选项卡 媒体 -> 流 -> 文件 -> 添加 -> 串流 -> 下一个 -> 目标设置 ,选择 RTSP 并点假 添加 按钮。 输入 play ,作为其访问路径 接着进行 流输出 设置,选择编码方式为 H.264 ,输出格式为 MP3(MP4) 点击 下一个 ,接着点击 流 即可 结果就是这个样子的 第二步,客户端播放RTSP流 如下代码即可创建一个播放RTSP流的客户端视频控件 filename = 'rtsp://192.168.0.100:8554/play' video = Video ( source = filename , play = 'True' , pos = ( 0 , 120 ) , volume = 0.8 ) 其效果是下图所示 图中上部分呈现的就是播放服务端的视频流。下部分是调用的本机摄像头视频实时流。 结论 Kivy有相当多的成熟的控件供开发者使用,很简单地调用即可完成开发。 https://www.cnblogs.com

Vlc.DotNet.Wpf,播放rtsp视频,

丶灬走出姿态 提交于 2020-01-11 00:56:44
1.NuGet上下载Vlc.DotNet.Wpf, 在https://github.com/ZeBobo5/Vlc.DotNet 上下载的源码都是最新版本的,里面有调用的示例,每个版本调用方法都不一样。 下面代码以2.2.1为例。 安装完成后,程序中会自动引用相关dll 2. 播放视频相关代码 <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="40"/> </Grid.RowDefinitions> <wpf:VlcControl Grid.Row="0" x:Name="myControl" /> <Button x:Name="btnPlay" Width="120" Height="30" Grid.Row="1" Content="play" /> </Grid> /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); btnPlay.Click += BtnPlay_Click; //初始化配置,指定引用库 myControl

ffmpeg 命令使用

一世执手 提交于 2020-01-07 14:17:39
1、将文件当做直播送至live ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName 2、将直播媒体保存至本地文件 ffmpeg -i rtmp://server/live/streamName -c copy dump.flv 3、将其中一个直播流,视频改用h264压缩,音频不变,送至另外一个直播服务流 ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv rtmp://server/live/h264Stream 4.将其中一个直播流,视频改用h264压缩,音频改用faac压缩,送至另外一个直播服务流 ffmpeg -i rtmp://server/live/originalStream -c:a libfaac -ar 44100 -ab 48k -c:v libx264 -vpre slow -vpre baseline -f flv rtmp://server/live/h264Stream 5、将其中一个直播流,视频不变,音频改用faac压缩,送至另外一个直播服务流 ffmpeg -i rtmp://server/live/originalStream

Is it possible to stream MP4 video file through RTSP protocol?

孤街醉人 提交于 2020-01-07 05:25:11
问题 I have created RTSP Server. Client is VLC Media Player. It connects with my server in the following way: OPTIONS rtsp://192.168.1.6:5554/camera RTSP/1.0 CSeq: 2 User-Agent: LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22) RTSP/1.0 200 OK Session: 698955009;timeout=60 Expires: 0 Server: RTSP Camera Server (Android) ver. 1.8 Public: DESCRIBE,SETUP,TEARDOWN,PLAY,PAUSE,GET_PARAMETER,SET_PARAMETER Cache-Control: no-cache DESCRIBE rtsp://192.168.1.6:5554/camera RTSP/1.0 CSeq: 3 User-Agent: LibVLC

实时监控视频与超图GIS的对接应用(更新中)

我怕爱的太早我们不能终老 提交于 2020-01-07 02:07:08
备注:原创文章,转载请注明文章出处及作者 背景: 监控视频+GIS的应用场景有很多,可以将摄像头的实时视频叠加到三维场景中,达到物联网设备的联动效果 分为五个系列文章,从RTSP视频环境的搭建,目前的应用以及展望 一、监控摄像头的行业情况(更新中) 二、实时视频的介绍(已完成) 三、RTSP视频流的搭建1--模拟实时视频 四、RTSP视频流的搭建2--使用海康摄像头验证 五、RTSP的视频投放到webgl三维场景中 六、监控视频与GIS的应用展望 来源: https://www.cnblogs.com/yaohuimo/p/12148856.html