问题标签 [libavcodec]

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.

0 投票
1 回答
2564 浏览

encoding - 使用 libavcodec (FFMpeg) 编码 Speex?

我成功编译了启用speex的libavcodec。我修改了 FFMPEG 文档中的示例,将示例音频编码为 Speex。但结果文件无法使用 VLC Player(具有 Speex 解码器)播放。

有小费吗?

0 投票
1 回答
12765 浏览

c++ - 使用 libavcodec 解码音频并使用 libAO 播放?

我使用以下代码片段来解码音频文件(用 MP3、WAV、WMV 测试)。

但是当它播放音频时,它只会发出静态声音并时不时地崩溃。关于我在这里做错了什么的任何提示?

0 投票
1 回答
852 浏览

c - 通过 RTP 流式传输 H264 视频 + Speex 音频?

在我的应用程序中,我成功地使用 libavcodec 编码/解码 H264 视频和 Speex 音频,并使用 libavformat 保存在 MKV 容器中。

现在,我不想创建容器文件,而是想通过我们的本地网络流式传输音频和视频。

我看到 RTP 是执行此操作的标准化方式。

根据 libavformat 源代码,它不支持带有 RTP 的 Speex。

关于通过 LAN 流式传输 H264/Speex 的任何其他建议?

在 libavformat RTP 中实现 Speex 支持之前,我应该阅读哪些内容?

0 投票
1 回答
2725 浏览

c++ - ffmpeg(libavcodec)。avcodec_encode_video 中的内存泄漏

我正在尝试在 libavcodec 的帮助下对视频进行转码。在对大视频文件(小时或更长时间)进行转码时,我在 avcodec_encode_video 中出现了巨大的内存泄漏。我试图调试它,但是对于不同的视频文件,不同的功能会产生泄漏,我对此有点困惑:)。在这里,带有 QT 内存泄漏的 FFMPEG 与我遇到的问题相同,但我不知道那个人是如何解决的。QtFFmpegwrapper 似乎和我做的一样(或者我错过了一些东西)。

我的方法较低。我用 av_free 和 av_free_packet 在外面处理了 aFrame 和 aPacket。

0 投票
2 回答
1682 浏览

opengl - 创建视频 vom 渲染的 OpenGL 帧

我正在寻找一种方法来从我用 OpenGL 渲染并使用 glGetTexImage 函数作为 int 数组传输到 ram 的一行帧创建视频。是否可以直接在 ram(约 10 秒视频)中实现这一点,还是我必须将每一帧保存到硬盘并在之后对视频进行编码?

我在另一个 SO 问题中找到了这个示例http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/api-example_8c-source.html但这仍然是最好的方法吗?

0 投票
1 回答
1080 浏览

c - AVCodec PTS 时间戳不是从 0 开始

我注意到对于一些视频文件,在 AVPacket 结构中返回的 PTS 时间戳不是从 0 开始,而是在一段时间后开始的。例如在 3.128 或什么的。我测试的 99% 的视频文件都有从 0 开始的 PTS 时间戳,但很少有文件有一些从 3.128 或 1.2 或其他东西开始的奇怪时间戳。我应该如何处理这些案件?我是否应该只记录第一个数据包的 PTS 时间戳,然后从所有后续时间戳值中减去此 PTS 以获得基于 0 的 PTS 值?或者我应该如何处理这些基于非 0 的时间戳?谢谢你的帮助!

0 投票
1 回答
2302 浏览

c - libav:用 RGB24 样本数据填充 AVFrame?

我正在尝试为使用 RGB24 格式初始化的 AVFrame 填充样本数据。我使用以下代码片段来填充 RGB 数据。但是在编码的视频中,我只能看到仅覆盖视频帧 1/3 的灰度条。此代码片段假设仅填充红色。任何提示我在这里做错了什么?

0 投票
2 回答
2610 浏览

h.264 - 使用 ffmpeg 将 H.264 编码数据保存到文件中

我有来自图像采集卡的 H264 数据。使用这些数据,我已经编写了一个 RTP/H264 流媒体服务器(使用 live555)和一个 RTP/H264 客户端(使用 ffmpeg 和 live555)。

我想向我的服务器添加一个新功能:以任何格式(avi、mp4、mkv 等)将编码的 H264 数据直接保存到文件(无需转码),以便以后使用 VLC 观看视频。

对于显示客户端,基本上,我执行了:

1) 使用 ffmpeg/av_new_packet() 从 H264 数据构建数据包

2)解码H264数据ffmpeg/avcodec_decode_video2()

3) 使用 ffmpeg/sws_scale() 格式化解码帧

4) 显示

有人可以在不解码/转码数据和使用 ffmpeg 的情况下快速建议我使用视频文件保存功能吗?足以

1)选择输出上下文(格式)

2) 使用 ffmpeg/av_new_packet() 从 H264 数据构建数据包

3) 使用 ffmpeg/av_(interleaved)_write_frame() (以及 av_write_trailer() 和 av_write_header()) 保存数据包?

?

谢谢大家

0 投票
1 回答
1101 浏览

ffmpeg - 在 Mpeg 流中插入用户数据

有没有办法在 MPEG 流中插入用户数据(起始代码 = 0X1B2)?我正在寻找的是一个简单的工具、脚本或使用十六进制编辑器的一些技巧......

或者你可能有一个 ffmpeg(libavcodec 和 libavformat)的补丁可以做到这一点?

0 投票
1 回答
4872 浏览

c++ - 使用 ffmpeg 编码为 .MP4 的问题

所以我对此有点陌生,我正在编写一个将视频录制为 .AVI 的 WIN32 应用程序,然后我计划使用 ffmpeg 编码为 .MP4。根据我找到的样本,我做到了这一点。它编译并说它对文件进行了编码和编写,但输出文件无法打开和播放。我尝试像原始样本一样使用 MPEG1 编码,但它只会给我奇怪的颜色几秒钟。

我是否遗漏了应该对文件执行的操作?

任何在编码/ffmpeg 方面有经验的人,一些指示、建议或帮助都会让我非常感激。提前致谢!