gpt4 book ai didi

ffmpeg - 通过 ffmpeg libavcodec 读取 UDP 流

转载 作者:行者123 更新时间:2023-12-04 22:51:07 25 4
gpt4 key购买 nike

我想使用 ffmpeg libavcodec 从 udp://:1500 等 UDP 地址读取视频流。我正在使用这段代码:

char *url = "udp://:1500";
char *format = "mpegts";

AVInputFormat *fmt = NULL;
AVFormatContext *oc = NULL;

int res;

fmt = av_find_input_format(format);
res = avformat_open_input(&oc, url, fmt , NULL);
if(res!=0){
printf("Could not open the stream\n");
exit(1);
}

但是当我运行这段代码时,程序在执行 res = avformat_open_input(&oc, url, fmt , NULL); 后永远停止。

你知道是什么问题吗?

最佳答案

我的流是用这个创建的:

ffmpeg -f v4l2 -input_format h264 -video_size 640x480 -framerate 30 -i /dev/video0 -preset ultrafast -tune zerolatency -vcodec copy -f h264 udp://machine:1500
我改变后你的代码对我有用
char *format = "mpegts";
char *format = "h264";
我的猜测是您的流不是您认为的格式。
事实上,当我删除 fmt完全变量并通过 NULL 代替,libav 为我发现了格式。
另见: Code that starts the same but has a lot more comments.

关于ffmpeg - 通过 ffmpeg libavcodec 读取 UDP 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21027880/

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