作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用ffmpeg H264编码,然后输出RTSP流。当我初始化时,我遇到了一些问题。我通过avio_open2函数打开输出地址时,返回错误-1330794744,协议(protocol)无效。我在哪里设置错误?
av_register_all();
avformat_network_init();
avformat_alloc_output_context2(&ofmt_ctx, NULL, "rtsp", rtsp_url);
if (!ofmt_ctx)
{
printf("Could not deduce output format from file extension: using MPEG.\n");
avformat_alloc_output_context2(&ofmt_ctx, NULL, "mpeg", rtsp_url);
}
if (!ofmt_ctx) return;
this->out_fmt = ofmt_ctx->oformat;
if (!this->out_fmt)
{
printf("Error creating outformat.\n");
return;
}
video_st = add_stream(ofmt_ctx, &video_codec, CODEC_ID_H264, rate);
if (video_st)
{
open_video(ofmt_ctx, video_codec, video_st);
}
int ret = avio_open2(&ofmt_ctx->pb, "rtsp://127.0.0.1:8854/live.sdp", AVIO_FLAG_WRITE, NULL, NULL);
if (ret < 0)
{
printf("Could not open outfile '%s'.", rtsp_url);
return;
}
最佳答案
与将RTMP定义为基于FLV的纯协议(protocol)不同,RTSP既是一种格式,又是一种协议(protocol)。 FFmpeg 在分配输出上下文时会自动创建 io 上下文,所以你不需要再手动调用 avio_open 了。
只需评论 avio_open2,它应该可以正常工作。
关于c - ffmpeg avio_open2() 无法打开输出 rtsp 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49168678/
我一直在用 libav 编写基于 unicode 的程序,我想通过 libav 制作一些文件名为“中.mp4”的文件。 这个文件名不是英文,当我调用时,函数返回正整数(不会失败)。 但是有“ѱ0.mp
我正在尝试使用为 android 移植的 ffmpeg 将原始 PCM 转换为 mp4。我面临一个问题,其中 avio_open 返回负值说无法打开 sample.mp4,这是保存在 sdcard 中
我是 ffmpeg API 的初学者。我认为连接到 RTMP 服务器的函数是 avio_open() 函数。在我的代码中,在执行 avio_open() 函数之前,它与 RTMP 服务器没有连接。我是
我是一名优秀的程序员,十分优秀!