问题标签 [libx264]

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 回答
1760 浏览

android - 又一个 ffmpeg/libx264 问题

我现在的情况是;ffmpeg 和 libx264 已为 Android 编译,分别作为共享库和静态库。由于我有 libx264.a 和 libffmpeg.so,剩下的就是链接它们并获得一个 ffmpeg 库,让我可以继续我的应用程序。然而,一些问题仍未得到解答。我在 Windows 7 下使用带有虚拟机的 Ubuntu。我使用的是 x264 的最新版本,ffmpeg 0.10.4 版本和 NDK 7。

我试图调整标志(extracf 和 extrald),以便将 libx264 也包含到 ffmpeg 编译过程中,但是我一直失败。您可以在下面找到我的 ffmpeg 构建脚本以及我遇到的错误。

如果我基本上删除行 extracf 和 extrald 标志并使用其他标志(注释掉),它工作正常,除了 libx264 not found 错误。否则,我会收到以下错误。

编译过程如下结束。

我在我的目录 /home/mehmet/x264 中安装了 x264,我还检查了 whereis x264.a,它显示为 /usr/local/lib。我尝试更改路径 $x264 以指向 home/mehmet/x264 文件夹,但我得到了同样的错误。

最后,如果我同时启用了 extracf 和 extrald 标志(注释的和使用的)。我得到了上面提到的同样的错误。恐怕我在这里做了一个简单的错字,但看不到它,这让我发疯。非常感谢你的帮助。

最好的。

编辑

我已删除评论,现在获得以下内容。

当我运行脚本时,从终端观察到上述错误。它建立到某个点并完成该过程并出现以下错误。

0 投票
2 回答
3975 浏览

android - ffmpeg android构建中的libx264编码器错误

现在,我有一个 ffmeg 构建脚本,它可以识别 libx264 并成功编译。我还编译了 x264 并获得了 libx264.a 库。ffmpeg 和 libx264 都是从源代码构建的。我也可以在没有 libx264 的情况下成功构建 ffmpeg。您可能会在下面找到我的脚本,它尝试使用 libx264 构建 ffmpeg。

上面的脚本在 ffmpeg 输出构建中没有给我 libx264.a。其他几个场景如下。如果我启用 x264 编码器,我会在 x264.c(在 libavcodec 中)中的某些变量出现未定义的引用错误。如果我在 ffmpeg 配置中启用共享,我会收到一个错误,说它不能 cd 到我的前缀目录(顺便说一下,没有权限问题)。

我正在使用最新版本的 ffmpeg 和 x264(今天克隆了 git)和 ndk 7。Ubuntu 在 VM 上运行,安装在 Windows 7 上。有关我将 ffmpeg/x264 移植到 Android 的冒险的更多详细信息,您可以参考此处

我应该怎么做才能将 libx264 与 ffmpeg 一起使用?我继续尝试使用不同配置的脚本,删除所有 ffmpeg x264 文件夹并重新安装它们,但无济于事。

提前非常感谢。

编辑 下面是我的 x264 构建脚本。它构建得很好,给了我静态库和标题。

这是我启用 libx264 编码器时终端上发生的情况。

0 投票
1 回答
1136 浏览

x264 - 加速 x264 编码(使用 libavcodec 的 C++ 代码)

我正在尝试捕获 Windows 屏幕(连续屏幕截图)并将它们编码为 x264。为此,我正在使用 libavcodec 提供的 avcodec_encode_video2 函数。但是,这需要大量时间。编码单个帧的时间在 25 – 1800 毫秒之间波动。

我尝试了在屏幕上录制视频的 1080p 和 720p。

这些是我正在使用的设置。这是在具有 4 GB RAM 的 Windows 7、win32 版本构建上测试的。

bit_rate = 2000, width = 1920, height = 1080 qmin = 0, qmax = 0, max_b_frames = 0, frame_rate = 25, pixel_format = YUV 4:4:4。其余设置是默认设置,使用 avcodec_get_context_defaults3() 获取。

一组 250 帧中 20 帧(连续且随机选择)的样本数据(以毫秒为单位)。{ 121, 106, 289, 126, 211, 30, 181, 58, 213, 34, 245, 50, 56, 364, 247, 171, 254, 83, 82, 229 }

对于应用程序,它必须至少以 15 fps 的速度捕获。有人可以帮忙判断是否可以使用任何选项来提高帧速率。我需要无损编码,但我愿意增加一些文件大小。

提前致谢。

0 投票
1 回答
2803 浏览

c - h264 全局标头

我需要处理来自外部服务器的传入 h264 流。

这个流由带有sps/pps信息的h264帧组成。

我需要“剥离”这些信息并将数据传递给接收器。

我怎样才能做到这一点 ?

0 投票
1 回答
456 浏览

video - 是否可以在 x264 中强制 I_PCM 模式?

对于使用 x264 压缩的视频中的某些 I 帧,我需要在所有块中使用 I_PCM 模式。我知道这些帧会占用大量空间,但要求它们尽可能忠实于源,并使它们的编码/解码速度非常快(I_PCM 应该是超快速且无损的)。有没有办法强制 x264 以编程方式执行此操作。我正在使用 libx264 来执行此操作,但我还没有找到在给定帧内指定自定义宏块类型的方法。如果不支持,那么修改库有多难,我应该先在哪里看?

0 投票
1 回答
2181 浏览

c++ - 如何使用 x264 与 ffmpeg 进行编码?

我尝试使用 ffmpeg 对视频进行编码/但它在 AVCodecContext 和 AVCodec 的初始化时失败。我所做的:

以这种方式,ii 在 avopen_codec2() 上失败:

如果我评论所有 AVCodecContext 参数设置 - 我有:

并且 avcodec_open 返回负值。我正在做的哪些步骤是错误的?

感谢您的帮助(ffmpeg 0.10 && libx264 昨天的每日快照)

0 投票
1 回答
791 浏览

ffmpeg - 在 ffmpeg 中转储 libx264 编码参数

编码流时是否可以获取 libx264 中使用的参数值列表?我正在使用 ffmpeg 二进制文件进行编码。

0 投票
1 回答
998 浏览

ffmpeg - 像 CODEC_FLAG2_BPYRAMID 这样的 ffmpeg 标志在哪里?

我正在开发将 VS2010 与 ffmpeg 一起使用,并尝试了此处的代码。但是VS说它找不到

  1. CODEC_FLAG2_BPYRAMID+CODEC_FLAG2_MIXED_REFS+CODEC_FLAG2_WPRED+CODEC_FLAG2_8X8DCT+CODEC_FLAG2_FASTPSKIP; // flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip
  2. X264_PART_I8X8+X264_PART_I4X4+X264_PART_P8X8+X264_PART_B8X8
  3. avCodecContext.crf

它们位于哪里?

0 投票
1 回答
4715 浏览

c++ - 在 mp4 容器中保存视频时 FPS 太高

当我从 avi 文件解码帧然后在 x264 中解码它们并保存到 mp4 文件时,输出文件的 fps 始终为 12,800。因此文件播放速度非常快。但是,当我将编码的 h264 帧保存为 avi 格式而不是 mp4 时,fps 就是我想要的 - 25。

可能是什么问题呢?

这是我在VS2010中编写的代码:

0 投票
1 回答
329 浏览

opengl - 如何从 opengl FrameBufferObject 获取 RGB 像素以进行 libx264 编码?

我想从 FrameBufferObject 中获取 RGB 像素:fboName。有什么方法吗?从 GPU 到 CPU 的内存映射会花费大量时间吗?