问题标签 [libavformat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ffmpeg - avcodec_find_decoder(CODEC_ID_MPEG2TS) 始终为 NULL
我想解码传入的 MPEG2 传输流,然后将其编码为 h264。h264 编解码器一切正常,但问题是 libavcodec 似乎无法识别 MPEG2-Transportstream。我基本上是在模仿官方的例子:
http://ffmpeg.org/doxygen/trunk/decoding__encoding_8c-source.html
ptrCodec 始终为 NULL。有人可以帮我吗?
c - 使用 libavformat 抓取 rtsp/rtp 流
世界。我正在尝试从 IP 摄像机(实时)中获取 rtsp mjpeg 流,如http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html中所述,但已移植到较新版本。它适用于 mpeg 文件(将其作为一个 AVPacket 完整加载),但使用流时,avcodec_decode_video2 返回 -1(错误)。在这种情况下,AVPacket 是帧的一部分。
我怎样才能解决这个问题?
libavcodec - 使用 libavcodec 打开 Live Input 的快速方法
我目前正在使用来自 Hauppauge WinTV950Q 的实时视频输入,它为我提供了实时视频输入。
我正在使用libav*
andQt
库并C/C++
在 Linux 上编程。我使用推荐avcodec_open_input()
的打开和处理(转码)输入以在移动设备上使用。我希望能够在我的移动设备上观看电视,并且能够远程切换频道。到目前为止一切正常。
我唯一的问题是打开输入需要 5 到 20 秒。这对于我的用例来说会变慢,我可以接受 1-3 秒之间的延迟。我以前用于第一次测试的 v4l2-API 实际上设法获得 1-3 秒之间的切换时间,但我不能使用它,因为我需要进行一些转码,以便可以在移动设备上使用视频数据。
有没有办法提高avformat_open_input()
通话的开放时间?也许在打开输入之前需要设置库中的一些全局变量?
这是相关的代码:
这是输出:
ffmpeg - ffmpeg 元数据
我正在使用 libavformat(即 C 库)将 MPEG4/H264 编码为 mp4 文件我想在 MP4 文件中添加一些元数据,例如日期/时间。有人可以告诉我如何做到这一点吗?
谢谢。
c - 使用 FFmpeg libavformat 录制 RTSP 流
我正在尝试使用 FFmpeg libavformat 记录来自 Axis 摄像机的 RTSP 流。我可以从文件中抓取视频,然后将其保存到另一个文件中,这没关系。但是相机发送奇怪的数据,FPS 为 100,相机每 4 帧发送一次,因此结果 FPS 约为 25。但 libavformat 将数据包 dts/pts 设置为 90000 fps(默认?),新文件流有 100fps。结果是一小时的视频,只有 100 帧。
这是我的代码
结果文件在这里:http ://dl.dropbox.com/u/1243577/test.avi
感谢您的任何建议
c - 错误:制作 m3u8-segmenter 时未声明“CODEC_TYPE_AUDIO”
我想为 Http Live Stream 制作 m3u8-segmenter:https ://github.com/johnf/m3u8-segmenter
我做的时候有错误,错误是:
c++ - 使用 libavformat 读取位于内存中的文件
我目前正在尝试读取从服务器发送的小视频文件
为了使用 libavformat 读取文件,您应该调用
问题是在这种情况下文件不在磁盘上,而是在内存中。
我目前正在做的是下载文件,使用临时名称将其写入磁盘,然后av_open_input_file
使用临时文件名进行调用,这不是一个非常干净的解决方案。
事实上,我想要的是一个类似的功能,av_open_custom(&avFormatContext, &myReadFunction, &mySeekFunction);
但我在文档中没有找到任何功能。我想这在技术上是可行的,因为文件名不能帮助库确定它使用的格式。
那么有没有这样的函数,或者 av_open_input_file 的替代方法?
encoding - 使用 libavcodec (FFMpeg) 编码 Speex?
我成功编译了启用speex的libavcodec。我修改了 FFMPEG 文档中的示例,将示例音频编码为 Speex。但结果文件无法使用 VLC Player(具有 Speex 解码器)播放。
有小费吗?
c++ - 使用 libavcodec 解码音频并使用 libAO 播放?
我使用以下代码片段来解码音频文件(用 MP3、WAV、WMV 测试)。
但是当它播放音频时,它只会发出静态声音并时不时地崩溃。关于我在这里做错了什么的任何提示?
c - 通过 RTP 流式传输 H264 视频 + Speex 音频?
在我的应用程序中,我成功地使用 libavcodec 编码/解码 H264 视频和 Speex 音频,并使用 libavformat 保存在 MKV 容器中。
现在,我不想创建容器文件,而是想通过我们的本地网络流式传输音频和视频。
我看到 RTP 是执行此操作的标准化方式。
根据 libavformat 源代码,它不支持带有 RTP 的 Speex。
关于通过 LAN 流式传输 H264/Speex 的任何其他建议?
在 libavformat RTP 中实现 Speex 支持之前,我应该阅读哪些内容?