区别:MPEG4是网络视频图像压缩标准,它包含的标准从ISO-IEC-14496-1 到 ISO-IEC-14496-102. MPEG4中规定了两种视频压缩方法,一种在ISO-IEC-14496-2里面描述,一种在ISO-IEC-14496-10里面描述。其中ISO-IEC-14496-10的算法就是我们熟知的H.2643. 在这两种压缩算法中,H.264的性能更好一些视频编码新标准H.264w

MPEG-4科普

MPEG-4就是我们常说的mp4,它是一种网络视频图像压缩标准。MPEG-4标准目前分为27个部分,统称为ISO/IEC14496国际标准。

它规定了两种视频的压缩方法,一种在第二部分(ISO/IEC 14496-2)中有描述,也就是业界常说的H.263编码;另一种在第十部分(ISO/IEC 14496-10)中,描述了高级视频编码AVC(Advanced Video Coding),就是H.264视频编码标准。

H.264是新一代数字视频压缩格式。它具有很高的数据压缩比率,在同等图像质量的条件下,是MPEG-4的1.5~2倍。

在转换实例中,源文件大小超过190MB,将编码方式转换为H.264后,输出文件大小仅有30MB。

软件准备

系统背景:windows 10 64位

下载链接:https://github.com/BtbN/FFmpeg-Builds/releases

下载格式:ffmpeg-N-102618-ge41255cddb-win64-gpl

环境调试:将下载的文件直接解压,将解压文件中bin文件的路径加入到用户变量的Path变量中。具体操作如下所示。

FFmpeg[5] - 将视频文件转码成MP4格式_视频压缩

代码详解

  1. 将MP4文件的编码方式转为H.264
ffmpeg -i E:\input.mp4 -vcodec h264 E:\output.mp4  
//input.mp4是要转换视频文件;output.mp4是转化后视频文件;文件前要加入路径
  • 1.
  • 2.
  1. 将MP4文件直接转为H264文件
ffmpeg -i E:\input.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 E:\output.h264

-i input.mp4: 是输入的MP4文件
-codec copy: 从mp4中拷贝
-bsf: h264_mp4toannexb: 从mp4拷贝到annexB封装
-f h264: 采用h264格式
output.264: 输出的文件
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

转换实例

首先打开cmd窗口,然后采用命令cd转到bin文件下。如果环境配置好了,是不需要转换路径的,可直接输入以下指令。输入指令:ffmpeg -i E:\mpeg.mp4 -vcodec h264 E:\output.mp4

已经开始转换了。

FFmpeg[5] - 将视频文件转码成MP4格式_图像压缩_02


等待转换完成后,可以看到在输出路径下出现了新的文件。

FFmpeg[5] - 将视频文件转码成MP4格式_视频编码_03