====== Mobilemate 高级用法 ====== 除了 [[common|Mobilemate 普通用法]],使用它的通用配置文件 "tce/conf/common.conf" 可更灵活的控制转换。 并且,因为 Mobilemate 是基于它的转换配置文件工作,所以你可以使用[[desk#text_editor|文本编辑器]]而不需要[[video_configure|视频转换配置]]创建你自己的配置文件。例如,你可以基于默认配置文件 "tce/conf/v2vdefault.conf" 创建你的配置文件用于视频转换,基于 "tce/conf/x2adefault.conf" 的用于音频转换。 因为用于转换视频的配置文件 "v2vdefault.conf" 包括了 "x2adefault.conf" 的选项,所以下面我们只解释文件 "v2vdefault.conf"。 ===== 解释 "common.conf" ===== 文件 "common.conf" 是用于所有转换的全局转换选项设置。位于目录 "tce(TinyCore 扩展目录)/conf" 里。下面是默认的整个 "common.conf" 文件。 PATH="/opt/mobilemate/bin:/opt/custom/bin:$PATH" TRIVAL="NO" DEBUG="NO" CONVOKFLAG="CONVOK" DECODED_BY="LIBAV" GUICONFIRM="NO" MAXHISTORY="3" WORKDIR="/opt/mobilemate" TASKBASE="${WORKDIR}/task" TASKBAKBASE="${WORKDIR}/task.bak" TASKBACKUP="NO" TMPBASE="/tmp/mobilemate" TMPCONFBASE="${TMPBASE}/conf" THREADS="-1" STARTTIME="0" ENDTIME="0" MPEGTS_MENCODER_OFPS="12.5,25" DEFAULT_SOURCE_PAR="1" COMPARE_DAR_CONSTANT="100" X264PRESET="medium" X264PROFILE="baseline" XVIDFOURCC="DX50" LIBAVSEEK="FAST" ASYNC="1" LOGBASE="${WORKDIR}/log" V2VOPTIONSLISTFILE="${WORKDIR}/conf/v2voptions.list" X2AOPTIONSLISTFILE="${WORKDIR}/conf/x2aoptions.list" V2VRULESLISTFILE="${WORKDIR}/conf/v2vrules.list" X2ARULESLISTFILE="${WORKDIR}/conf/x2arules.list" 下面解释所有的选项: PATH="/opt/mobilemate/bin:/opt/custom/bin:$PATH" 为 Mobilemate 设置可执行文件的 PATH 环境变量。 TRIVAL="NO" 设置转换时 "Mencoder" 或者 "Libav" 是否在终端上显示输出。无论选项如何输出不会写入到日志文件里。 有效选项是: "NO", "YES"。 默认选项是 "NO"。 DEBUG="NO" 设置是否在终端上显示调试信息和把调试信息输出到日志文件中。 有效选项是: "NO", "YES"。 默认选项是 "NO"。 CONVOKFLAG="CONVOK" 文件转换成功标志常量字符串。不要改动。 DECODED_BY="LIBAV" 设置使用哪个解码工具。 有效选项是: "LIBAV", "MENCODER"。 Mobilemate 可以使用二者之一进行解码,默认是 FFmpeg(libav), 可选替换是 Mencoder。如果你发现默认的 "LIBAV" 不能解码你的来源文件(至今我还没有碰到这种情况),试试 "MENCODER"。但是,当你同时转换多个文件时可能比默认选项使用更多的转换时间。 guiconfirm="NO" 设置是否确认每一个配置或转换步骤。 有效选项是: "NO", "YES"。 默认选项是 "NO"。当你把它变成 "YES",当你配置或转换时你需要确认每个步骤。 MAXHISTORY="3" 设置保留多少个历史配置文件。 有效选项是: "1", "2", "3", ..., 等于或大于1的无符号整数。 Moblemate 会保留你的历史转换配置文件,位于文件夹 "tce/conf" 里面,针对视频转换的名称形如 "v2vhistoryX.conf",针对音频转换的形如 "x2ahistoryX.conf","X" 是等于或大于0的无符号整数。 WORKDIR="/opt/mobilemate" Mobilemate 工具根目录。不要改变。 TASKBASE="${WORKDIR}/task" Mobilemate 任务目录。不要改变。 TASKBAKBASE="${WORKDIR}/task.bak" Mobilemate 任务备份目录。 TASKBACKUP="NO" 设置是否备份任务文件。 有效选项是: "NO", "YES"。 默认选项是 "NO"。 TMPBASE="/tmp/mobilemate" Mobilemate 临时目录。不要改变。 TMPCONFBASE="${TMPBASE}/conf" Mobilemate 临时配置目录。不要改变。 threads="-1" 设置同时进行多少个转换进程。 有效选项是: "-1" 和 "1", "2", "3", ..., 无符号整数。 默认的 "-1" 表示进程数等于 CPU 核心数。 STARTTIME="0" 设置以秒数计算的文件转换起始点,或者以 "HH:MM:SS"(小时数:分钟数:秒数) 或 "MM:SS" 或 "-HH:MM:SS"(-小时数:分钟数:秒数) 或 "-分钟数:秒数"的形式。 有效选项是: 负整数, ..., "-3", "-2", "-1", "0", "1", "2", "3", 无符号整数。或者, "-01:01:21", "01:01:21", 等等。或者, "-11:21", "11:21", 等等。 负值表示从指定时间点到文件末尾的时间间隔。无符号值表示开始转换的时间点。默认的 "0" 表示原始文件的开始。 ENDTIME="0" 设置以秒数计算的文件转换结束点,或者以 "HH:MM:SS"(小时数:分钟数:秒数) 或者 "MM:SS" 或者 "-HH:MM:SS"(-小时数:分钟数:秒数) 或 "-MM:SS" 或 "+HH:MM:SS" 或 "+MM:SS" 的形式。 有效选项是: 负整数, ..., "-3", "-2", "-1", "0", "1", "2", "3", 无符号整数, 和 "+1", "+2", "+3", 正整数。或, "-01:01:21", "01:01:21", 等等。或, "-11:21", "11:21", 等等。或, "+11:21", 等等。 负值表示从指定时间点到文件末尾的时间间隔。无符号整数表示文件转换结束时间点。正值表示从指定时间点到开始时间的时间间隔。默认的 "0" 表示原始文件结束的位置。 MPEGTS_MENCODER_OFPS="12.5,25" 针对转换 mpegts 文件设置有效的 Mencoder 输出帧率值。 有效选项是以逗号分隔的无符号数。 有时(或者任何时候,无深度测试),当转换 mpegts 视频文件时,mencoder 因为它的缺陷需要特定的输出帧率值。 DEFAULT_SOURCE_PAR="1" 设置源视频的默认 [[http://en.wikipedia.org/wiki/Pixel_aspect_ratio|PAR(Pixel Aspect Ratio)]] 值。 有效选项是无符号非零数。 有时,Mobilemate 不能正确的检测源视频的 PAR 值(即像素外观比值,译注)。所以使用这个默认值。默认的 "1" 表示正方形像素。 COMPARE_DAR_CONSTANT="100" 设置比较转换中间临时 pipe 视频文件和目的视频的 [[http://en.wikipedia.org/wiki/Display_aspect_ratio|DAR(Display Aspect Ratio)]] (显示外观比,译者注)值常数。仅用于当使用 Mencoder 作为解码工具时。 有效选项是无符号非零整数。 默认的 "100" 表示临时 pipe 视频 DAR 乘以 10000 与目的视频 DAR 乘以 10000 的差值如果小于 "100",我们把这两个文件的 DAR 视为相同。 X264PRESET="medium" 设置当使用 libx264 编码器时选择编码设置的 preset(预设置,译者注)。 有效选项是: "ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo"。 基本上,越慢得到越好的质量和越小的文件尺寸,但是需要越长的转换时间。默认是 "medium"。 下面是从 "mplayer_1.0~rc4.dfsg1+svn33713" 的 man 页复制的选项解释。 Use a preset to select encoding settings. ultrafast no8x8dct aq_mode=0 b_adapt=0 bframes=0 nodeblock nomb‐ tree me=dia nomixed_refs partitions=none ref=1 scene‐ cut=0 subq=0 trellis=0 noweight_b weightp=0 superfast nombtree me=dia nomixed_refs partitions=i8x8,i4x4 ref=1 subq=1 trellis=0 weightp=0 veryfast nombtree nomixed_refs ref=1 subq=2 trellis=0 weightp=0 faster nomixed_refs rc_lookahead=20 ref=5 subq=4 weightp=1 fast rc_lookahead=30 ref=2 subq=6 medium Default settings apply. slow b_adapt=2 direct=auto me=umh rc_lookahead=50 ref=5 subq=8 slower b_adapt=2 direct=auto me=umh partitions=all rc_looka‐ head=60 ref=8 subq=9 trellis=2 veryslow b_adapt=2 b_frames=8 direct=auto me=umh me_range=24 par‐ titions=all ref=16 subq=10 trellis=2 rc_lookahead=60 placebo bframes=16 b_adapt=2 direct=auto nofast_pskip me=tesa me_range=24 partitions=all rc_lookahead=60 ref=16 subq=10 trellis=2 X264PROFILE="baseline" 设置当使用 libx264 编码器的 H.264 profile(配置文件,译者注)。 有效选项是: "baseline", "main", "high"。 基本上,"baseline" 有最好的硬件兼容性,"high" 的硬件兼容性最小,但是 "high" 有更多的高级特性,例如,在小些文件尺寸的情况下可以获得同样的质量。默认值是 "baseline"。参见: [[http://superuser.com/questions/489087/what-are-the-differences-between-h-264-profiles|What are the differences between H.264 Profiles?]]。 下面是从 "mplayer_1.0~rc4.dfsg1+svn33713" 的 man 页复制的选项解释。 Constrain options to be compatible with an H.264 profile. baseline no8x8dct bframes=0 nocabac cqm=flat weightp=0 nointer‐ laced qp>0 main no8x8dct cqm=flat qp>0 high qp>0 (default) XVIDFOURCC="DX50" 当 ffmpeg(libav) 使用 libxvid 编码器时用 -vtag 选项设置 FOURCC 标志。 有效选项是: "XVID", "DIVX", "DX50"。(todo: 可能不太精确?) 默认选项是 "DX50"。 LIBAVSEEK="FAST" 设置 FFmpeg(Libav) 定位方法。 有效选项是: "FAST", "SLOW"。 当使用默认选项 "FAST" 时,"-ss" 用作输入选项 (在 -i 之前),定位这个输入文件的指定位置。注意,在大多数格式里是不可能精确定位的,所以将定位到指定位置前最接近的定位点。当使用 "SLOW" 选项,"-ss" 用作一个输出选项(在输出文件名前面),在时间戳到达指定位置前解码但是丢弃输入。"SLOW" 选项可以产生更精确的定位,但它要解码定位点前面的部分,将花更多的时间用于定位。 ASYNC="1" 设置 FFmpeg(Libav) 的音频同步方法。 有效的选项是 ""(空) 和任何非零无符号整数。 这个选项主要用于解决一些音视频不同步的问题。非零无符号整数将传递给 FFmpeg(Libav) "-async" 选项。这将 "拉伸/压缩" 音频流以匹配时间戳。参数是音频改变时每秒最大的采样(the parameter is the maximum samples per second by which the audio is changed)。默认值 "1" 是一个特例,只校正音频流的开始而不作后面的校正。 ASYNC="" 表示不使用 "-async" 选项。 LOGBASE="${WORKDIR}/log" 设置日志文件目录。 v2voptionslistfile="${WORKDIR}/conf/v2voptions.list" 转换到视频的选项列表文件。不要改变。 x2aoptionslistfile="${WORKDIR}/conf/x2aoptions.list" 转换到音频的选项列表文件。不要改变。 v2vruleslistfile="${WORKDIR}/conf/v2vrules.list" 转换到视频的规则列表文件。不要改变。 x2aruleslistfile="${WORKDIR}/conf/x2arules.list" 转换到音频的规则列表文件。不要改变。 ===== 解释 "v2vdefault.conf" ===== "v2vdefault.conf" 是用于转换视频到视频的默认配置文件。默认整个 "v2vdefault.conf" 如下。 format="mp4" vcodec="mpeg4" vbitrate="256" ofps="10" vfscale="176:144" vdar="SAR" vfcroptype="FULL_HEIGHT" acodec="aac" audiochannels="2" samplerate="44100" abitrate="128" audiolevel="ORIGINAL" splittime="-1" 下列选项解释。 format="mp4" 设置视频容器格式。 有效选项: 见命令行 "/opt/custom/bin/ffmpeg -formats" 输出结果。 vcodec="mpeg4" 设置视频编码器。 有效选项: 见命令行 "/opt/custom/bin/ffmpeg -codecs" 输出结果。 vbitrate="256" 设置以 kb/s 为单位的视频码率。 有效选项是任何非零无符号整数。 ofps="10" 设置转换输出视频帧率。 有效选项是任何非零无符号数。例如:"10" 和 "29.97" 是有效的。但是 "30000/1001" 不能用在这里。 vfscale="176:144" 设置输出视频分辨率。 有效选项是形如 "X:Y","X" 和 "Y" 是非零无符号整数。 vdar="SAR" 设置视频 [[http://en.wikipedia.org/wiki/Display_aspect_ratio|Display Aspect Ratio(DAR)]]. 有效选项是: "SAR" 和 "X:Y"("X" 和 "Y" 非零无符号整数)。 默认 "SAR" 表示使用与上面 "vfscale" 相同的值。 vfcroptype="FULL_HEIGHT" 设置怎样裁剪视频图像,主要针对宽屏幕源视频。 有效选项是: "FULL_WIDTH", "HALF_WIDTH" 和 "FULL_HEIGHT"。 “FULL_WIDTH” 保留全部宽度并用黑块填充顶底部。与之相对,默认 “FULL_HEIGHT" 保留全部高度并裁剪图像的左右部分。“HALF_WIDTH” 前二者的折衷。 acodec="aac" 设置音频编码器。 有效选项: 见命令行 "/opt/custom/bin/ffmpeg -codecs" 输出。 audiochannels="2" 设置音频声道数。 有效选项: "1", "2"。 默认 "2" 表示 "立体声","1" 是 "单声道"。 samplerate="44100" 设置音频采样频率。 有效选项是非零整数。 abitrate="128" 设置以 kb/s 为单位的音频码率。 有效选项是任意非零无符号整数。 audiolevel="ORIGINAL" 设置音量等级。 有效选项: "ORIGINAL", "VOL2", "VOL5", "VOL10", "VOL20" 和 "VOLNORM"。 默认 "ORIGINAL" 表示保持音量不变。"VOLx"(x 是 2, 5, 等等) 表示增加 x分贝。"VOLNORM" 只是当使用 Mencoder 作为解码工具时有效,在上面的 common.conf: DECODED_BY="MENCODER" 里设置,表示 "在声音不失真的情况下最大化音量。“(来自 "man mencoder")。 splittime="-1" 设置以秒为单位分割片断的时长。 有效选项是: "-1" 和非零无符号整数。 默认 "-1" 表示不分割视频。 ===== 重置配置目录 ===== 有些时候,如果你想重置配置目录,可以使用下列两种方法。 1、可以删除位于 "tce(TinyCore 扩展)" 目录里的整个 "conf" 目录。然后重启 MobileMate,初始配置目录会出现。 2、初始配置目录已经压缩进 "/opt/mobilemate/conf.tar.gz",你可以删除 "conf" 目录并解压 "conf.tar.gz" 到 "tce" 目录来重置配置目录。 如果你只需要重置默认视频配置文件 "v2vdefault.conf" 或者音频配置文件 "x2adefault.conf",你可以把 "v2vdefault.conf.orig" 复制为 "v2vdefault.conf" 或者复制 "x2adefault.conf.orig" 为 "x2adefault.conf"。