2007-11
04

用过之后第一感觉:太强大了,让那些商业的共享的软件都去死吧!

AviSynth,可以进行视频合成、编辑、添加字幕,支持所有格式(只要能播放出来), 甚至可以将图片转换为视频。

AviSynth的原理是通过一个脚本,将视频流、音频流处理之后再以流的方式输出。 输出流可以通过播放器直接播放,也可以利用ffmpeg、 VirtualDub等软件将流保存为各种视频格式。 而正是强大的脚本使它具有了强大了视频处理能力。

阅读全文 »

2007-09
16

昨天因为要将相机拍摄的视频刻录成VCD,于是上网找了好多MPEG的相关工具, 如切割、合并、格式转换等,大部分都是共享软件并且还有功能限制。 后来实在没办法了,想到了ffmpeg这个工具,抱着试试看的心情看了看帮助, 才发现原来真正的工具在这里!支持绝大多数常见的视频音频格式, 可以在各种格式之间随意转换,支持视频切割。所以说,真正好用的东西其实都是免费的。

ffmpeg的命令行格式如下:

ffmpeg [输入参数] -i 输入文件 [输出参数] 输出文件

这里仅举几个我用到的例子。

截取1分30秒到1分50秒的视频,格式不变。-ss指定起始时间,-t指定截取长度,-vcodec 和-acodec指定为copy表明不对源视频音频流做任何处理直接复制。

ffmpeg -ss 0:1:30 -t 0:0:20 -i input.mpg -vcodec copy -acodec copy output.mpg

mpg转换成vcd所用的视频格式。-ac 2表示将单声道音频转换成立体声。

ffmpeg -i input.mpg -target pal-vcd -ac 2 output.mpg

VCD要求视频大小为 352x240,而我们的视频大小为320x240,需要在两边加上黑边凑足352像素:

ffmpeg -i input.mpg -padleft 16 -padright 16 -padcolor 000000 -target pal-vcd -ac 2 output.mpg

将字幕合并到视频中,可以利用AviSynth,首先制作好srt格式字幕, 然后利用DIO's RelProducer GUI加载视频和字幕生成avs文件,再利用ffmpeg转换此avs文件:

ffmpeg -i input.avs output.mpg

合并视频流和音频流,可以先利用ffmpeg将mp3转换成wav:

ffmpeg -i input.mp3 output.wav

然后再利用VirtualDub合并之。