当前位置: 首页 > 知识库问答 >
问题:

如何使用ffmpeg对H.264中的视频进行编码?

凤明朗
2023-03-14

我已从安装ffmpeg 3.0https://github.com/FFmpeg/FFmpeg,我正在尝试将用mepeg4第2部分编码的视频转换为H264,但我得到未知编码器“libx264”错误

我试过h264, x264, libx264,都不管用)

ffmpeg -i Fashion.divx -acodec aac -vcodec libx264  out.mp4

我查看了支持的编解码器列表

Codecs:
 D..... = Decoding supported
 .E.... = Encoding supported
 ..V... = Video codec
 ..A... = Audio codec
 ..S... = Subtitle codec
 ...I.. = Intra frame-only codec
 ....L. = Lossy compression
 .....S = Lossless compression
 -------
 D.VI.. 012v                 Uncompressed 4:2:2 10-bit

这里是h264:

 D.V.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_vdpau)

我使用的是ffmpeg 3.0,从列表中可以看出,似乎不支持h264编码,只支持h264解码,对吗?

我试图通过本指南启用h.264如何使用libx264(x264,h.264)快速编译FFmpeg

./configure --enable-gpl --enable-libx264

但我明白了/配置--启用gpl--启用libx264

ERROR: libx264 not found

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solve the problem.

我应该怎么做才能使h.264中的视频编码工作正常?

共有2个答案

应瀚
2023-03-14

呵呵,你已经回答了自己的问题:

这里是h264:

 D.V.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_vdpau)

如清单所示,编码器的名称是h264,编解码器的名称可以在大括号之间找到。

因此,您的命令应如下所示:

ffmpeg -i Fashion.divx -acodec libfaac -vcodec h264  out.mp4

我的FFmpeg版本有libx264,所以“编码-编解码器”选项会打印以下内容:

DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_vdpau ) (encoders: libx264 libx264rgb )

如您所见,我可以使用-vcodec libx264-vcodec libx264rgb

傅玮
2023-03-14

好的,我刚刚发现我需要单独安装libx264,下面是命令

sudo apt-get install yasm libvpx. libx264.

事实上,在安装libx264之后

 DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_vdpau ) (encoders: libx264 libx264rgb )
 类似资料:
  • 我需要验证视频文件是(在Java): 视频是H.264编码的 我调查过JMF和Xuggle。 Xuggle使加载和解码文件变得更容易,并将其转换为另一种格式,但我还不知道如何确定我加载的文件的编码。 所以我想知道Xuggle是否有能力简单地返回视频类型 如果我需要自己确定,有人能给我指一些H.264格式的文档吗

  • 背景: 两天来,我一直在努力实现一个像Vine一样的录像机。首先,我试了MediaRecorder。但我需要的视频可能是由小视频剪辑组成的。此类不能用于录制短时视频剪辑。然后我找到了MediaCodec、FFmpeg和JavaCV。FFmpeg和JavaCV可以解决这个问题。但是我必须用许多库文件来编译我的项目。它将生成一个非常大的APK文件。所以我更喜欢用MediaCodec实现它,尽管这个类只

  • 我想把一个MP4文件转换成一个MPEG-DASH视频,可以通过Chrome上的Dash-if HTML5播放器播放。我使用FFMPEG和MP4Box(来自GPAC)对视频进行转码,然后对其进行拆分,并在JavaScript控制台上不断得到一个MEDIA_ERR_SRC_NOT_SUPPORTED错误。 从网上提供的(非常稀疏的)信息(请参见此Chromium线程)来看,Chrome似乎只支持带有约

  • 我正在使用Java API实现一个解码器,用于解码实时H.264远程流。我正在使用回调()从本机层接收H.264编码数据,并在的上解码和呈现。我的实现已经完成(使用回调、解码和呈现等方式检索编码流)。下面是我的解码器类: 现在的问题是-流正在解码和呈现在表面,但视频不清楚。看起来像是框架被打破了,场景被扭曲了/脏了。移动是破碎的和方形的碎片到处(我真的很抱歉,因为我没有截图现在)。 关于我的流-它

  • 我使用此命令从Raspberry摄像机流式传输实时视频: 我需要一种通过netcat传输H.264文件的方法,如上面的示例所示。它的接收方式必须与我的覆盆子相机相同。

  • 我有两个h264视频文件。一个是“Big buck Bunny”,另一个是我使用FFMPEG创建的。两者在大多数浏览器中都可以播放,但在Firefox31.1.0中,“Big buck Bunny”播放得很好,但我的视频给出了“损坏视频”的响应。 ffprobe在屯门的两个视频的输出如下(首先是兔子,然后是我的) 谁能明白为什么我的不玩...?