问题标签 [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.
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”的引用
附加信息
构建avconv时也会出现此错误。它在链接时也会失败,并出现相同的错误。所以我可以假设该目录或源没有问题。
c++ - 使用未压缩的音频录制可加快视频速度
很长一段时间以来,我一直在令人满意地使用记录器(基于 muxer 示例)来处理各种格式。现在我需要使用未压缩的音频来处理 MJPEG 视频,并且我注意到录制文件中的视频速度相当快(比如快 10 倍)。音频还可以,如果我使用压缩的音频格式(如 mp3),视频就可以了。有谁知道为什么我使用未压缩音频(CODEC_ID_PCM_S16LE)时视频会加快速度?
ffmpeg - ffmpeg 或 libav 来创建录音 webapp?
是否可以创建一个可以使用 ffmpeg 或 libav 录制音频或视频的 Web 应用程序?
还是这些仅用于创建用于编码、解码、录制音频/视频的桌面应用程序?
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 的源代码编译而来的。
欢迎任何有关如何解决此问题的想法。目前,我不在那些:)
c - 我在哪里可以找到 libav、ffmpeg 等的现代教程?
我想用 C 语言制作一个快速程序,它将打开一个视频,将每一帧保存为 ppm,并转储运动矢量。我能找到的所有教程都来自大约十年前,并调用了已弃用或不存在的函数。
是否有任何好的在线资源、网站、视频或教科书涵盖了现代方法来做这些类型的事情?
ffmpeg - 从 AVFrame 复制一个矩形区域 - ffmpeg
我正在尝试拉出一个 AVFrame 的矩形区域并开始执行一个功能。我只对使用格式为 PIX_FMT_RGB24 的 AVFrame 感兴趣。我也可能在这里重新发明轮子,所以如果已经有这样做的功能,请加入。到目前为止,我的功能如下所示:
当我从 (0,0) 开始(我认为)时,该功能似乎有效,但是当我在图像中的其他位置移动时,它输出的颜色与应该存在的颜色相似但不正确。我想我在这里很近,有人可以提供指导吗?
rgb - 使用 libav 将 rgb 编码为 yuv420p
我正在尝试使用 libav 将 RGB 图像数据的向量(源自 .png 图像)转换为 YUV420p 格式。
在 libav 示例代码中,以下内容用于创建虚拟图像:
我不清楚这里的一些事情:
首先,我是否需要重新排列输入向量中的 RGB 数据,使其适合编码为 YUV420p?
其次,我知道每个像素都有一个 Y 值,而 Cb 和 Cr 值用于四个 (2x2) 像素。我不明白的是 RGB 数据是如何“减少”到 Cb 和 Cr 值的——有没有一个例子说明如何在任何地方做到这一点?
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 不适用于:它失败并显示错误消息:.... 转换失败。
logging - libav 记录到文件
我想将 libav 日志消息重定向到文件。FFmpeg 有一个环境变量“FFREPORT”来指定转储日志消息的文件路径。LIBAV 中是否有任何变量来指定日志文件路径。?
c++ - 如何将西里尔文字添加到 AVFrame 或 IplImage
拉丁文本可以通过 cvPutText() 轻松添加,但我需要将西里尔文本添加到 IpImage(或 AVFrame,没关系)。请你帮助我好吗?谢谢!