无法使用EMGU CV从RTSP流中连续抓取图像
我正在尝试使用C#Windows表单应用程序从IP摄像头从RTSP流中获取图像.我正在使用Emgu CV连续捕获流,但是RTSP蒸汽在几秒钟后停止,然后ImageGrabbedEvent永远不会发射. 我的目的很简单:从相机中获取所有帧并进行分析. 我正在使用HikVision IP摄像机(DS-2CD2683G1-IS),其中IP地址为192.168.1.64端口554上的流式RTSP(这是许多HikVision IP摄像机的默认IP地址和端口号) ) ) DateTime LastTimeImageGrabReinitialised = new DateTime(); public void InitializeCameraEMGUStream() { //added a datetime to the URL as recommended by another answer but it didnt help.
6 2024-04-26
编程技术问答社区
EMGU QueryFrame通过RTSP返回 "条纹状 "图像
我有一个高清网络摄像机,我试图通过RTSP捕获帧并使用以下代码: //in Form_Load Application.Idle += getNextFrame; 和事件处理程序: private void getNextFrame(object sender, EventArgs ags) { //where _imgCount is the total image Grabs lbl_Count.Text = _imgCount++.ToString(); // and ibLive is a Emgu ImageBox ibLive.Image = capAxis.QueryFrame().Resize(640, 480, INTER.CV_INTER_AREA); } 当我启动程序时,它将在屏幕底部出现"条纹"之前抓住20-40帧.它总是在图像的底部,但有时会占屏幕的一半. 流分辨率为19
12 2024-04-20
编程技术问答社区
如何在Windows 8 Metro C# XAML应用程序中播放H.264 RTSP视频?
我有一个从URL提供H.264视频流的设备,例如: rtsp://192.168.0.10:554/videoservice 由于这是实时视频,因此我不需要控制它(暂停,倒带等),只是播放.这是由 MedialElement 或其他标准类,我是否需要平滑流媒体比我想象的要复杂得多? 更新: 我下载了Microsoft的 player Framework ,但这也不播放流.我在有关RTSP的示例中找不到任何东西. 更新: 我用 wireshark 比较 vlc Media Player (有效)以Medialement和Player Framework发送,并且似乎都没有使用RTSP协议.相反,他们正在发送 wpad wpad wpad 即使我已经提供了一个不同的地址,即使我已经提供了IP地址来源.为什么需要这?有什么方法可以关闭这种行为? 解决方案 请参阅post 在这里.您需要将数据包裹在MPEG-4第14部分容器中,然后将它们传递到 MediaElement
8 2024-04-19
编程技术问答社区
Python或C/C++中的RTSP库?
我正在尝试找到用于Python或C/C ++的任何RTSP流库. 如果没有,还有其他实时流的解决方案吗? 在Python或C/C ++中实现RTSP有多少容易或困难? 解决方案 尝试 live555 .他们有很多用于在C和C ++程序中实现RTP和RTSP(以及SIP)的库和模块 其他解决方案 与Python和Twisted一起使用,您可以使用此模块.
8 2024-04-09
编程技术问答社区
如何用自己的管道使用gst-rtsp-server?
我正在编写Gstreamer应用程序,需要通过RTSP传输输出音频/视频流.但是在gst-rtsp-server示例中,我仅建立了factory创建gst-launch语法: factory = gst_rtsp_media_factory_new (); gst_rtsp_media_factory_set_launch (factory, "( appsrc name=mysrc ! videoconvert ! x264enc ! rtph264pay name=pay0 pt=96 )"); 是否可以将gst-rtsp-server元素连接到我的管道? 解决方案 您必须子类rtsp-media-factory和Override default_create_element将您的pipeline返回为GstElement 其他解决方案 经过长时间的研究,我能够理解如何做到这一点. 此片段向您展示了如何覆盖虚拟函数GstRTSPMediaFac
18 2024-04-07
编程技术问答社区
使用FFMPEG库接收RTSP流
我使用RTSP上的LAN流视频中有一个ipcamera.我已经能够使用ffplay命令成功捕获和显示它: ffplay rtsp://admin:123456@192.168.2.50:7070 (具有身份验证) 因此,我想使用ffmpeg库在C/C ++中使用编程实现相同的操作.我想这一定是可能的. 所以让我短两个简单的问题: 如何使用FFMPEG库中的C/C ++程序中的流? (只需提供一些URL/教程,因为Google没有帮助) 如何显示收到的视频? (在这里,指导我的一些好URL). 解决方案 对于RTSP流,以下对我有用(在接收帧后,我将结果保存到PPM文件): #include #include #include #include #include extern "C" { #include
16 2024-04-06
编程技术问答社区
在FFmpeg/LibAV中设置RTSP/UDP缓冲区大小
注意:我知道ffmpeg和libav是不同的图书馆.这是两个共同的问题. 免责声明:/a>标记为回答,但实际上没有提供适当的解决方案. UDP缓冲区大小不足会导致几个高分辨率视频流的破裂流.在libav/ffmpeg中,可以通过附加一些 options(buffer_size)对此. 但是,对于RTSP URL,这是不支持.. . 这些是我发现的唯一解决方案: 重建ffmpeg/libav在使用 nasty Hack 所需的价值,通过施放一些私人结构. 使用不同的解码库(提出了有关上述有关的解决方案,因此问题 ). 这些实际上都不是解决方案.据我发现,应该有可能使用API​​的 AVOptions AVOptions 找到并设置此值.否则, avdictionary . 很难在Libav或ffmpeg的整个文档中找到如何设置这些. 更新: 借助Libav Developer @lu_zero : 添加一个buffer_size
68 2024-04-04
编程技术问答社区
无法使用Boost Asio read()获取所有数据
我正在开发RTSP客户端.它是一个简单的基于文本的协议.该服务器向我发送了我可以在Wireshark上看到的响应,但是当我尝试阅读它时,我并没有得到全部. 发送的数据就是这样(来自Wireshark): RTSP/1.0 200 OK CSeq: 1 Date: Thu, Aug 11 2022 12:09:54 GMT Content-Base: rtsp://10.45.231.24:559/pint.sdp/ Content-Type: application/sdp Content-Length: 590 v=0 o=- 1660140466387175 1 IN IP4 10.1.23.23 s=Session streamed by Pinkman i=pint.sdp t=0 0 a=tool:LIVE555 Streaming Media v2017.10.28 a=type:broadcast a=control:* a=range:npt=0- a=x-
8 2024-04-02
编程技术问答社区
网络摄像机-在Chrome浏览器上用基本认证进行视频流播放
我有一个Amcrest IP相机.我想将视频流到我的网页. 它的URL是rtsp://mycamera.com:5554/stream 为了获取相机的流,相机具有以下API http://mycamera.com/video.mjpg 它需要工作的基本身份验证. 通过将URL格式化并将其放入图像标签中,我可以使其在Firefox上工作,Safari 但是,Chrome(我的V.40)不允许这种URL,浏览器将填写用户密码表格,或者简单地拒绝请求.设置标题授权:脚本中的"基本Encode64(用户名,密码)"无济于事,URL始终返回401错误(未经授权) 有时,它会提高 cors 错误.如果我的网站使用https运行,则HTTP API调用将被浏览器阻止. 解决方案 禁用IP摄像机的身份验证: 如果摄像机在管理面板上没
12 2024-03-29
编程技术问答社区
rtsp://使用AVPlayer的liveStream
我想和Avplayer一起在iPhonedevice上玩直播.我也想从此流中获取CVPixelBufferRef以获取下一个用法. 我使用用于创建玩家.目前,使用本地存储的视频效果,此播放器的工作正常,而且当我尝试播放此AppleSampleStremurl - http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 - 它的工作正弦也是如此. 当我想用rtsp播放流时出现问题://喜欢这个:rtsp://192.192.168.1:8227/TTLS/Streaming/channels/2?videoCodecType=H.264 代码 - 几乎全部使用Apple提供的GUID完成,但无论如何: 准备游戏资产 - (void)initialSetupWithURL:(NSURL *)url { NSDictionary *assetOptions = @{ AVURLAsse
24 2024-03-21
编程技术问答社区
RTSP认证:摘要问题
我需要将我的RTSP流验证到流服务器,这是挑战: RTSP/1.0 401 Unauthorized WWW-Authenticate: Digest realm="Streaming Server", nonce="76bfe6986d3e766424de9bd6e7d3ccc1" Session: 1845562184;timeout=60 Cseq: 1 ... WIRECAST设法通过这些设置成功进行身份验证: Host name : 192.168.33.9:1935/live/my_stream.sdp location : live/my_stream.sdp username : user password : test 其响应是:E1DFF363B9763DF0C7615429AF79715C 因此,根据 wikipedia 我试图通过方法进行认证: //H(data) = MD5(data) //KD(secret, data) =
14 2024-03-20
编程技术问答社区
使用libstreaming从安卓设备的上游发送rtsp中的组播音频
该代码一次仅针对一个用户流式传输.任何人都可以帮助我同时在多个系统中播放流(将其转换为多播或广播). 预先感谢. 库来源在这里: https://github.com/fyhertz/fyhertz/libstreaming 我当前的代码是: mSurfaceView = (net.majorkernelpanic.streaming.gl.SurfaceView) findViewById(R.id.surface); // Sets the port of the RTSP server to 1234 Editor editor = PreferenceManager.getDefaultSharedPreferences(this).edit(); editor.putString(RtspServer.KEY_PORT, String.valueOf(5060));
46 2024-03-19
编程技术问答社区
new.livestream.com的API来获取RTSP
我需要获得livestream.com帐户的RTSP流.我正在阅读liveStream.com的一些API文档,但是它们有一个新的网站(new.livestream.com),我找不到任何关于这一点的API文档.有人知道新的liveStream.com网站是否有API,这使我能够获得RTSP流?预先感谢. 解决方案 我知道这有点老了,但是我问了同样的问题,我是如何做的: 我找到了这个url/api呼叫,用于新的直播,以获取事件流的详细信息 http://new.livestream.com/api/accounts/[account_id]/events/[event_id]/viewing_info 这为您提供了JSON响应,其中包含该事件的流详细信息,包括RTSP流的URL(streaminfo-> rtsp_url) 只要在播放直播事件之前,请务必打电话,因为URL会不时更改(我认为他们使用某种负载平衡/CDN网络之类的东西),您每次都应该获得最新的U
12 2024-03-01
编程技术问答社区
在安卓系统中使用用户名和密码的RTSP流
我的任务是在Android中创建一个Android应用程序,以检查城市的某些IP摄像机.使用现有的 rtsp url,它是 rtsp://admin:pms7112@xxx.xx.xx.xx.xxx:554/cam/cam/realmonitor?channel = 1&subtype = 0 我可以在VLC播放器中获取流,但在Android中没有运气.我尝试了视频播放器和media player. 几乎每个解决方案都给了我 MediaPlayer:SetDataSource ioException遇到了: java.io.filenotfoundexception:无内容提供商:rtsp://... 由于用户名和密码在string中,是否会发生此问题?如何将用户名和密码添加为查询string? 编辑 MediaPlayer版本 MediaPlayer MediaPlayer = new MediaPlayer(); try {
14 2024-02-19
编程技术问答社区
使用ffmpeg和ffserver通过rtsp向安卓客户端流式传输网络摄像头信号
我正在尝试通过RTSP将网络摄像头流式传输,并使用Android打开流. 我设法使用FFSERVER和FFMPGEG获得了第一部分(RTSP流).这是我的ffserver.conf文件: HTTPPort 8000 RTSPPort 8001 HTTPBindAddress 192.168.1.74 RTSPBindAddress 192.168.1.74 MaxClients 100 MaxBandwidth 10000 NoDefaults File /tmp/witty.ffm FileMaxSize 20M Feed witty.ffm Format rtp VideoSize 640x480 VideoQMin 1 VideoQMax 20 VideoFrameRate 30 VideoBitRate 500 AVOpti
20 2024-02-19
编程技术问答社区
无法在VideoView中使用RTSP流播放YouTube视频
我正在编写一个使用视频播放YouTube视频的应用程序. 这是我的代码: VideoView videoView = (VideoView)findViewById(R.id.video_view); videoView.setVideoURI(Uri.parse(filePath)); videoView.setMediaController(new MediaController(this)); videoView.requestFocus(); videoView.start(); 代码与此URL一起使用:" http://commonsware.com/misc/test2.3gp" ,但不是这个(通过API从YouTube发出): "rtsp://v4.cache7.c.youtube.com/CjsLENy73wIaMgl4q-dkJkOfrRMYDSANFEIXZ29vZ2xlLW1vdW50YWludmlldy0wLjFIBlIGdmlkZW9zDA
14 2024-02-19
编程技术问答社区
在安卓系统中播放RTSP流媒体视频时如何保持长宽比?
我有一个流式RTSP视频链接,我在视频的帮助下播放.在肖像模式下,视频分辨率和纵横比是完美的.但是,当我尝试切换到景观模式时,视频会伸展并看起来细长.这使质量扭曲了很多. 如何使视频视频保持相同的纵横比在两种方向模式下保持相同的提示? 如果我需要写自己的媒体播放器来扩展视频.任何示例都将在Android开发人员网站上有限文档 中有很大的帮助 如何找到通过RTSP收到的视频的大小?这样我们就可以将视频设置为那个大小? 如果有任何建议,我愿意听,因为我是媒体API的新手. 解决方案 如何在两种方向模式下保持视频维护以保持相同的长宽比的任何提示? 通常这样做. 这个项目例如,与本地测试正常工作. MP4文件(在外部存储的根部)在肖像和景观中,同时保持纵横比.
52 2024-02-19
编程技术问答社区
不能接收来自IP摄像机的RTSP直播流
我想使用RTSP从IP摄像机接收实时流媒体,我得到'无法播放此视频',并且以下例外: 07-16 14:06:26.945: D/MediaPlayer(19411): setDataSource IOException happend : 07-16 14:06:26.945: D/MediaPlayer(19411): java.io.FileNotFoundException: No content provider: rtsp://192.168.30.108:554 07-16 14:06:26.945: D/MediaPlayer(19411): at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1052) 07-16 14:06:26.945: D/MediaPlayer(19411): at android.content.Content
24 2024-02-19
编程技术问答社区
如何在安卓系统中从Http或RTSP Url传输视频?
我想在Android上播放HTTP和RTSP的视频.目前,我正在尝试使用HTTP链接,但是当我的活动开始时,它只是开始使用空白的黑屏播放音频.没有视频显示.在这里,我在下面发布了我的代码.感谢提前的任何帮助.如果有人可以为实时流提供新的运行RTSP链接,我将非常感谢. VideoView vidView = (VideoView)findViewById(R.id.myVideo); Uri stream = Uri.parse("http://www.androidbegin.com/tutorial/AndroidCommercial.3gp"); vidView.setVideoURI(stream); MediaController vidControl = new MediaController(this); vidControl.setAnchorView(vidView); vidView.setMediaCont
14 2024-02-19
编程技术问答社区