1、mpeg4和mp4格式不一样,区别是:1、MP4是一种视频文件格式,而mpeg4是一个编码标准,即为一个编解码器。可以理解为,mp4是支持mpeg4的标准的音频视频文件,而支持mpeg4标准的文件格式有很多种,mp4和avi都是其中的一种。
2、MP4 是一种视频格式,它可以存储不同的媒体,通常使用 MPEG4 编解码器进行压缩,但并非总是如此。而 MPEG4 本身可以应用于不同的文件格式,包括 MP4、MOV、AVI、MKV、OGG 和 MXF。
3、编解码器是对信号进行编码和解码的程序。媒体编解码器不仅将音频和视频流转换为数字信号,还对其进行压缩,使其更适合在线传输。
媒体容器是一种允许在一个多媒体文件中嵌入多个数据流的技术。大多数情况下,它们是音频、视频、字幕,有时是额外的元数据。我们也可以说,它是一个文件扩展名。
什么是 MPEG4
MPEG4 是一种编解码器。这是运动图像专家组开发的视频和音频编码标准的一种压缩方法。与使用 MPEG 压缩的其他格式不同,MPEG-4 格式可以存储静止图像、字幕、视频、音频和其他基本数据。它们并非都与大多数设备和数字平台兼容。
什么是 MP4
MP4 是一种媒体容器格式,由国际标准化组织于 2001 年开发。它不仅可以存储视频和音频,还可以存储图像和文本。几乎所有设备、网站和社交媒体平台都支持该格式。它以低存储容量提供高质量。
5、只要明白mpeg4是一系列编码的名字,而mp4只是文件后缀名,这样就不会搞错了。
6、视频编码方式
1,H.26X系列 (由ITU[国际电传视讯联盟]主导)包括H.261、H.262、H.263、H.264、H.265。
1) H.261:主要在老的视频会议和视频电话产品中使用。
2) H.263:主要用在视频会议、视频电话和网络视频上。
3) H.264:H.264/MPEG-4第十部分,或称AVC(Advanced Video Coding,高级视频编码),是一种视频压缩标准,一种被广泛使用的高精度视频的录制、压缩和发布格式。
4) H.265:高效率视频编码(High Efficiency Video Coding,简称HEVC)是一种视频压缩标准,H.264/MPEG-4 AVC的继任者。HEVC被认为不仅提升图像质量,同时也能达到 H.264/MPEG-4 AVC两倍之压缩率(等同于同样画面质量下比特率减少了50%),可支持4K分辨率甚至到超高画质电视,最高分辨率可达到8192×4320(8K分辨率),这是目前发展的趋势。直至2013年,Potplayer添加了对于H.265视频的解码,尚未有大众化编码软件出现。
2,MPEG系列(由ISO[国际标准组织机构]下属的MPEG[运动图象专家组]开发 )视频编码方面主要有:
1) MPEG-1第二部分(MPEG-1第二部分主要使用在VCD上,有些在线视频也使用这种格式。该编解码器的质量大致上和原有的VHS录像带相当。)
2) MPEG-2第二部分(MPEG-2第二部分等同于H.262,使用在DVD、SVCD和大多数数字视频广播系统和有线分布系统(cable distribution systems)中。)
3) MPEG-4第二部分(MPEG-4第二部分标准可以使用在网络传输、广播和媒体存储上。比起MPEG-2和第一版的H.263,它的压缩性能有所提高。)
4) MPEG-4第十部分(MPEG-4第十部分技术上和ITU-T H.264是相同的标准,有时候也被叫做“AVC”)最后这两个编码组织合作,诞生了H.264/AVC标准。ITU-T给这个标准命名为 H.264,而ISO/IEC称它为MPEG-4 高级视频编码(Advanced Video Coding,AVC)。
3,其他系列:AMV · AVS · Bink · CineForm · Cinepak · Dirac · DV · Indeo · Video · Pixlet · RealVideo · RTVideo · SheerVideo · Smacker · Sorenson Video · Theora · VC-1 · VP3 · VP6 · VP7 · VP8 · VP9 · WMV。
VP8是google定义并开源的视频编解码标准和编解码库实现。
Google 收购了On2 Technologies,之后Google开放了其拥有的VP8视频编码技术源代码并免费提供给所有开发者使用,发布
WebM 开放网络媒体项目
VP8号称比H264编码性能更好,实际上没那么夸张,差不多相当于ffmpeg内置默认的openh264编解码库。VP8的压缩实现与H264有点区别就是VP8没有B帧,而H264有B帧。
VP8的优点是开源,没有H264/H265的专利版权风险,可以随便用,除了IE9以下版本的浏览器外,现代浏览器都支持VP8视频编码,当然也支持webm视频格式。
VP9也是google开源的用与比拼H265(HEVC)的编解码器,可以看出google真的很努力的在开源,这种开源的视频编码应该多一些,百花齐放才能促进音视频技术升级。
兼容性方面,除了IE9以下版本的浏览器外,现代浏览器都支持VP9视频编码,当然也支持webm视频格式。
ffmpeg转码常用容器、编码格式与解编码器的搭配总结,-c与-f参数的运用
特别提一点,mkv是个万能的容器格式,下面说的所有编码格式,mkv几乎都能“装”,就不再列出了。
视频编码格式:
h264(又称mpeg-4 avc、mpeg-4 part 10):mp4、flv、avi、mov、wmv、m4v、f4v、3gp、ts
mpeg4(不只一种,这里指mpeg-4 part 2、divx、xvid):mp4、avi、mov、wmv、m4v、3gp、ts
h265(又称hevc、mpeg-h part 2):mp4、avi、mov、ts
vp8:avi、wmv、ts、webm
vp9:mp4、avi、wmv、ts、webm
音频编码格式:(【】左边是视频容器格式,【】右边是音频容器格式,*和^后面再说明)
aac:mp4、flv、avi、mov、wmv、3gp、m4v、f4v、ts【】aac、m4a、wma、ac3
mp3:mp4、avi、mov、wmv、f4v、ts【】mp3、wma、ac3
ac-3:mp4、avi*、mov、wmv、m4v、ts【】ac3、m4a、wma
flac:mp4*、avi*、wmv、ts【】flac、m4a、wma、ac3^
vorbis:mp4、avi*、mov、wmv、ts、webm【】ogg、wma、ac3^
opus:mp4*、ts、webm【】ogg、ac3^
libx264编码器,编码比较慢,清晰度高,处理后的文件比较小-preset 编码速度
默认值: medium
当编码器指定为libx264时可以指定该参数, 编码速度越慢,清晰度越高,处理后的文件大小相同
可选值: ultrafast、superfast、veryfast、
from ffmpy3 import
FFmpeg
ff =
FFmpeg
(inputs={r'C:\Users\ht-desktop-001\Desktop\1.
mp4
': None},
outputs={r'C:\Users\ht-desktop-001\Desktop\1.avi': Non
AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。在这个结构体中,除了一些回调函数接口之外,有一个变量const char *name,该变量存储了协议的名称。下列代码显示了获取元数据并存入meta字符串变量的过程,注意每一条key和value之间有一个"\t:",value之后有一个"\r\n"注意,这个结构体并不在
FFMPEG
提供的头文件中,而是在
FFMPEG
的源代码中。URLContext:每种协议,有一个协议操作对象和一个关联的协议对象。
Mpeg
4解码流程
Mpeg
4文件(包括avi视频文件以及mp3音频文件)解码过程由如下3个函数实现.•
MPEG
4_initial() : 解码初始化。包括打开文件,设置有关硬件参数(如codec,Dma等),解码参数初始化(如帧数统计,波特率设置,解码
目前又开始测
MPEG
1和
MPEG
2的解码,在准备编码好的测试序列过程中,需要通过编码器来进行原始视频序列的编码操作,以生成我们需要的测试数据。由于IPP example提供的Encoder不支持
MPEG
1,经过查询,决定
MPEG
1的编码使用
FFMPEG
。FFMEPG是个啥子东西呢,这里简单说一下:
FFmpeg
是用于录制、转换和流化音频和...
MPEG
4是网络视频图像压缩标准,它包含的标准从ISO-IEC-14496-1 到 ISO-IEC-14496-10
2.
MPEG
4中规定了两种视频压缩方法,一种在ISO-IEC-14496-2里面描述,一种在ISO-IEC-14496-10里面描述。其中ISO-IEC-14496-10的算法就是我们熟知的H.264
3. 在这两种压缩算法中,H.264的性能更好一些
视频编码新标准H.264
windows系统 64位
下载链接:https://github.com/BtbN/
FFmpeg
-Bu
#
ffmpeg
-codecs
built with gcc 4.9.2 (Debian 4.9.2-10+deb8u2)
configuration: --enable-libx265 --enable-libx264 --enable-gpl
libavutil 57
http://www.roarsoft.net/a/Media/Codec/201009/10193.html
#include #include #include #include #include #include #include main(int argc,char **argv) { const char *input_file_name="/root/movi
Ffmpeg
是一款功能强大的视频处理工具,那么
转码
肯定不是问题的,因为项目的需求,对
转码
进行了研究。刚开始首先去看了
ffmpeg
源代码中的一个例子transcode.c,但是发现该例子更应该称之为remux的一个例子,并没有具体的涉及到
转码
。所以转而去
ffmpeg
工具中寻求帮助了。
ffmpeg
转码
流程:
1、运用海康的视频,其视频
格式
为
MPEG
-PS
格式
,导致谷歌浏览器无法直接播放,不支持该
格式
;
2、视频
格式
应该是
MPEG
-PS
格式
,但是后缀却是
mp4
,其实是一个非法的
MP4
;
处理方法:
1、运用
ffmpeg
进行转换(该转换不
转码
,直接复制流),转换的命令:
ffmpeg
-i demo.
mp4
-c copy -an demp_enc.
mp4
2、速度很快,使用-an参数屏蔽掉音频流,将封装
格式
转为
mp4
。
前置工作:
1、安装
ffmpeg
2、将
ffmpeg
配置到环境变量,
1、视频编码
ffmpeg
-s 352*288 -pix_fmt yuv420p -i bus_cif.yuv -vcodec
mpeg
4 bus_cif.avi//avi
ffmpeg
-s 352*288 -pix_fmt yuv420p -i bus_cif.yuv -vcodec
mpeg
2video bus_cif.VOB//dvd
ffmpeg
-s 352*288 -pix_