ffmpeg 与 mencoder 命令行压片运用备忘
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)
先从Mencoder这个开始,将所有格式转AVI,
RMVB转AVI
mencoder 1.rmvb -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=600 -of avi -o rmvb.avi
MPEG转AVI
mencoder mp4.mpeg -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=600 -of avi -o mp4.avi
MOV转AVI
mencoder qtime.mov -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=600 -of avi -o qtime.avi
WMV转AVI 包括WMV7到WMV9,只实验到WMV9
mencoder m7.wmv -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=600 -of avi -o m7.avi
RV转AVI
mencoder 1.rv -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=600 -of avi -o rv.avi
等等……格式,参数不变,改文件名就好了。
压DVD:
mencoder.exe dvd://1 -dvd-device i:/ -ovc lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vhq:vbitrate=500 -oac mp3lame -lameopts abr:br=128:vol=2 -o "c:1.avi"
mencoder.exe dvd://2 -dvd-device i:/ -slang zh -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=238 -o "d: 2.avi"
mencoder.exe dvd://1 -dvd-device i:/ -slang zh -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=238 -of avi -srate 22050 -o "c: 1.avi"
mencoder.exe dvd://2 -dvd-device i:/ -slang zh -oac copy -ovc xvid -xvidencopts bitrate=238 -o "d: 02.avi"
mencoder.exe dvd://1 -chapter 1-2 -dvd-device i:/ -oac copy -ovc xvid -xvidencopts bitrate=238 -o "d: 01.avi
———————————————————————–
mencoder.exe -oac copy -ovc copy -idx -o "D:movmovimov3 01.avi.avi" "D:movmovimov3 01.avi" "D:movmovimov3 02.avi"
mencoder.exe "E: 802003.mp4" -sws 9 -ss 00:00 -endpos 287 -af volnorm -srate 22050 -vf scale=720:-3,harddup -oac faac -faacopts br=32:mpeg=4:object=2 -ovc xvid -xvidencopts fixed_quant=11:threads=2:max_bframes=0 -o "E: 802003.mp4.avi"
call batch3gp.bat "E: 802003.mp4.avi"
mencoder.exe "E: 802003.mp4" -sws 9 -ss 00:00 -endpos 287 -af volnorm -srate 22050 -vf-add yadif,scale=720:-3,harddup -oac faac -faacopts br=32:mpeg=4:object=2 -ovc xvid -xvidencopts bitrate=1440:threads=2:max_bframes=0 -o "E: 802003.mp4.avi"
call batch3gp.bat "E: 802003.mp4.avi"
divx5:
mencoder.exe -srate 32000 -stereo 0 -oac mp3lame -lameopts mode=2:cbr:br=128:vol=1.1 -ovc lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vbitrate=256 -sws 9 -of avi -vf scale=320:-3 "D:保健功.mp4" -o "D:保健功.mp4.avi"
mencoder.exe -ovc copy -nosound -of rawvideo "D:20101.avi" -o "D:20101.avi.avi"
mencoder.exe -ovc frameno -oac copy -of rawaudio "D:20101.avi" -o "D:20101.avi.mp3"
———————————————————————–
接下来是FFMPEG上场。
ffmpeg.exe -i "c: 03[1].flv" -f mp4 -vcodec mpeg4 -acodec libfaac -ac 2 -ab 64K -ar 48000 -y "c: 03[1].mp4"
AVI转FLV
ffmpeg -i test.avi -ab 56 -ar 22050 -b 500 -r 15 -s 320×240 test.flv
抓图JPG。
ffmpeg -i 2.wmv -y -f image2 -ss 8 -t 0.001 -s 350×240 test.jpg
以上的参数通用,只要在输入的okm9.wmv换成你自己相应的格式就好,裁图方面:
ffmpeg -i ok3gp.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 3gp.jpg
ffmpeg -i okmov.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 mov.jpg
ffmpeg -i okmpeg.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 mpeg.jpg
ffmpeg -i okmp1.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 mp1.jpg
ffmpeg -i okmp2.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 mp2.jpg
ffmpeg -i okrm.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 rm.jpg
ffmpeg -i okrmvb.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 rmvb.jpg
ffmpeg -i okrv.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 rv.jpg
ffmpeg -i okmp4.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 mp4.jpg
ffmpeg -i okavi.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 avi.jpg
ffmpeg -i okm7.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 m7.jpg
ffmpeg -i okm8.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 m8.jpg
ffmpeg -i okm9.flv -y -f image2 -ss 8 -t 0.001 -s 320×240 m9.jpg
========================================================================
ffmpeg&mencoder使用说明 收藏
ffmpeg.exe -i F:闪客之家闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320×240 f:11.flv
ffmpeg -i F: 1.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320×240 f:test.flv
使用-ss参数 作用(time_off set the start time offset),可以从指定时间点开始转换任务。如:
转换文件格式的同时抓缩微图:
ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350×240 'test.jpg'
对已有flv抓图:
ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350×240 'test.jpg'
-ss后跟的时间单位为秒
Ffmpeg转换命令
ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176×144 -acodec aac -ac 2 -ar 22500
-ab 24 -f 3gp test.3gp
或者
ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176×144 -b 128 -r 15 test.3gp
ffmpeg参数设定解说
-bitexact 使用标准比特率
-vcodec xvid 使用xvid压缩
-s 320×240 指定分辨率
-r 29.97 桢速率(可以改,确认非标准桢率会导致音画不同步,所以只能设定为15或者29.97)
画面部分,选其一
-b <比特率> 指定压缩比特率,似乎ffmpeg是自动VBR的,指定了就大概是平均比特率,比如768,1500这样的
就是原来默认项目中有的
-qscale <数值> 以<数值>质量为基础的VBR,取值0.01-255,约小质量越好
-qmin <数值> 设定最小质量,与-qmax(设定最大质量)共用,比如-qmin 10 -qmax 31
-sameq 使用和源同样的质量
声音部分
-acodec aac 设定声音编码
-ac <数值> 设定声道数,1就是单声道,2就是立体声,转换单声道的TVrip可以用1(节省一半容量),高品质
的DVDrip就可以用2
-ar <采样率> 设定声音采样率,PSP只认24000
-ab <比特率> 设定声音比特率,前面-ac设为立体声时要以一半比特率来设置,比如192kbps的就设成96,转换
君默认比特率都较小,要听到较高品质声音的话建议设到160kbps(80)以上
-vol <百分比> 设定音量,某些DVDrip的AC3轨音量极小,转换时可以用这个提高音量,比如200就是原来的2倍
这样,要得到一个高画质音质低容量的MP4的话,首先画面最好不要用固定比特率,而用VBR参数让程序自己去
判断,而音质参数可以在原来的基础上提升一点,听起来要舒服很多,也不会太大(看情况调整
例子:ffmpeg -y -i "1.avi" -title "Test" -vcodec xvid -s 368×208 -r 29.97 – b 1500 -acodec aac -ac 2 -ar 24000 -ab 128 -vol 200 -f psp -muxvb 768 "1.***"
解释:以上命令可以在Dos命令行中输入,也可以创建到批处理文件中运行。不过,前提是:要在ffmpeg所在的目录中执行(转换君所在目录下面的cores子目录)。
参数:
-y(覆盖输出文件,即如果1.***文件已经存在的话,不经提示就覆盖掉了)
-i "1.avi"(输入文件是和ffmpeg在同一目录下的1.avi文件,可以自己加路径,改名字)
-title "Test"(在PSP中显示的影片的标题)
-vcodec xvid(使用XVID编码压缩视频,不能改的)
-s 368×208(输出的分辨率为368×208,注意片源一定要是16:9的不然会变形)
-r 29.97(帧数,一般就用这个吧)
-b 1500(视频数据流量,用-b xxxx的指令则使用固定码率,数字随便改,1500以上没效果;还可以用动态码率如:-qscale 4和-qscale 6,4的质量比6高)
-acodec aac(音频编码用AAC)
-ac 2(声道数1或2)
-ar 24000(声音的采样频率,好像PSP只能支持24000Hz)
-ab 128(音频数据流量,一般选择32、64、96、128)
-vol 200(200%的音量,自己改)
-f psp(输出psp专用格式)
-muxvb 768(好像是给PSP机器识别的码率,一般选择384、512和768,我改成1500,PSP就说文件损坏了)
"1.***"(输出文件名,也可以加路径改文件名)
P.S. 版主机器强劲的话,可以多开几个批处理文件,让它们并行处理。
E:ffmpeg.exe -i I:1.wmv -b 360 -r 25 -s 320×240 -hq -deinterlace -ab 56 -ar 22050 -ac 1 D:2.flv
flvmdigui.exe 要有用户界面的,手动修复的,用这个
flvmdi.exe 使用方法:
命令提示符下输入>flvmdi inputFile [outputFile][/s] [/x] [/e] [/k]
给个例子,后面的参数不加也可以修复,比如。
flvmdi m7.flv
这样就行了。
———
1. encode yuv file
ffmpeg -s cif -vcodec mpeg4 -i paris.yuv paris.avi
-s 指定帧大小 cif 为 352×288,qcif 为 176×144,4cif 为 704×576
-vcodec 指定采用的编码器
-i 指定输入文件
2. output raw YUV420P file
ffmpeg -i paris.avi paris0.yuv
3. 将一段视频输出为图片序列
ffmpeg -i 1.avi cat%d.png -vcode png
-vcodec mjpeg
-vcodec ppm
ffmpeg -i 1.avi cat%04d.jpg -vcodec mjpeg -ss 0:1:2 -t 0:0:1
将1.avi视频 1分02秒 处开始,持续1秒长的视频输出为jpg的序列
ffmpeg -vcodec mjpeg -i 1.flv test%02d.jpg -ss 0:0:2 -t 0.001
-t 表示持续时间为0.001秒,这个命令相当于截取开始2秒处的一幅jpeg的图片
4. 多输入单输出
ffmpeg -i /tmp/a.wav -s 640×480 -i /tmp/a.yuv /tmp/a.mpg
5. 单输入多输出
ffmpeg -i /tmp/a.wav -ab 64 /tmp/a.mp2 -ab 128 /tmp/b.mp2 -map 0:0 -map 0:0
-map file:stream_index 指定哪一个输入流用于输出流,顺序对应
6. DVD to mpeg4
ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800 -g 300 -bf 2 -acodec mp2 -ab 128 snatch.avi
压制高品质mp4的参考参数:
'-mbd rd -flags +4mv+trell+aic -cmp 2 -subcmp 2 -g 300 -pass 1/2'
可以试试: '-bf 2', '-flags qprd', '-flags mv0', '-flags skiprd'
7. encode mpeg1/mpeg2
ffmpeg -i 1.avi -vcodec mpeg2video 2.mpg
注意mpeg2的codec为 mpeg2video
其他codec可以使用 ffmpeg -formats 查看
压制高品质mp1/mp2的参考参数:
'-mbd rd -flags +trell -cmp 2 -subcmp 2 -g 100 -pass 1/2'
注意,加 '-g 100' 可能会使某些解码器没法解码
可以试试: '-bf 2', '-flags qprd', '-flags mv0', '-flags skiprd'
8. encode flv
ffmpeg -i 1.avi -ab 56 -ar 22050 -b 500 -r 15 1.flv
9. X 屏幕录像
FFmpeg can grab the X11 display.
ffmpeg -f x11grab -i :0.0 /tmp/out.mpg
0.0 is display.screen number of your X11 server, same as the DISPLAY environment variable.
ffmpeg -f x11grab -i :0.0+10,20 /tmp/out.mpg
0.0 is display.screen number of your X11 server, same as the DISPLAY environment variable.
10 is the x-offset and 20 the y-offset for the grabbing.
10. 音视频采集
ffmpeg -f audio_device -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg
Note that you must activate the right video source and channel before launching FFmpeg with
any TV viewer such as xawtv (http://bytesex.org/xawtv/) by Gerd Knorr. You also have to set
the audio recording levels correctly with a standard mixer.
11. 常用选项
-i filename 输入文件
-f fmt 强迫采用格式fmt
-y 覆盖输出文件
-ss position 搜索到指定的时间处开始 [-]hh:mm:ss[.xxx]的格式也支持
-b bitrate 设置比特率,缺省200kb/s
-r fps 设置帧频 缺省25
-s size 设置帧大小 格式为WXH 缺省160X128.下面的简写也可以直接使用:
sqcif 128X96 qcif 176X144 cif 352X288 4cif 704X576
-vcodec codec 强制使用codec编解码方式。 如果用copy表示原始编解码数据必须被拷贝。
-sameq 使用同样视频质量作为源(VBR)
-g gop_size 设置图像组大小
-intra 仅适用帧内编码
-bf frames 使用frames B 帧,支持mpeg1,mpeg2,mpeg4
-ab bitrate 设置音频码率
-ar freq 设置音频采样率
-ac channels 设置通道 缺省为1
-an 不使能音频纪录
-acodec codec 使用codec编解码
-benchmark 为基准测试加入时间
-hex 倾倒每一个输入包
12. mpayer 截图:
mplayer -ss START_TIME -noframedrop -nosound -vo jpeg -frames N NAME_OF_VIDEO_FILE
获取视频时长(seconds):
mplayer -identify movie-filename -nosound -vc dummy -vo null | grep ID_LENGTH
13. 快速合并视频文件:
mencoder -oac copy -ovc copy -idx -o output.avi video1.avi video2.avi video3.avi
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/comcat/archive/2007/04/23/1576335.aspx
———
ffmpeg参数使用说明
ffmpeg.exe -i F:闪客之家闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320×240 f:11.flv
ffmpeg -i F: 1.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320×240 f:test.flv
使用-ss参数 作用(time_off set the start time offset),可以从指定时间点开始转换任务。
如:转换文件格式的同时抓缩微图:
ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350×240 'test.jpg'
对已有flv抓图:
ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350×240 'test.jpg'
-ss后跟的时间单位为秒
Ffmpeg转换命令
ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176×144 -acodec aac -ac 2 -ar 22500
-ab 24 -f 3gp test.3gp
或者
ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176×144 -b 128 -r 15 test.3gp
ffmpeg参数解释
A) 通用选项
-L license
-h 帮助
-fromats 显示可用的格式,编解码的,协议的…
-f fmt 强迫采用格式fmt
-I filename 输入文件
-y 覆盖输出文件
-t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持
-ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持
-title string 设置标题
-author string 设置作者
-copyright string 设置版权
-comment string 设置评论
-target type 设置目标文件类型(vcd,svcd,dvd) 所有的格式选项(比特率,编解码以及缓冲区大小)自动设置,只需要输入如下的就可以了:ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg
-hq 激活高质量设置
-itsoffset offset 设置以秒为基准的时间偏移,该选项影响所有后面的输入文件。该偏移被加到输入文件的时戳,定义一个正偏移意味着相应的流被延迟了 offset秒。 [-]hh:mm:ss[.xxx]的格式也支持
B) 视频选项
-b bitrate 设置比特率,缺省200kb/s
-r fps 设置帧频 缺省25
-s size 设置帧大小 格式为WXH 缺省160X128.下面的简写也可以直接使用:
Sqcif 128X96 qcif 176X144 cif 252X288 4cif 704X576
-aspect aspect 设置横纵比 4:3 16:9 或 1.3333 1.7777
-croptop size 设置顶部切除带大小 像素单位
-cropbottom size –cropleft size –cropright size
-padtop size 设置顶部补齐的大小 像素单位
-padbottom size –padleft size –padright size –padcolor color 设置补齐条颜色(hex,6个16进制的数,红:绿:兰排列,比如 000000代表黑色)
-vn 不做视频记录
-bt tolerance 设置视频码率容忍度kbit/s
-maxrate bitrate设置最大视频码率容忍度
-minrate bitreate 设置最小视频码率容忍度
-bufsize size 设置码率控制缓冲区大小
-vcodec codec 强制使用codec编解码方式。如果用copy表示原始编解码数据必须被拷贝。
-sameq 使用同样视频质量作为源(VBR)
-pass n 选择处理遍数(1或者2)。两遍编码非常有用。第一遍生成统计信息,第二遍生成精确的请求的码率
-passlogfile file 选择两遍的纪录文件名为file
C)高级视频选项
-g gop_size 设置图像组大小
-intra 仅适用帧内编码
-qscale q 使用固定的视频量化标度(VBR)
-qmin q 最小视频量化标度(VBR)
-qmax q 最大视频量化标度(VBR)
-qdiff q 量化标度间最大偏差 (VBR)
-qblur blur 视频量化标度柔化(VBR)
-qcomp compression 视频量化标度压缩(VBR)
-rc_init_cplx complexity 一遍编码的初始复杂度
-b_qfactor factor 在p和b帧间的qp因子
-i_qfactor factor 在p和i帧间的qp因子
-b_qoffset offset 在p和b帧间的qp偏差
-i_qoffset offset 在p和i帧间的qp偏差
-rc_eq equation 设置码率控制方程 默认tex^qComp
-rc_override override 特定间隔下的速率控制重载
-me method 设置运动估计的方法 可用方法有 zero phods log x1 epzs(缺省) full
-dct_algo algo 设置dct的算法 可用的有 0 FF_DCT_AUTO 缺省的DCT 1 FF_DCT_FASTINT 2 FF_DCT_INT 3 FF_DCT_MMX 4 FF_DCT_MLIB 5 FF_DCT_ALTIVEC
-idct_algo algo 设置idct算法。可用的有 0 FF_IDCT_AUTO 缺省的IDCT 1 FF_IDCT_INT 2 FF_IDCT_SIMPLE 3 FF_IDCT_SIMPLEMMX 4 FF_IDCT_LIBMPEG2MMX 5 FF_IDCT_PS2 6 FF_IDCT_MLIB 7 FF_IDCT_ARM 8 FF_IDCT_ALTIVEC 9 FF_IDCT_SH4 10 FF_IDCT_SIMPLEARM
-er n 设置错误残留为n 1 FF_ER_CAREFULL 缺省 2 FF_ER_COMPLIANT 3 FF_ER_AGGRESSIVE 4 FF_ER_VERY_AGGRESSIVE
-ec bit_mask 设置错误掩蔽为bit_mask,该值为如下值的位掩码 1 FF_EC_GUESS_MVS (default=enabled) 2 FF_EC_DEBLOCK (default=enabled)
-bf frames 使用frames B 帧,支持mpeg1,mpeg2,mpeg4
-mbd mode 宏块决策 0 FF_MB_DECISION_SIMPLE 使用mb_cmp 1 FF_MB_DECISION_BITS 2 FF_MB_DECISION_RD
-4mv 使用4个运动矢量 仅用于mpeg4
-part 使用数据划分 仅用于mpeg4
-bug param 绕过没有被自动监测到编码器的问题
-strict strictness 跟标准的严格性
-aic 使能高级帧内编码 h263+
-umv 使能无限运动矢量 h263+
-deinterlace 不采用交织方法
-interlace 强迫交织法编码仅对mpeg2和mpeg4有效。当你的输入是交织的并且你想要保持交织以最小图像损失的时候采用该选项。可选的方法是不交织,但是损失更大
-psnr 计算压缩帧的psnr
-vstats 输出视频编码统计到vstats_hhmmss.log
-vhook module 插入视频处理模块 module 包括了模块名和参数,用空格分开
D)音频选项
-ab bitrate 设置音频码率
-ar freq 设置音频采样率
-ac channels 设置通道 缺省为1
-an 不使能音频纪录
-acodec codec 使用codec编解码
E)音频/视频捕获选项
-vd device 设置视频捕获设备。比如/dev/video0
-vc channel 设置视频捕获通道 DV1394专用
-tvstd standard 设置电视标准 NTSC PAL(SECAM)
-dv1394 设置DV1394捕获
-av device 设置音频设备 比如/dev/dsp
F)高级选项
-map file:stream 设置输入流映射
-debug 打印特定调试信息
-benchmark 为基准测试加入时间
-hex 倾倒每一个输入包
-bitexact 仅使用位精确算法 用于编解码测试
-ps size 设置包大小,以bits为单位
-re 以本地帧频读数据,主要用于模拟捕获设备
-loop 循环输入流(只工作于图像流,用于ffserver测试)
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ctthen/archive/2009/06/26/4299104.aspx
———
ffmpeg.exe -y -i "C:画皮10.flv" -ss 0 -f mp4 -vcodec mpeg4 -bf 2 -flags qprd -flags mv0 -acodec libfaac -ac 2 -ab 64K -ar 32000 "C:画皮10.mp4"
———
unsharp=l3x3:0.5
-vf里还有expand和crop参数,例如:-vf scale=512:384,expand=512:384:::1,crop=512:384:0:0,expand表示膨胀,crop表示裁剪;
mencoder.exe -noodml “source.avi” -sub “sub.srt” -subcp cp936 -font simhei.ttf -subfont-text-scale 4 -o “output.avi” -ofps 20.000 -vf-add scale=640:-2 -ovc xvid -xvidencopts bitrate=500 -srate 44100 -oac mp3lame -lameopts vbr=0 -lameopts br=128 -lameopts vol=0 -lameopts mode=0 -lameopts aq=7 -lameopts padding=3 -af volnorm -xvidencopts max_bframes=0:nogmc:noqpel
gb2312的编码页是936,所以这里使用cp936。
scale=640:-2 缩放。将原始文件缩放到宽是640,高是自适应的大小
mencoder -oac mp3lame -lameopts vbr=3:br=64 -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=200 -sub video.srt -o new.avi -font simsun.ttf video.avi -subcp cp936 -subfont-text-scale 4 -vf scale=320:240
mencoder vts_23_1.vob -oac mp3lame -lameopts cbr:mode=0:br=256 -ofps 18 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:cbp:trell:vbitrate=300 -vf scale=320:240,rotate=1 -ffourcc XVID -o output_video.avi
* ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
// 对ffmpeg无法解析的文件格式(wmv9,rm,rmvb等), 可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式.
* mode=3:cbr:br=24单声道 音频码率为24kbps;-lameopts
* mode=0:cbr:br=24立体声,音频码率为24kbps; 还可设置音量,-lameopts
* mode=3:cbr:br=32:vol=1,设置范置为1~10,但不宜设得太高
vbr=3:br=128
"vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=-1:cmp=3:vb_strategy=1"
"-lameopts" "abr:br=56"
清晰度 -qscale 4 为最好可是文件大, -qscale 6就可以了
mencoder basket.rm -ovc lavc -oac mp3lame -o basket.avi -ss 5:00 -endpos 8:00
"-ss 5:00 -endpos 8:00"告诉mencoder仅仅转换从5分0秒到13分0秒的片段。
mencoder a1.avi a2.avi -ovc copy -oac copy -o asum.avi
这个命令把a1.avi和a2.avi文件合并为asum.avi文件。
mencoder basket.rm -ovc lavc -oac lavc -lavcopts vbitrate=100 -lavcopts abitrate=32 -o basket.avi
———————–
faac(-faacopts)
br=<bitrate>
平均比特率,单位为kbps(与quality选项不能同时使用)
quality=<1-1000>
质量模式,值越高效果越好(与br选项不能同时使用)
object=<1-4>
目标类型的复杂度
MAIN(默认值)
LOW
SSR
LTP(运行极慢)
mpeg=<2|4>
MPEG版本(默认值:4)
tns
启用瞬时噪声整形(TNS)功能。
cutoff=<0-采样频率/2>
截断频率(默认值:采样频率/2)
-lameopts abr:br=32:mode=3 abr代表平均码率,相对于cbr(固定码率)和vbr(可变码率,貌似不支持),br就是音频的码率,越高音质越好,mode=3,0-3分别代表 Stereo,Joint Stereo,Force ms_stereo,Mono(默认为自动,事实上1和3对文件大小的影响并不是很大),另外可选的还有 vol(音量,取值0-10,数值越大音量越大
——————————————————————————-
音频:动态码率,质量 4 (0-9,0最好),编码:MP3,采样:32000Hz,音频算法:7
视频:动态码率,质量 8(0-31,0最好),编码:xvid,尺寸:原尺寸
CODE:
mencoder -oac MP3lame -lameopts aq=7:vbr=2:q=4 -srate 32000 -vf harddup -ovc xvid -xvidencopts fixed_quant=8 src.avi -o dst.avi
———————————
mencoder.exe -noodml "j:工作区 1.wmv" -of avi -o "j:工作区b.avi" -ofps 20 -vf-add scale=224:176 -vf-add expand=224:176:-1:-1:1,rotate=2,flip -srate 44100 -ovc xvid -xvidencopts bitrate=350:max_bframes=0:quant_type=h263:me_quality=4 -oac lavc -lavcopts acodec=mp2:abitrate=96
-noodml (仅用于-of avi的情况下)对于大于1GB的AVI文件不写入OpenDML索引。
rotate[=<0-7>] 以90度为单位旋转图像并有选择地将其翻转
flip 上下翻转图像。
me_quality=<0-6>
该选项控制运动估计子系统。值越高,运动估计就越精确(默认值:6)。运动估计越精确,就能节省越多的比特。提高精度是以牺牲CPU时间为代价的,所以如果你需要实时编码,那么就降低这个设置。
mbd=2:cbp:trell
padding=0-2
nogmc:noqpel
unsharp=l3x3:0.5 反锐化修饰 / 高斯模糊
音视频文件合成:
ffmpeg -i "d:2010.avi" -i "d: 000.mp3" -vcodec copy -acodec copy -y "d:2010x.avi"
音视频文件分离:
mencoder.exe -ovc copy -nosound -of rawvideo "C: .avi" -o "C: 00.avi"
mencoder.exe -ovc frameno -oac copy -of rawaudio "C: .avi" -o "C: 00.mp3"
mencoder.exe -ovc frameno -oac mp3lame -lameopts cbr:br=128 -of rawaudio "C: .avi" -o "C: 0.mp3"
—————————————————–
-xvidencopts bitrate=200:threads=5:me_quality=6:vhq=1
mencoder.exe src.avi -o dst.avi -noskip -vf scale=320:240 -oac mp3lame -lameopts vbr=3:br=128:vol=1
-ovc xvid -xvidencopts pass=1:bitrate=300:keyframe_boost=20:trellis:quant_type=h263
———– 合并几个视频片段
mencoder -oac copy -ovc copy -idx -o output.avi 1.avi 2.avi
———– 将rmvb转为mp2音频mpeg2video视频的mpg文件:
mencoder 01.rmvb -oac lavc -lavcopts acodec=mp2:abitrate=64 -ovc lavc
-lavcopts vcodec=mpeg2video:vbitrate=600:vpass=1 -ofps 24000/1001 -of mpeg -o 01.mpg
———– 将rmvb转为mp3音频xvid视频的avi文件:
mencoder 01.rmvb -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=600 -of avi -o 01.avi
———– 转为FLV:
mencoder %1 -o %2 -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6
:vb_strategy=1 -vf scale=320:-3 -srate 22050
———– 转为3gp:
mencoder.exe "E:1.avi" -ss 00:03:10 -endpos 280 -af volnorm -srate 22050
-vf-add scale=320:-3,harddup -ofps 15 -oac faac -faacopts br=32:mpeg=4:object=2
-ovc xvid -xvidencopts bitrate=500:threads=2:max_bframes=0 -o "C:1.XviD.avi"
call "batch3gp.bat" "C:1.XviD.avi"
———– 转为avi: (-af channels=2:2:1:0:1:1 右声道 / -af channels=2:2:0:0:0:1 左声道 / -stereo 0 立体声
经实验,目前divx比xvid要快,在使用vhq功能时会稍稍影响速度)
mencoder.exe -srate 32000 -stereo 0 -oac mp3lame -lameopts mode=2:cbr:br=128:vol=2
-ovc lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vbitrate=1400 -ofps 18 -vf scale=480:320
-sws 9 "K:1111.avi" -o "K:1111.XviD.avi"
bitrate=1400 vhq:vbitrate=350 超高画质只对应Divx编码(very high quality for Divx only)
———– 压入字幕: 字幕 11.srt 需先行转成 UTF-8格式 字体选用中文字体
mencoder.exe "F:11.mkv" -ss 10:00 -endpos 60 -srate 22050 -vf scale=320:-3 -ofps 15
-oac faac -faacopts br=32:mpeg=4:object=2 -ovc xvid -xvidencopts bitrate=500:threads=2:max_bframes=0
-sub "F:11.srt" -subpos 99 -subfont-text-scale 3 -subfont-blur 0 -subfont-outline 0
-font "C:WINDOWSFontsmingliu.ttc" -subcp cp950 -unicode -o "F:11.mkv.avi"
call batch3gp.bat "F:11.mkv.avi"
———– 加黑边,字幕压在黑边里
mencoder.exe "F: 0.mkv" -ss 10:00 -endpos 30 -af volnorm -srate 22050 -vf-add scale=320:-3
-vf-add expand=320:240:-1:-1:1,harddup -ofps 15 -oac faac -faacopts br=32:mpeg=4:object=2
-ovc xvid -xvidencopts bitrate=500:threads=2:max_bframes=0 -sub "F: 0.srt" -subpos 99
-subfont-text-scale 4 -subfont-blur 1 -subfont-outline 1 -font "C:WINDOWSFonts苏新诗卵石体.ttf"
-subcp cp950 -unicode -o "F: 0.mkv.avi"
call batch3gp.bat "F: 0.mkv.avi"
———– 视频滤镜
缩放过程由scale视频滤镜处理:-vf scale=width:height。
其质量由-sws选项控制。如果它没有指定, MEncoder将使用0:快速二次线性缩放。
-vf …,rotate=R,…harddup … R=旋转方式(0,逆时针90度 1,顺时针90度 )
-vf …,mirror,…harddup … 水平翻转
-vf …flip,…harddup … 垂直翻转
-vf …,crop=W:H:X:Y,…harddup
-vf …,expand=W:H:-1:-1:1,…harddup … 加黑边将画面扩展到W:H
-vf…-ofps F … F=帧速率
———– 合并几个视频片段
mencoder -oac copy -ovc copy -idx -o output.avi video1.avi video2.avi video3.avi
* 其中,-oac copy 选项告诉 mencoder 要正确拷贝音频流。而 -ovc copy 选项则是拷贝视频流。
* 如果在视频文件中没有找到索引的话,那么 -idx 选项会要求 mencoder 建立它。
-vf scale=720:-3,harddup -xvidencopts fixed_quant=11
-xvidencopts bitrate=1440
反交错: -sws 9 -vf-add yadif,scale=720:-3
———– DVD to AVI:
mencoder.exe dvd://33 -dvd-device i:/ -ovc lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vhq:vbitrate=300 -oac mp3lame -lameopts abr:br=128:vol=5 -o c: 33.avi
mencoder.exe dvd://1 -dvd-device i:/ -slang zh -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=238 -of avi -srate 22050 -o "c: 1.avi"
————————————–
(Divx 视频编码,MP3 音频编码):
mencoder.exe input.mpg -oac mp3lame -lameopts aq=3:abr:br=128 -srate 44100 -ovc lavc
-lavcopts vcodec=mpeg4:vbitrate=1200 -ffourcc DX50 -vf scale=480:360,crop=640:478:0:0,harddup -ofps 30 -o output.avi
1、-oac mp3lame 音频编码类型。此例中选择的是 mp3lame。
2、-lameopts aq=3:abr:br=128:(lame options)aq 为编码质量,它的值为 0~9,数字越小音频的数字失真就越小,编码的时间就越长;编码方式包括有 abr(按平均码率编码)、cbr(指固定码率编码)、vbr(按动态码率编码)三种;br=128 则指定编码码率为 128kbps。
3、-srate 44100:(sample rate)指定音频的采样频率。频率通常有 22050、32000、44100 等几种。
4、-ovc lavc:(output video codec)指定输出媒体文件的视频编码类型。此处选择的是 Libavcodec 的视频编码
5、-lavcopts vcodec=mpeg4:vbitrate=1200:(Libavcodec options)指定视频编码的设置。由于 Libavcodec 包含了多种视频编码,所以用 vcodec=mpeg4 来指定具体的使用 MPEG-4 编码,vbitrate 是设定视频编码的码率为 1200kbps。
7、-vf scale=480:360,crop=640:478:0:0,harddup:(video filters)指定编码的视频滤镜设置。scale=480:360 用于指定输入媒体文件的画面大小,宽度为 480 像素,高度为 360 像素。crop=638:477:1:2 是剪栽选项,从原始画面的座标(1,2)为起点,截取 638×477 像素的图像。
注意,命令里的 scale 参数放在 crop 参数之前,表示“先缩放后剪栽”,如果 crop 参数放于 scale 参数之前,则表示“先剪栽后缩放”。
8、-ofps 30:(output fps)指定输出媒体文件的帧速,30fps 指每秒种播放 30 个画面。
9、-o output.avi:(output)指定转换后输入媒体的文件名。
使用 Mencoder 将一个 RMVB 文件转换成一个 PMP 文件(PSP 游戏机专用)
需要使用到以下三个命令:
(1)mencoder.exe input.rmvb -sws 9 -ofps 23.976 -vf harddup,pp=md/lb,scale=480:272 -ovc x264 -ffourcc H264 -x264encopts qp_constant=25 -srate 44100 -af volnorm -oac mp3lame -lameopts aq=3:cbr:br=128:vol=1 -o video.avi
(2)mencoder.exe video.avi -oac copy -ovc copy -of rawaudio -o audio.mp3
(3)pmp_muxer_avc.exe -v video.avi -a audio.mp3 -s 1000 -r 23976 -d 1 -o output.pmp
1、第一个命令是将 RMVB 转换成视频为 H264 编码、音频为 MP3 编码的 AVI 文件,其中:-sws 9 参数指定了编码的采样使用 Lanczos3 算法(如果不指定则采用线性采样),可以获得更具体的细节和更精细的画面;qp_constant=25 指定了视频编码的质量,在压缩 PSP 媒体的时候一般选择 20(最优)~25(普通);-af volnorm (volume normalize)设置了音频编码时音量规格化。
2、第二个命令是将音频部份从第一个命令生成的 video.avi 中提取出来,其中:-of rawaudio (output filter)指定了只输出音频部分而忽略视频部分。
3、第三个命令是将 video.avi 和 audio.mp3 合成 PMP 文件。pmp_muxer_avc.exe 文件须要另外下载,在各个 PSP 论坛里都可以找到。PMP 和 AVI 一样,是媒体文件的一种容器格式,并非是编码格式,而 MEncoder 并不直接支持 PMP 容器,所以须要借助一下第三方的工具。
学习日记,兼职软件设计,软件修改,毕业设计。
本文出自 学习日记,转载时请注明出处及相应链接。
本文永久链接: https://www.softwareace.cn/?p=134