ffmpeg学习日记3-视频格式和视频编码的关系

最近开始接触音视频方面,之前一点也没有接触过,现在是一头雾水,需要摸着石头过河。

首先来了解一下平时见到的rmvb,mp4,等等格式,和我最近了解的h264是什么关系?

概念介绍

首先来了解3个基础概念:视频文件格式(简称:文件格式),视频封装格式(简称:视频格式),视频编码方式(简称:视频编码)

一. 视频文件格式(简称:文件格式):我们知道Windows系统中的文件名都有后缀,例如1.doc,2.wps,3.psd等等。Windows设置后缀名的目的是让系统中的应用程序来识别并关联这些文件,让相应的文件由相应的应用程序打开。例如你双击1.doc文件,它会知道让Microsoft Office去打开,而不会用Photoshop去打开这个文件。所以常见的视频文件格式如1.avi,2.mpg这些都叫做视频的文件格式,它由你电脑上安装的视频播放器关联。你可以随意改扩展名,但是真的对视频一点影响都没有,千万不要以为 avi 改成 mp4,视频就变成 mp4 格式了。

二. 视频封装格式(简称:视频格式):AVI,MPEG,VOB是一种视频封装格式,相当于一种储存视频信息的容器。它是由相应的公司开发出来的。我们可以在自己的电脑上看到的1.avi,2.mpg,3.vob这些视频文件格式的后缀名即采用相应的视频封装格式的名称。

三. 视频编码方式(简称:视频编码):所谓视频编码方式就是指能够对数字视频进行压缩或者解压缩(视频解码)的程序或者设备。通常这种压缩属于有损数据压缩。也可以指通过特定的压缩技术,将某个视频格式转换成另一种视频格式。

总之,即使是同一种视频文件格式,如*.MPG。又分为MPEG-1,MPEG-2 ,MPEG-4几种不同的视频封装格式,就算是同一种视频封装格式,如MPEG-4又可以使用多种视频编码方式。视频的编码形式才是一个视频文件的本质所在,不要简单的通过文件格式和封装形式来区分视频。

以上内容来自:

  • 视频格式那么多,MP4/RMVB/MKV/AVI 等,这些视频格式与编码压缩标准 mpeg4,H.264.H.265 等有什么关系?

总结

通过对以上内容的理解,那么当我们想要解码视频的时候,不需要管视频的文件格式,不需要管视频的封装格式,只需要检查视频的编码格式,我们是不是支持,能不能被解码,就可以了。

那么如何查看一个视频文件的是被什么编码生成的,在雷霄骅大神的博客中给除了一种方法,使用MediaInfo工具。
参考:

  • MediaInfo使用简介(新版本支持HEVC)

ffmpeg学习日记3-视频格式和视频编码的关系相关推荐

  1. ffmpeg学习日记604-指令-将视频格式转为H264格式

    ffmpeg学习日记604-指令-将视频格式转为H264格式 在第四篇中,想要解码视频,缺没有弄清楚怎样的一个数据流,现在又明晰了一点,所谓的h264编解码,并不是直接将视频格式,通过h264编解码为 ...

  2. ffmpeg学习日记612-指令-转换视频格式

    ffmpeg学习日记612-指令-转换视频格式 mkv转mp4 ffmpeg -i LostInTranslation.mkv -codec copy LostInTranslation.mp4 Li ...

  3. ffmpeg学习日记603-指令-获取视频分辨率

    ffmpeg学习日记603-指令-获取视频分辨率 ffmpeg:ffprobe获取视频分辨率,视频宽高,时长等元数据信息 ffprobe -select_streams v -show_entries ...

  4. ffmpeg学习日记605-指令-获取视频的总帧数

    ffmpeg学习日记605-指令-获取视频的总帧数 获取视频的总帧数 ffprobe.exe -v error -count_frames -select_streams v:0 -show_entr ...

  5. ffmpeg学习日记602-指令-转换视频的分辨率

    ffmpeg学习日记602-指令-转换视频的分辨率 指令如下 ffmpeg -i video_1920.mp4 -vf scale=640:360 video_640.mp4 -hide_banner

  6. ffmpeg学习日记506-源码-av_image_copy()函数分析及功能

    ffmpeg学习日记506-源码-av_image_copy()函数分析及功能 实现文件 av_image_copy()实现在libavutil/imgutils.c中 函数原型 void av_im ...

  7. ffmpeg学习日记17-获取MP4视频流的帧率

    ffmpeg学习日记17-获取MP4视频流的帧率 参考各位大佬的文章,终于磕磕绊绊的理解,写出了获取MP4视频流的帧率等信息的代码 win10系统下运行 代码如下: getMp4FrameNum.pr ...

  8. ffmpeg学习日记701-报错-co located POCs unavailable

    ffmpeg学习日记701-报错-co located POCs unavailable h264 co located POCs unavailable 出现该报错,是由于直接解析的帧是非关键帧,没 ...

  9. 【Android音视频开发】【001】音视频格式和采集编码流程

    专栏说明 本专栏专门讲解Android音视频方面的基础知识 虽然定位是基础知识,但是范围基本涵盖了数据采集,数据转码,数据播放,推流取流等所有常用知识 如果不是做特别专业的音视频开发,只是实现基本功能 ...

  10. FFmpeg学习4:音频格式转换

    前段时间,在学习试用FFmpeg播放音频的时候总是有杂音,网上的很多教程是基于之前版本的FFmpeg的,而新的FFmepg3中audio增加了平面(planar)格式,而SDL播放音频是不支持平面格式 ...

最新文章

  1. 【c_prime_plus】第十七章笔记
  2. C#在后台运行操作:BackgroundWorker的用法
  3. react 中子组件调用父组件的方法
  4. P4568 [JLOI2011]飞行路线 P2939 [USACO09FEB]改造路Revamping Trails
  5. 9.C++弱引用智能指针weak_ptr的用处
  6. excel查标准正态分布_终于搞清楚正态分布、指数分布到底是个啥了
  7. 设置隐藏文件的显示与隐藏方法
  8. libjpeg: cannot open
  9. ExtJs控件属性配置详细(转)
  10. 《Python入门到精通》运算符
  11. Eclipse怎样连接并打开oracle等数据库?
  12. 大话西游之程序员做项目
  13. Pytorch损失函数BCELoss,BCEWithLogitsLoss
  14. Apache Drill
  15. Java 学习/面试指南
  16. 关于梯度下降法、牛顿法、高斯-牛顿、LM方法的总结
  17. 网络唤醒 php,go实现网络唤醒远程开机(Wake on Lan)
  18. 大数据网站汇总(数据搜集、大数据竞赛、)
  19. [渝粤教育] 无锡商业职业技术学院 商务礼仪 参考 资料
  20. 好课堂Scratch编程09 趣学篇(五)目标!幽灵古堡

热门文章

  1. 大数据 | 抖音,一款神奇的APP
  2. android 图片背景模糊,实现图片模糊(背景虚化),实现图片模糊背景
  3. CC2530天线发射功率与接收灵敏度——玩转ZigBee的高端操作(Zstack框架)
  4. 【英语音节输入软件】模仿汉语拼音
  5. Spring bean的生命周期
  6. mysql中括号_如何快速学习mySQL数据库常规通配符及运算符的用法?
  7. 【每日随笔】2021 年终总结 ( 学习和博客 | 技术学习方向 | 专业学习方向 | 写博客的技巧总结 | 工作成果 | 2022 年展望及职业规划 | 对 CSDN 的建议和期望 )
  8. 向量代数:混合积、双重外积与拉格朗日恒等式
  9. Linux 通信机制 I/O多路复用之select
  10. SAP中销售订单中的条件类型修改控制问题配置分析