音视频编码简介

音视频编码简介

1、用到的工具:

    MPlayer(基于命令行的播放器)

    mencoder(基于命令行的转码器)

    Firefox(图形界面的浏览器)

2、任何影片的播放都分为3个步骤:拆包->解码->渲染 ,分别对应播放器的分离器(demuxer)->解码器(decode)->渲染器

 

    (1)拆包 ,即是播放器调用分离器,将封包中的视频轨道和音频轨道正确的取出来的过程。

      使用mplayer –demuxer help命令可以查看系统支持分离器。

 

     (2)解码 ,当分离器正确的从封包中取出视频轨道和音频轨道以后,播放器识别文件编码格式,然后调用相应的解码器进行解码。

    使用mplayer –vc help命令可以查看系统支持的视频解码器;

    使用mplayer –ac help命令可以查看系统支持的音频解码器。

 

    (3)渲染 ,解码器将音频视频翻译完毕,由渲染器输出的过程。可以理解为画面出来了,显示在屏幕上,声音处理好了,从喇叭出来的过程。

    使用mplayer -vf help命令来查看渲染效果。

 

3、关于MenuCoder

 

    (0)安装相应的解码器:sudo apt-get install ffmpeg libavcodec-extra-52

    (1)安装:sudo apt-get install mencoder

    (2)查看系统支持的音频、视频编码:mencoder -ovc help、mencoder -oac help。

    (3)查看系统支持的封装格式:mencoder -of help

    (4)压缩一段视频:mencoder m001.mpg -o m001.mp4 -oac mp3lame -ovc x264 -of lavf -vf lavcdeint。

    上面命令中的 m001.mpg 和 m001.mp4 分别是输入和输出文件名,-oac 用于指定音频编码器,-ovc 指定视频编码器, -of 指定输出文件封装方式,lavf表示输出文件封装方式由输出文件名决定(即你用m001.mp4就用mp4封装,用m001.avi的话就用avi封 装),最后 -vf lavcdeint 参数用于去除视频中的拉丝条纹(锯齿纹),如果没有的话不要这个参数也可以。

    (5)批量转换脚本:

    #!/bin/bash
    find . -type f /( -name “*.mpg” -o -name “*.mpeg” /)|while read line;do
    echo $line
    mencoder $line -o ${line}.mp4 -oac mp3lame -ovc x264 -of lavf -vf lavcdeint

 

5、ffmpeg也可以实现上述操作。参见链接:http://www.opensoce.com/?p=1018

你可能感兴趣的:(音视频编码简介)