首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取RTSP流时强制FFMPEG使用TCP协议

读取RTSP流时强制FFMPEG使用TCP协议
EN

Stack Overflow用户
提问于 2014-04-23 15:59:56
回答 1查看 43.5K关注 0票数 22

我从命令行运行ffmpeg (Windows7,64位),以便从RTSP流(DVR的第二个通道)中获取帧:

代码语言:javascript
复制
ffmpeg  -i "rtsp://xxx.xxx.xxx.xxx:554/user=xxxx&password=xxxx&channel=2&stream=0.sdp" -rtsp_transport tcp -y video.jpg

运行后,它等待了大约10秒,然后我得到:

代码语言:javascript
复制
[rtsp @ 026fd840] UDP timeout, retrying with TCP

在另一个长时间的等待(2分钟左右)之后,我得到:

代码语言:javascript
复制
[rtsp @ 028dd840] Could not find codec parameters for stream 0 (Video: h264): unspecified size

我在某处读到,我必须强制使用TCP,因为从UDP更改为TCP将不起作用。

我不明白为什么-rtsp_transport tcp不能工作。

我使用的是ffmpeg version N-62509-g97751e1 built on Apr 17 2014 22:01:31 with gcc 4.8.2 (GCC)

请帮帮我。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-04-26 04:38:52

只需将-rtsp_transport tcp放在ffmpeg之后,即可将其应用于输入流。如下所示:

代码语言:javascript
复制
ffmpeg -rtsp_transport tcp -i "rtsp://x.x.x.x:554/user=x&password=x&channel=2&stream=0.sdp" -y video.jpg
票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23238295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档