2010年11月17日星期三

Linux系统下视频转换:Mencoder和Ffmpeg

◆Linux下的视频转换:mencoder

制作适合在智能手机和PDA上观看的mpeg4视频。

Linux上有一个很强大的视频音频转换软件,就是Mplayer自带的mencoder (MPlayer's Movie Encoder)。mencoder就象是一台全手动的照相机,可调整的选项非常多,不过这儿只是把最常见的情况说一下。



转换avi文件,并把字幕内嵌到视频中。首先假设一下下列的条件:

文件名:video.avi

字幕文件名:video.srt

目标文件:new.avi

目标文件格式:mpeg4

目标文件视频码率:200

目标文件音频码率:64

目标文件分辨率: 320:240

制作内嵌字幕所需的字体:simsun.ttf

(上面各项都可以根据实际情况进行调整)

转换命令如下:

mencoder-oac mp3lame -lameopts vbr=3:br=64 -ovc lavc -lavcoptsvcodec=mpeg4:mbd=1:vbitrate=200 -sub video.srt -o new.avi -fontsimsun.ttf video.avi -subcp cp936 -subfont-text-scale 4 -vfscale=320:240

各选项的含义:

-oac 编码文件的音频部分。这儿是用lame将音频encode成mp3,即mp3lame。其他可用的选项可以调用mencoder的man page查看。

-lameopts 顾名思义,即lame选项,这儿只需定义一下码率就可以了。

vbr 设定音频码率的方法,格式为vbr=<0-4>

0 cbr average bitrate

1 mt

2 rh constant bitrate Also forces CBR mode encoding on subsequent ABR presets modes.

3 abr

4 mtrh

在这儿用的是3,abr。

br 就是设定我们所需要的码率值,格式为br=<0-1024>,只能在vbr为0和3的情况下才能使用该选项。

-ovc 编码文件的视频部分。主要有以下几个选项

-ovc copy

不进行编码,只是复制视频流

-ovc divx4

编码成DivX4/DivX5

-ovc raw

编码成任意不压缩的格式(用‘-vf format’设定具体的格式)

-ovc lavc

使用libavcodec进行编码

-lavcopts 就是libavcodec的选项。

vcodec=使用指定的视频编码,下面列一下几个主要的值

h264

H.264

h263

H.263

h263p

H.263+

mpeg4

MPEG-4 (DivX 4/5)

msmpeg4

DivX 3

msmpeg4v2

MS MPEG4v2

wmv1

Windows Media Video, version 1 (又称 WMV7)

wmv2

Windows Media Video, version 2 (又称 WMV8)

rv10

旧的RealVideo格式

mpeg1video

MPEG-1 video

mpeg2video

MPEG-2 video

mbd 决定视频宏块的算法,这儿只需要mbd=1即可。其余的可以查看man page。

vbitrate 设定视频的码率(默认为800)。

-sub 设定字幕文件

-o 目标视频文件

-font 制作内嵌字幕所需字体的路径

-subcp 字幕的编码,简体中文就是cp936

-subfont-text-scale 字幕字体的大小

-vf scale 视频的分辨率

如果不需要将字幕内嵌入视频文件,只需要去掉-sub、-font、-subcp、-subfont-text-scale这几个选项。将rmvb转换成mpeg4也是如此。

◆Linux下的视频转换:ffmpeg


格式:ffmpeg [[输入文件选项]- i 输入文件名] {[输入文件选项] 输出文件名}

主要选项:

-L 显示ffmpeg的版权说明

-h 显示帮助

-version 显示版本

-formats 显示支持的文件格式,编码和协议

-f 格式名 强制使用格式

-img 文件格式名 强制使用片格式

-i 文件名 待转换文件名字

-y 覆盖同名输出文件

-t 时间 设置影片时间长度

-fs 最大尺寸 设置文件的最大尺寸

-ss 时间点 设置开始转换的时间点

-title 文字 设置标题

-author 文字 设置作者

-copyright 文字 设置版权声明

-comment 文字 设置备注

视频选项:

-b 比特率 设置文件比特率 (单位是kbit/s)

-r 速度 桢速度 (Hz value)

-s 大小 设置大小,宽乘高

-newvideo 在现在的视频流后面加入信的视频流

Audio options:

-aframes 数字 设置转换多少桢(frame)的音频

-ab bitrate 设置音乐的比特率(单位:kbit/s)

-aq 质量 这只音频质量 (指定编码)

-ar 采样率 设置音频采样率 (单位:Hz)

-ac 声道数字 设置声道数

-an 取消音频

-acodec 编码 强制音频 编码 ('copy' to copy stream)

-vol volume 改变音量 (256为普通)

-newaudio 追加音乐

没有评论:

发表评论