问题标签 [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 投票
1 回答
2499 浏览

linux - VLC libx264 构建错误 - “未定义对 'x264_encoder_open_128' 的引用”

主要问题

尝试重复此错误的步骤。

  • 下载最新的 git (git://git.videolan.org/x264.git)。
  • 运行./configure- 您可以使用任何选项,所有选项都存在错误。
  • 运行sudo make- 它将编译所有代码,但是当需要链接代码时,它会遇到错误

    /usr/local/lib/libavcodec.a(libx264.o):在函数“X264_init”中: /.../libx264.c:
    418:未定义对“x264_encoder_open_128”的引用

然后这将退出并退出make。我已经删除了所有与 x264 相关的 apt 包。我已经在我的计算机上搜索了任何可能相关的库并删除了它们。这个问题仍然存在。有人可以解释发生了什么问题以及解决此问题的最简单方法吗?

附加信息

构建avconv时也会出现此错误。它在链接时也会失败,并出现相同的错误。所以我可以假设该目录或源没有问题。

0 投票
0 回答
104 浏览

c++ - 使用未压缩的音频录制可加快视频速度

很长一段时间以来,我一直在令人满意地使用记录器(基于 muxer 示例)来处理各种格式。现在我需要使用未压缩的音频来处理 MJPEG 视频,并且我注意到录制文件中的视频速度相当快(比如快 10 倍)。音频还可以,如果我使用压缩的音频格式(如 mp3),视频就可以了。有谁知道为什么我使用未压缩音频(CODEC_ID_PCM_S16LE)时视频会加快速度?

0 投票
1 回答
307 浏览

ffmpeg - ffmpeg 或 libav 来创建录音 webapp?

是否可以创建一个可以使用 ffmpeg 或 libav 录制音频或视频的 Web 应用程序?

还是这些仅用于创建用于编码、解码、录制音频/视频的桌面应用程序?

0 投票
1 回答
960 浏览

ffmpeg - avformat_write_header 产生无效的标头(导致 MPG 损坏)

我正在从运行时来自 3D 引擎的输入图片渲染视频文件(我不传递实际的图片文件,只是 RGB 内存)。这在使用 CODEC_ID_H264 作为视频编解码器输出 MP4 时非常有效。

但是当我想使用 CODEC_ID_MPEG2VIDEO 创建一个 MPG 文件时,生成的文件就被破坏了。没有播放器可以正确播放视频,然后当我想将该 MPG 与另一个 MPG 文件连接,并在另一个步骤中转换结果 MP4 时,生成的 .mp4 文件包含两个视频,但来自原始 MPG 视频的许多帧(并且只有视频!声音效果很好)被简单地跳过。

起初我认为 MPG -> MP4 转换是问题,但后来我注意到来自视频渲染引擎的初始 MPG 已经损坏,这说明标题损坏。不过,不确定是系统标头还是序列标头损坏。或者,如果它可能是完全不同的东西。

如果你想看看,这里是文件: http ://www.file-upload.net/download-7093306/broken.mpg.html

同样,当直接从视频渲染引擎创建 MP4 时,完全相同的复用代码工作得非常好,所以我很确定输入数据、swscale() 等是正确的。唯一的区别是使用了 CODEC_ID_H264 并设置了一些额外的变量(如 qmin、qmax 等),这些变量都是 H264 特有的,因此不会产生影响。

此外, avformat_write_header 和 av_write_trailer 都不会报告错误。

作为附加信息,在 VLC 播放器中查看 MPG 的编解码器数据时,无法显示 FPS、分辨率和格式(应显示 640x360、30 fps 和 4:2:0 YUV)。

我正在使用一个相当新的(可能是 2-3 个月大)FFmpeg 版本,它是我从 MinGW 的源代码编译而来的。

欢迎任何有关如何解决此问题的想法。目前,我不在那些:)

0 投票
2 回答
5743 浏览

c - 我在哪里可以找到 libav、ffmpeg 等的现代教程?

我想用 C 语言制作一个快速程序,它将打开一个视频,将每一帧保存为 ppm,并转储运动矢量。我能找到的所有教程都来自大约十年前,并调用了已弃用或不存在的函数。

是否有任何好的在线资源、网站、视频或教科书涵盖了现代方法来做这些类型的事情?

0 投票
2 回答
1465 浏览

ffmpeg - 从 AVFrame 复制一个矩形区域 - ffmpeg

我正在尝试拉出一个 AVFrame 的矩形区域并开始执行一个功能。我只对使用格式为 PIX_FMT_RGB24 的 AVFrame 感兴趣。我也可能在这里重新发明轮子,所以如果已经有这样做的功能,请加入。到目前为止,我的功能如下所示:

当我从 (0,0) 开始(我认为)时,该功能似乎有效,但是当我在图像中的其他位置移动时,它输出的颜色与应该存在的颜色相似但不正确。我想我在这里很近,有人可以提供指导吗?

0 投票
1 回答
1077 浏览

rgb - 使用 libav 将 rgb 编码为 yuv420p

我正在尝试使用 libav 将 RGB 图像数据的向量(源自 .png 图像)转换为 YUV420p 格式。

在 libav 示例代码中,以下内容用于创建虚拟图像:

我不清楚这里的一些事情:

首先,我是否需要重新排列输入向量中的 RGB 数据,使其适合编码为 YUV420p?

其次,我知道每个像素都有一个 Y 值,而 Cb 和 Cr 值用于四个 (2x2) 像素。我不明白的是 RGB 数据是如何“减少”到 Cb 和 Cr 值的——有没有一个例子说明如何在任何地方做到这一点?

0 投票
3 回答
20511 浏览

android-ndk - 如何将采样率从 AV_SAMPLE_FMT_FLTP 转换为 AV_SAMPLE_FMT_S16?

我正在使用带有avcodec_decode_audio3的ffmpeg将aac解码为pcm。但是它解码为 AV_SAMPLE_FMT_FLTP 样本格式(PCM 32 位浮点平面),我需要 AV_SAMPLE_FMT_S16(PCM 16 位签名 - S16LE)。

我知道 ffmpeg 可以使用 -sample_fmt 轻松做到这一点。我想对代码做同样的事情,但我仍然无法弄清楚。

audio_resample 不适用于:它失败并显示错误消息:.... 转换失败。

0 投票
3 回答
466 浏览

logging - libav 记录到文件

我想将 libav 日志消息重定向到文件。FFmpeg 有一个环境变量“FFREPORT”来指定转储日志消息的文件路径。LIBAV 中是否有任何变量来指定日志文件路径。?

0 投票
0 回答
246 浏览

c++ - 如何将西里尔文字添加到 AVFrame 或 IplImage

拉丁文本可以通过 cvPutText() 轻松添加,但我需要将西里尔文本添加到 IpImage(或 AVFrame,没关系)。请你帮助我好吗?谢谢!