gpt4 book ai didi

c# - 如何在 FFmpeg.AutoGen 中设置 ffmpeg 命令行选项

转载 作者:行者123 更新时间:2023-12-04 23:13:15 28 4
gpt4 key购买 nike

我正在尝试使用 从我的网络摄像机读取/解码 RTSP 流FFmpeg.AutoGen 库。
当 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
任何人都可以建议如何在 FFmpeg.AutoGen 中启用此类选项(通常,或特别是 -rtsp_transport tcp 选项)?

最佳答案

首先,您应该设置 AVDiconary 的值,如下所示。

AVDictionary* opts = null;
ffmpeg.av_dict_set(&opts, "rtsp_transport", "tcp", 0);

其次,您应该更改“VideoStreamDecoder.cs”中的一些源代码,如下所示。
public VideoStreamDecoder(string url,AVDictionary* opts, AVHWDeviceType HWDeviceType = AVHWDeviceType.AV_HWDEVICE_TYPE_NONE)
....
ffmpeg.avformat_open_input(&pFormatContext, url, null, &opts);

那么您的代码将运行 TCP
(如果您使用 RTSP 损坏了图像,上面的代码也可以工作)

关于c# - 如何在 FFmpeg.AutoGen 中设置 ffmpeg 命令行选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59094712/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com