我正在构建一个应用程序,该应用程序可以从我们的频道中挑选视频,并在应用程序中播放并播放. 我已经完成了所有的解析,除了唯一的问题外,一切都准备好了 是我无法播放来自YouTube API的RTSP视频. 我已经读到,可以使用 Medialement 控制播放RTSP视频 但是它不起作用,我的示例XAML代码如下. 我还研究了 Windows 8 Metro Style Applications的播放器框架和 使用这些,我可以播放存储在服务器中的直接视频(http://localhost/video.mp4),但不能通过RTSP流式传输视频. 请帮
以下是关于 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
我目前正在使用此命令从我的RTSP流中获取帧并从Stdout读取帧: ffmpeg -nostdin -rtsp_transport tcp -i -pix_fmt bgr24 -an -vcodec rawvideo -f rawvideo - 但是,我想获得与通过ffplay看到的相同的延迟: ffplay -fflags nobuffer -flags low_delay -tune zerolatency -framedrop -rtsp_transport tcp 或当我通过VLC媒体播放它>与以下网络流进行:network_caching = 300ms. 我想知道与FFMPEG命令可以使用哪些其他参数,以获得与ffplay命令相比的等效结果. 我从: file?,打开CV RTSP摄像机缓冲区滞后,如何使用python? https://stackoverflow.com/questio
是否可以将RTSP流数据输入Web浏览器? 以下是我的一些发现.如果我错了,请纠正我? 仅Mac OS,Safari支持RTSP实时流. HTML 5视频不支持RTSP. 我可以使用VLC插件,但我不想使用它. 混合ffmpeg和websocket? 的可能性 假设我的IP相机与以太网连接. 在客户端机器中: 我运行FFMPEG以获取服务器(即:IP)的数据 客户机器运行Websocket. FFMPEG从RTSP服务器获取数据后,它将解码并生成任何格式的原始图像(例如:YUV). 现在,我必须通过WebSocket将此图像发送给浏览器. 问题: 这是正确的方法? 我如何将FFMPEG的解码图像获取到浏览器? 我在不同的地方可能是错误的.请提供输入. 解决方案 他们的设置略有不同,但这是摘要: 使用ffmpeg将输入转换为mpeg1video: ffmpeg -i rtsp://whatever
我正在尝试为Google Glass构建一个可以流到服务器的应用程序,并通过Web浏览器将客户端视图视图.到目前为止,我似乎需要通过RTSP到WOWZA等媒体服务器进行此操作,然后让Web服务器托管一些视频播放器,可以查看RTMP流,但我没有很多运气. 使用libstreaming( https://github.com/fyhertz/libstreaming )查看流. 我也有兴趣使用webrtc做某事,以便我可以制作一个类似于环聊的解决方案,但不确定是否有任何库支持这一点. 任何帮助都将不胜感激. 解决方案 自1月以来,libsreaming已修复以在玻璃上工作.可以在VLC播放器或插件中轻松查看其RTSP视频.下面的代码不包括自动生成的存根. public class MainActivity extends Activity implements SurfaceHolder.Callback, Session.Callback { privat
我非常新手流媒体.但是我必须使用IP摄像机进行基于用户的流系统.就像安全摄像机一样.一个用户将有一个流.我的团队认为与RTSP合作.他们想知道我们将如何做,什么是RTSP,WebRTC,RTP.我正在研究,我想问你.那么什么是RTSP?一些IP摄像机说支持WEBRTC,这是什么?这与RTSP兼容吗?哪个是基于用户的流的最佳协议? 解决方案 RTSP是一种流控制协议,用于控制流服务器(另一个答案中Whoami的遥控器类比是一种非常好的思考方式).它定义了如何打包数据以将其流式传输,以及连接的两端应表现为支持协议. 要清楚,它实际上并没有运输媒体数据本身 - RTP(实时传输)协议会照顾此. 为了进一步使事物复杂化,RTCP(实际TINE控制协议)也存在 - 尽管名称,其主要目的是收集RTP会话的统计信息. sdp(会话描述协议)在此上下文中也很有用 - 它包含有关流的会话参数的信息,并由RTSP使用.等. WEBRTC是一个项目,也是一组IETF草稿,可为浏
我有一个可以在输入RTSP URL后分析视频的产品. 我想使用网络摄像头来流式传输和喂食我的产品网络摄像头RTSP. 我该怎么做? 解决方案 这将取决于您正在使用的网络摄像头 - 大多数支持RTSP,但许多人不发布接口以访问流,因为它们被设计为与网络摄像头的同伴应用一起使用. 有一些Web资源为常见的Web摄像头提供RTSP URL-您可能会发现很难找到匹配的网络摄像头推出,但它应该让您有一种感觉有一个您正在测试的特定Web凸轮.一些示例(在写作时): https://www.getscw.com/decoding/rtsp 如果找不到正在使用的摄像机的信息,并且拥有Companion应用程序,也可以使用Wireshark之类的网络Sniffer工具( https://www.wireshark.org ),然后尝试搜索流量'rtsp://'模式. 如果您只需要测试您的应用程序并可以使用相机模块访问Raspberry Pi,则还可以使用它来生成RTSP
我正在尝试使用IP摄像头的RTSP流作为Windows上各种应用程序的视频输入源(例如Skype,Zoom,Microsoft Teams等). 到目前为止,我发现的唯一解决方案是使用" 有其他选择/更好的方法可以实现这一目标吗? 解决方案 创建自己的直接节目视频捕获过滤器(有很多示例 - 这是一个很棒的一个)并处理其中的RTSP流.这样,您可以自己实施稳定性. 其他解决方案 我知道这有点古老. 但是您也可以看一下 vlc2vcam ,看起来很有希望. 其他解决方案 尝试月球软件源源过滤器,从 http://netcamstudio.com .唯一的缺点是它仅创建视频 +音频和Skype的视频"复合"设备,只能看到视频(我认为大多数应用程序都可以看出视频). 如果我找到一种简单的方法来拆分该流将在此处发布.
我将在Android上进行PTT项目.您能告诉我,Android对开发人员的语音和多媒体API(例如RTP,RTSP,VoIP)的支持吗? 解决方案 MediaPlayer在内部自动处理RTSP和RTP,因此您无需处理太多. OTOH它不会对此过程给予任何低级控制. 关于VoIP:Android仅消耗RTSP/RTP流,但不会创建/发布它们.所以这仅是单向. android 2.3(姜饼)据说支持基于sip sip voip . 其他解决方案 使用Audiotrack \ Audiorecord API进行录音和播放.它们允许您处理原始音频帧. RTP数据包非常简单 - 它只是一个包含一些最小标头数据和原始音频框架的数据包.它易于实现 - 查看sipdroid以获取RTP数据包的参考实现.
我是插座通信的新手,所以我可能错了,但是请建议或至少给出方向! 我正在根据目前我正在对选项请求进行响应.为了使其在第一种方法中变得容易,我决定根据示例RTSP请求/响应日志进行编码,以进行VLC和GSTREAMER RTSP之间的某些真实通信. 所以,使用VLC URL -VVV录制的日志说: Sending request: OPTIONS rtsp://localhost:8554/test RTSP/1.0 CSeq: 2 User-Agent: LibVLC/2.0.8 (LIVE555 Streaming Media v2013.04.30) Received 183 new bytes of response data. Received a complete OPTIONS response: RTSP/1.0 200 OK CSeq: 2 Public: OPTIONS, DESCRIBE, GET_PARAMETER, PAUSE, PLAY, S
所以我的应用程序正在使用new VideoWriter(pipeline-definition); 公开RTP流 管道定义是: appsrc is-live=1 do-timestamp=1 format=3 stream-type=0 min-latency=0 max-latency=500000000 ! queue leaky=2 max-size-time=500000000 ! videoconvert ! video/x-raw ! x264enc ! h264parse ! rtph264pay config-interval=10 pt=96 ! udpsink host=127.0.0.1 port=9000 我遇到的问题是在VLC中查看流程时,流中的30s延迟.无论我做什么,VLC总是落后29-30. appsrc似乎是因为与videotestsrc的同一管道完全没有延迟. 有什么想法我该怎么做才能使appsrc立即释放框架? 解决方案
我正在编写RTSP服务器,并且有一些问题. 我正在使用VLC作为客户. 服务器接收选项,描述,设置和播放命令(vlc player)并回答该命令. 通过设置命令客户端发送端口号码,我正在使用该端口发送数据. 当我的服务器接收play命令时,它将发送答案并开始流式传输数据.我正在使用客户端端口创建两个Datagramsocket. 我正在尝试流式传输MP4文件. 我正在使用 mp4parse java库来获取音频和视频跟踪数据以流向流. 所以,当我单击VLC上的播放时,它正在连接并开始等待数据,几秒钟后,我在VLC消息中收到了此消息: live555 warning: no data received in 10s. Switching to TCP 这是我的SDP数据: v=0 o=- 0 0 IN IP4 127.0.0.1 m=video 0 RTP/AVP 96 b=AS:1633 a=rtpmap:96 H264/90000 a=contr
我发现了嵌入并播放RTSP流到VLC ActiveX控件的问题. 一旦我已经成功,但是现在我不知道为什么, 我试图在WPF托管VLC控件中托管,但它不起作用,它说DLL丢失了,"未能导入ActiveX Controtion",我在我发现的一些解决方案之后遵循了我发现的解决方案,但没人会帮助... 我已经注册了,并尝试了更多的事情. 它在AXAXVLC DLL上有一个丢失的DLL. 并说: 错误1编译器错误在生成Windows表单时发生 ActiveX Control的包装器" AxaxVlc".源代码保存在xxx 中 错误2'Axvlc.ivlccontrol2.versioninfo_2.get':无法明确调用 操作员或登录器xx \ ozjsyoc1.0.cs 986 53 某种程度上可以解释我该怎么办?这样我可以嵌入VLC控件? 另一个问题是 在嵌入VLC控件后,如何将RTSP视频流式传输到控件,以便它将显示我的IP摄像头实时视频. 他们有addArget(...)
经常讨论,但到目前为止,从未在Windows上使用VLC或FFMPEG的当前版本. 这些是我的流属性: 如何使用VLC或FFMPEG? 我尝试了很多.列出的方式太多了. 解决方案 我用它将远程RTSP源转换为带有FFMPEG的本地HLS流媒体,它可以正常运行: ffmpeg -i "rtsp://yourRtspStreamSource" -hls_time 3 -hls_wrap 10 "yourOutputDir/streaming.m3u8" 我也使用-t和-stimeout选项来控制该proccess的超时. 有关HLS ffmpeg的更多信息: formats.html#hls-1
我在使用VLC播放器录制RTSP流时有问题.实际上,我的方法在MacOS X中起作用,但在Windows中不使用.命令行: vlc -vvv rtsp://admin:admin@192.168.0.151/live/h264/ --sout="#transcode{vcodec=mp4v,vfilter=canvas{width=800,height=600}}:std{access=file,mux=mp4,dst=C:\123.mp4}" 在macOS上它可以正常工作,但是在Windows下,它创建了不可读取的文件. MediaInfo输出: General Complete name : C:\123.mp4 Format : MPEG-4 Format profile : Base Medi
我有一个非常高质量的RTSP提要进入Windows服务器.我正在尝试使用VLC将其作为HTTP实时流式限制. 有人知道是否可以通过VLC的图形用户界面而不是命令行来建立此流?如果是这样,如何? 到目前为止(在此处和其他地方)发现的示例都是命令行示例,它们根本没有起作用. 我很想听听任何实际上成功地使用Windows Server成功限制RTSP到HTTP实时流的人.顺便说一句,我已经设置了该网站以服务结果,但是无论我尝试过什么,我都无法让流来编写.TS文件. 我很难过.谢谢. 解决方案 例如,查看此命令: vlc -I dummy rtsp://ip:port/blablabla--sout '#transcode{vcodec=h264,fps=20,vb=512,scale=1,acodec=none,venc=x264{aud,profile=high,level=60,keyint=15,bframes=0,ref=1,nocabac}}:d
我一直在试图弄清楚如何使用VLC来流式桌面(Over LAN)并实现最低的延迟( 我应该使用哪些设置?我尝试了多种方法,但尚未成功. 编辑:我也不愿使用VLC以外的其他东西. 解决方案 我也尝试过VLC相同的尝试,并且再也无法获得延迟的波纹管3秒. FFMPEG确实奇迹了,最后提供了延迟1秒. mpeg2Video和UPD提供了最佳结果,RTP延迟感觉有些差,但非常接近.转到X264可以提高质量以换取更多的延迟,但这实际上取决于有多少动态内容以及CPU的速度.我只有x264与UDP一起工作,但是必须有一种方法来使用RTP. 我不确定玩游戏是否可行.服务器将处于繁重的工作量之下,而延迟将很明显 - 至少在Linux上,对Windows不了解. 在Linux上尝试以下命令之一: $ ffmpeg -f x11grab -s 1600x900 -r 50 -vcodec mpeg2video -b:v 8000 -f rtp rtp://192.168.