问题标签 [libav]

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 投票
3 回答
4335 浏览

list - 从哪里获得 libav* 格式的完整列表?

从哪里获得 libav* 格式的完整列表?

0 投票
5 回答
35081 浏览

c - 如何使用 libavcodec/x264 对 h.264 进行编码?

我正在尝试使用 libavcodec/libavformat 对视频进行编码。音频效果很好,但是当我尝试对视频进行编码时,出现以下错误:

使用命令行 ffmpeg 很容易修复,但我正在尝试在 C 中执行此操作。我的选项是

但 avcodec_open() 失败。

我还需要设置哪些其他值才能使 x264 满意?

0 投票
1 回答
4131 浏览

iphone - 如何将 CMSampleBuffer/UIImage 转换为 ffmpeg 的 AVPicture?

我正在尝试使用 ffmpeg 的 libav* 库将 iPhone 的相机帧编码为 H.264 视频。我在这篇 Apple 的文章中找到了如何将 CMSampleBuffer 转换为 UIImage,但是如何将其转换为 ffmpeg 的 AVPicture?

谢谢。

0 投票
1 回答
5581 浏览

iphone - iPhone SDK 4.3 libav 编译问题

我遇到了奇怪的问题。我安装了 iPhone SDK 4.3 和 xCode 4,现在我无法从 ffmpeg 为 ARMv6 架构编译 libav。这是我的编译脚本(它适用于 iPhone SDK 4.2):

结果我得到了库文件,但是当我使用 lipo -info 命令检查它时,它显示该库是为 i386 架构编译的。

也许有人面临这样的问题?请帮帮我。

谢谢。

0 投票
1 回答
1673 浏览

ffmpeg - i586-mingw32msvc-pkg-config 应该在哪里?

当我在 ubuntu 中配置 libav 时,会出现这样的警告

警告:找不到 i586-mingw32msvc-pkg-config,库检测可能会失败。

这是我的配置代码。

./configure --target-os=mingw32 --cross-prefix=i586-mingw32msvc- --arch=x86 --prefix=/usr/local/win32 --enable-memalign-hack --disable-gpl --disable -avisynth --disable-postproc --enable-runtime-cpudetect --disable-encoders --disable-muxers --disable-network --disable-devices --enable-shared

0 投票
1 回答
4642 浏览

ffmpeg - 我可以在没有 libx264 的情况下通过 libavformat 将 h264 流混合到 mp4(aac) 吗?

我只有 h.264 编码的视频流,我想制作 mp4 文件。

/* 查找 mp4 的输出格式 */

m_pOutputFormat=av_guess_format("mp4", NULL, NULL);

如果(!m_pOutputFormat)返回假;// 找不到合适的输出格式(mp4)。

在这段代码中,我得到的视频编解码器不是 h264 的 mpeg,我认为这是因为我在没有 libx264 的情况下构建了 ffmpeg。(而且我不想用 libx264 构建 ffmpeg 以获得许可)

m_pOutputFormat->video_codec=CODEC_ID_H264;

当我将其 video_codec 更改为 CODEC_ID_H264 时,某些播放器(kmplayer)可以正常工作。但它不适用于 ipod、QuickTime。

此代码可能是错误的,因为它无法更改 codec_tag 值(此变量具有 const 属性)。


1.如何在不重新编译 libav+libx264 的情况下获得 av_guess_format("mp4",NULL,NULL) 的其他结果?

2.如何正确制作mp4文件?

0 投票
1 回答
1294 浏览

c++ - 使用非英文文件名调用 avio_open 函数无效

我一直在用libav编写基于unicode的程序,我想通过libav制作一些文件名为“中.mp4”的文件。

这个文件名不是英文,当我调用时,函数返回正整数(不失败)。

但是有“ѱ0.mp4”而不是“中.mp4”。(无效的文件名。)

怎么了?

0 投票
1 回答
5070 浏览

xcode4 - 使用 libav* 库在 xcode 4 中构建时出现非法文本重定位到 non_lazy_ptr 错误

我正在尝试构建一个简单的应用程序,该应用程序在 xcode 4 中使用 ffmpeg 的 libav* 库并收到以下错误:

ld:架构 i386 的 _ff_ac3_bit_alloc_calc_psd 中的非法文本从 /ffmpeg/temp/ffmpeg-0.8/builduni/lib/libavcodec.a(ac3.o) 重新定位到 non_lazy_ptr

我已经尝试运行 ranlib -c libavcodec.a 来解决这个问题,但没有任何反应。还有一件事:我的 libav* 库是胖二进制文件 (i386 + x86_64)。

有什么想法吗?

0 投票
1 回答
1847 浏览

ns2 - av_open_input_file 返回 -2 但文件存在(NS2 中的 libav)

我尝试在 NS2 中进行模拟,在其中我读入 .wav 文件,编码为 gsm 并通过网络发送它们。我已经设法制作了一个读取 .wav、编码为 gsm 并存储在硬盘上的应用程序(经过测试,工作正常)。现在我尝试对 Network Simulator 2 进行同样的扩展,我遇到了 av_open_input_file 的问题,它一直说没有这样的文件,尽管我的 gsm 编码应用程序中的那个文件没有问题。我使用的电话:

已经尝试过不同的文件,硬编码路径、绝对路径、相对路径并将“file://”放在前面,因为 libav 显然使用了某种文件协议。然后我尝试自己打开文件:

(在应该由 av_open_input_file 调用的 libav 的 file.c 中找到此调用)像这样打开文件没有问题,一切似乎都很好,所以现在我不知道还有什么问题。

有什么建议么?

最好的问候,弗洛伦卡

0 投票
2 回答
2596 浏览

c++ - 从 AVPacket 为 h264 视频填充 CMediaType 和 IMediaSample

我已经搜索并且几乎没有发现任何东西,所以我非常感谢我的问题的一些帮助。

我正在编写一个 DirectShow 源过滤器,它使用 libav 从 youtube 的 FLV 文件读取和发送下游 h264 数据包。但我找不到合适的 libav 结构字段来正确实现过滤器的 GetMediType() 和 FillBuffer()。一些 libav 字段为空。因此,h264 解码器在尝试处理接收到的数据时崩溃。

我哪里错了?使用 libav 或 DirectShow 接口?也许 h264 在使用 libav 时需要额外的处理,或者我错误地填写了参考时间?有人有任何链接可用于使用 libav 编写 DirectShow h264 源过滤器吗?

GetMediaType() 的一部分:

FillBuffer() 的一部分:

PS 我已经用 hax264 解码器调试了我的过滤器,它在调用 libav 不推荐使用的函数 img_convert() 时崩溃。