DV摄像机通常使用磁带记录视频,为了观看方便通常会选择导出视频到电脑上经过简单编辑加工制作为DVD加以保存。通常随DV摄像机会提供导出及编辑的软件,但一般只有Windows版。Windows下的“绘声绘影”和Nero Vision也非常好用并且流行。Mac OSX下通常使用苹果出品的HD Edit,可以算是专业级别的了。这里记录Linux下采集、编辑DV视频并且制作DVD保存的方法。
如果使用命令行的方式,可完全参考后面的内容:Linux下的DV磁带视频采集和dvd刻录,其中的说明详细且正确,大体上依赖了dvgrab ffmpeg dvdauthor mkisofs growisofs这几个软件(这几个软件Debian官方都提供了安装包)。
后来发现了更简单的办法——Linux下有图形界面的软件可以完成以上全部过程,那就是kino,Debian官方同样提供了kino这个包。为了使用kino的全部功能,建议同时安装kino包所推荐安装的所有软件包。其中lame和mjpegtools这两个包可能在Debian官方源中没有,但只要在sourceslist文件中根据自己系统的版本选择加入:
deb http://www.debian-multimedia.org stable main
deb http://www.debian-multimedia.org testing main
deb http://www.debian-multimedia.org sid main
deb http://www.debian-multimedia.org experimental main
deb-src http://www.debian-multimedia.org sid main
中的合适内容,就可以通过apt管理工具获取全部kino所依赖的软件包。
接下来,有图形界面程序可以用,程序也提供了简要的使用说明,还是较为方便的。
其实kino和dvgrab是同一个组织出品的,因此我估计kino只是一个图形界面的壳,而实际的处理都是依赖dvgrab以及mjpegtools等等。kino制作DVD默认使用mjpegtools,不知道和ffmpeg这个包有什么区别。
Linux下的DV磁带视频采集和dvd刻录
需要的软件:
dvgrab 抓取dv磁带到原始格式 20G/盘
ffmpeg 视频转换 dv原始格式到dvd-video 或者mpeg4
dvdauthor 将mpeg2转换到DVD目录结构
mkisofs 将DVD目录生成iso
growisofs 将iso写进光驱
在debian下安装:
aptitude install dvgrab ffmpeg dvdauthor mkisofs growisofs
操作步骤:
1.倒带,接上1394接口线
2.执行抓取命令
dvgrab –opendml –size 0 –autosplit –timestamp dv
dv机将自动开始播放,计算机的当前目录会生成一堆的avi文件,按照当时拍摄是时间命名 每张盘大约20G空间
在此过程中,可以随意操作dv,计算机会自动抓取文件.屏幕有信息提示.
ctrl-c终止抓取
3.视频转换
ffmpeg -i dv2007.02.20_20-01-20.avi -aspect 4:3 -target pal-dvd $dv2007.02.20_20-01-20.mpeg2
为了批量处理需要写一个脚本
===================dv2dvd.sh=====
#!/bin/bash
ffmpeg -i $1 -aspect 4:3 -target pal-dvd ${1%\.avi}.mpeg2
==================================
然后在当前目录执行如下命令会自动转换所有的文件
find . -name *.avi -exec dv2dvd.sh {} \;
转换完检查看看文件有没有错误的,如果有错误文件,会造成下面第4步中批处理终止
file *.mpeg2 |more
4.形成DVD目录结构
mkdir dvd
dvdauthor -o dvd/ -t *.mpeg2
dvdauthor -o dvd/ -T
5.生成dvd.iso文件
mkisofs -dvd-video -o dvd.iso dvd
6.刻录dvd.iso到光盘
growisofs -speed=4 -Z /dev/dvdrw=./dvd.iso
一次完成的一个批处理如下:
#!/bin/bash
mkdir dv
cd dv
echo #!/bin/bash >/usr/local/bin/dv2dvd.sh
echo ffmpeg -i \$1 -aspect 4:3 -target pal-dvd \${1%\.avi}.mpeg2 >>/usr/local/bin/dv2dvd.sh
chmod 755 /usr/local/bin/dv2dvd.sh
dvgrab –opendml –size 0 –autosplit –timestamp dv
find . -name *.avi -exec dv2dvd.sh {} \;
mkdir dvd
dvauthor -o dvd/ -t *.mpeg2
dvauthor -o dvd/ -T
rm *.mpeg
mkisofs -dvd-video -o dvd.iso dvd
growisofs -speed=4 -Z /dev/dvdrw=./dvd.iso
rm dvd.iso
—————————————————–
1.如何去掉一个视频片断开头的20秒内容?
答: ffmpeg -ss 20 -i xxx.dv xxx.avi