[原创]在Win下预处理,在Linux下压x264
2009年3月9日
1 条评论
好久没发原创帖了……
首先,如果只用简单的avs,可以用 http://akuvian.org/src/avisynth/avs2yuv/ 全程在Wine下面解决。想VFAPI的估计Wine就比较麻烦了。
需要:
Win命令行: avs2yuv -raw u.avs -o - | bzip2 -1c > 1.raw.bz2 或 avs2yuv u.avs -o - | bzip2 -1c > 1.y4m.bz2 Linux下: bzip2 -dc 1.raw.bz2 | x264 --crf 18 - 720x480 --fps 24000/1001 -o 1.mkv 或 mkfifo pipe.y4m;x264 pipe.y4m <options> & (bzip2 -dc 1.y4m.bz2 > pipe.y4m) </options>
手边没Linux,不行就把3个命令分开执行。
如果完全在Win下:
avs2yuv -raw movie1.avs -o - | 7za a movie1.7z -simovie1.yuv -mf=off > NUL 7za x movie1.7z -so | x264 --crf 18 - 720x480 --fps 24000/1001 -o movie1.mkv 2>movie1.log
参考过的命令行备案:
mkfifo pipe.y4m;x264 pipe.y4m <options> & mplayer -benchmark -vo yuv4mpeg:file=pipe,y4m -ao null avs2yuv -raw "NCOP.avs" - | "x264.exe" --crf 22 --progress --sar 32:27 --output "F:\temp.mkv" - 720x480 $mkfifo foo $mplayer -o foo #or whatever the switch is for output... $program2 foo #both ends of the pipe must be open before the data is sent. The second command should be run from another console since mplayer will block trying to write to a half-opened pipe. #mplayer devs reccomend using mkfifo (named pipe) instead of stdout. mencoder tv:// -tv driver=v4l:width=324:height=248:outfmt=rgb24:device=/dev/video0:adevice=hw.1,0 -oac mp3lame -lameopts cbr:br=128 -flip -ovc lavc -lavcopts threads=2 -o >( tee filename.avi | mplayer -) unrar p -inul movie.part01.rar |mplayer -noidx - </options>
MoeFan (萌番)
最近评论