ffmpeg将DVD视频合并转换为mp4格式

日期:2017年08月28日 作者: 分类:运维 浏览:8678

以前有保存一个演唱会的DVD原盘文件,格式为.ISO格式,如今DVD已经完全淘汰,画质体积也完全跟不上现在的视频,现在准备将其转制为mp4格式,方便播放。

一、挂载光盘文件

我的两张光盘文件存放在/var/storage/Music/chou下面,文件名为001.ISO002.ISO,此处只写出001.ISO的操作步骤。

首先创建/mnt/cd1目录,然后用如下命令挂载光盘:

# 以只读模式挂载
sudo mount -o ro /mnt/cd1 /var/storage/Music/chou/001.ISO

查看/mnt/cd1/VIDEO_TS下视频文件:

通过文件大小可以看出,真正的视频文件为VTS_02_*.VOB这些文件。

二、合并文件

操作命令如下:

# 进入视频所在目录
cd /mnt/cd1/VIDEO_TS

# 合并视频文件
cat VTS_02_1.VOB VTS_02_2.VOB VTS_02_3.VOB VTS_02_4.VOB VTS_02_5.VOB > /var/storage/Music/chou/001.vob

合并后的文件保存在/var/storage/Music/chou目录下。

三、转换文件

先进入到视频保存目录,然后查看文件信息:

可以看出,该文件中,音轨有3条,此处我只提取一条。

命令:

# 提取一条音轨
ffmpeg -i 001.vob -map v:0:1 -vcodec h264 -map a:0:2 -acodec copy -crf 20 -strict experimental 01.mp4

# 提取全部音轨
ffmpeg -i 001.vob -map 0:v -vcodec h264 -map 0:a -acodec copy -crf 23 -strict experimental 001.mp4

-i :输入文件

-map v:0:1 : 视频轨道所在的索引

-vcodec h264:以h264编码转换视频流

-map v:0:2:选取其中一条音轨

-vcodec copy:此处我直接复制音轨不进行转换,如果需要转换可以将copy换为编码器,如 aac

-crf 20:这个参数的取值范围为0~51,其中0为无损模式,数值越大,画质越差,生成的文件却越小。从主观上讲,18~28是一个合理的范围。18被认为是视觉无损的(从技术角度上看当然还是有损的),它的输出视频质量和输入视频相当。

-strict experimental:您还需要指定-strict experimental,否则您可能会得到:“编码器’aac’是实验性的,但实验编解码器未启用,如果要使用它,请添加’-strict -2’。

-ac 2:2声道立体声

-ab 192k:声音转换码率, 码率越高体积越大

其它未设置的参数,会默认和源文件一致

四、转换效果

DVD画质现在来看本来就惨不忍睹,主要是要保留下音质。

 

参考1:《FFMPEG将flv转换为mp4,而不会损失质量》

参考2:《FFmpeg视频转码技巧之-crf参数(H.264篇)》

 

标签:

除非注明,戊辰人博客文章均为原创,转载请以链接形式标明本文地址

本文地址:https://wanglu.info/2017/08/1301.html