(1)下载ffmpeg源码包,注意版本不能太高,应该与直接从源中安装的版本大抵相当最好;我刚开始下的版本比较高,编译时提示说有一个编译选项找不到,我到网上也没搜出什么结果,所以只能又降低了版本,最后使用的是ffmpeg-0.4.9-p20050906.tbz!
(2)参考文档 https://wiki.ubuntu.com/ffmpeg 进行编译安装,在编译的时候可能还会有很多错误提示,但多半是由于某些头文件找不到所致,所以直接从源中安装提供这些头文件的包即可(技巧提示,可以在源中直接搜索头文件*.h去掉后缀.h的名称*即可,一般需要安装其对应的*-dev包)!
安装完毕之后就可以进行转码操作了:
(1) 对于普通的avi视频文件,可以直接使用命令:
ffmpeg -y -i "tt.avi" -vcodec xvid -s 400x240 -r 29.97 -b 1500 -acodec aac -ac 2 -ar 48000 -ab 128 -vol 200 -f mp4 "tt.mp4"
参数解释如下:
-y 覆盖输出文件,即如果tt.mp4文件已经存在的话,不经提示就覆盖掉了
-i "tt.avi" 输入文件名,可以自己修改路径和名字
-vcodec xvid 使用XVID编码压缩视频,不能改的
-s 400x240 输出的分辨率,注意片源一定要是16:9的不然会变形
-r 29.97 帧数 (一般用25就可以了)
-b 1500 视频数据流量,用-b xxx表示使用固定码率,数字可更改;还可以用动态码率如:-qscale 4和-qscale 6,4的质量比6高(一般用800就可以了,否则文件会很大)
-acodec aac 音频编码用AAC
-ac 2 声道数1或2
-ar 48000 声音的采样频率
-ab 128 音频数据流量,一般选择32、64、96、128
-vol 200 200%的音量,可更改(如果源文件声音很小,可以提升10到20倍(1000%~2000%),我试过,效果还行!但不能太大,200000%我也试验过,但嘈杂声太大了)
-f mp4 输出mp4格式
"tt.mp4" 输出文件名,也可以修改路径和名称
至于这些参数的值是如何得到的,那就得看你的播放设备(mp4,psp,手机等等)了!刚买播放设备的时候,里面肯定会预置有一些视频文件,通过查看这些预置文件即可得到你的播放设备所支持视频的各项参数!最简单的方法,可以到windows下用暴风影音或KMP播放器打开一个预置视频文件(KMP列出的比暴风影音还要详细),然后通过查看属性就能得到所有你需要的参数了!
(2) 对于wmv9,rm,rmvb等视频格式,ffmpeg还无法解析,但可以通过两次转换达到目的:
先用mencoder将其转换成avi格式:
mencoder tt.rmvb -ovc lavc -oac mp3lame -o tt.avi
然后再利用(1)中的命令对该avi文件进行转换即可!
参数说明:
tt.rmvb 输入文件(可自己修改路径及名称)
-ovc lavc 视频编码格式(mp4视频)
-oac mp3lame 音频编码格式(mp3音频)
-o tt.avi 输出文件(可自己修改路径及名称)
mencoder是与mplayer一起安装的,安装了mplayer,系统肯定就会有mencoder! mencoder与ffmpeg好像都有windows版的!
mencoder的功能也很强大,至于为什么不用mencoder一次性转换到位?这个问题我也还在抽时间研究,因为它的参数使用更加复杂,我现在还没试验成功!
至于其它的视频文件格式,我用的不多,所以也没测试过,不过应该都能利用(1)中的命令进行搞定!
就这样,你喜欢的电影就能与你形影相随了!
补充一点:
我个人比较喜欢单个的视频文件,所以如果一个视频文件被分成了两个,也可以通过mencoder对其进行合并(好像仅支持avi视频格式的合并)!
假如有两个rmvb文件cd1.rmvb和cd2.rmvb,反正也是分别需要转换成avi格式的,那么转换到avi之后,就可以通过命令:
mencoder t1.avi t2.avi -ovc copy -oac copy -o all.avi
对分割的文件进行合并,合并完之后,再将其转换成mp4即可!主要是看个人的爱好了!
参数说明:
t1.avi t2.avi 输入文件(可自己修改路径及名称,还可以更多,空格分开,注意顺序,还有这些输入文件的码流也需要一致)
-ovc copy 表示视频编码格式不变(因为是合并而不是转换,所以没必要变)
-oac copy 表示音频编码格式不变(同上)
-o tt.avi 输出文件(可自己修改路径及名称,按输入文件的顺序进行连接的)
如果想要把youku和tudou上喜欢的视频放在手机上看要怎么办呢?在linux下要下载youku和tudou视频非常简单,只要打开想要下载的youku或tudou的视频所在的那个页面,当看到页面中的播放器的下载进度条满格后,如图
在Terminal中输入:
ls /tmp | grep Flash
我们会看到当前网页中播放的这个视频已经存在/tmp文件夹中了,例如我这里列出的是FlashnY5hnQ,只要复制出来并重命名就可以了,这里假设我们命名为file.flv, 具体操作是在Terminal中输入:
cp /tmp/FlashnY5hnQ file.flv
这样视频就保存在电脑上当前文件来里了,但是我们知道手机上支持的格式是3gp,所以我们还要把flv转换成3gp,用强大的ffmpeg几乎转成什么格式都可以,在Terminal中输入:
ffmpeg -y -i file.flv -s 176×144 -b 200k -vcodec h263 -acodec libopencore_amrnb -ac 1 -ar 8000 -r 25 -ab 12200 outputfile.3gp
转换成功后,把视频(outputfile.3gp)考到手机上就可以在手机上看了:D