首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在FFmpeg.AutoGen中设置ffmpeg命令行选项

如何在FFmpeg.AutoGen中设置ffmpeg命令行选项
EN

Stack Overflow用户
提问于 2019-11-28 18:39:41
回答 1查看 863关注 0票数 0

我正在尝试使用FFmpeg.AutoGen库从我的ip摄像机读取/解码RTSP流。当ffmpeg试图通过UDP连接时,服务器会以错误的方式进行响应。当我试图通过ffmpeg exe连接时,也会发生同样的情况:

ffmpeg -i rtsp://<url...> -vcodec h264 c:\out.mp4

但是,当使用-rtsp_transport tcp时,每件事都能正常工作:

ffmpeg -rtsp_transport tcp -i rtsp://<url...> -vcodec h264 c:\out.mp4

有人能建议如何在-rtsp_transport中启用这样的选项(一般情况下,或者特别是FFmpeg.AutoGen tcp选项)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-13 00:49:00

首先,您应该像下面这样设置AVDic流的值。

代码语言:javascript
复制
AVDictionary* opts = null;
ffmpeg.av_dict_set(&opts, "rtsp_transport", "tcp", 0);

其次,您应该修改“VideoStreamDecoder.cs”中的一些源代码,如下所示。

代码语言:javascript
复制
public VideoStreamDecoder(string url,AVDictionary* opts, AVHWDeviceType HWDeviceType = AVHWDeviceType.AV_HWDEVICE_TYPE_NONE)
....
ffmpeg.avformat_open_input(&pFormatContext, url, null, &opts);

然后您的代码将运行TCP (如果您使用RTSP损坏了图像,上面的代码也会工作)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59094712

复制
相关文章

相似问题

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