except:
""
recdblist.addCommandLog(pin, u"FFmpeg動画エンコード", exe, txt)
-
\ No newline at end of file
+
+def encode_ffmpeg_y4m(pin,pout,size,is24fps,quality,crf):
+ """
+
+ """
+ ffmpeg=configreader.getpath("ffmpeg")
+ x264=configreader.getpath("x264")
+ fps=u"-r 29.970030 "
+ x264fps="--fps 30000/1001"
+ x264streamsize=""
+ x264preset=""
+ x264tune=""
+ x264_bitrate="2500"
+ x264_thread="auto"
+ try:
+ xtt=configreader.getenv("x264_thread")
+ xtt=int(xtt)
+ if xtt>0:
+ x264_thread=str(xtt)
+ except:
+ x264_thread="auto"
+ x264_addline=configreader.getenv("x264_addline")
+ if size == "HD":
+ s = "-s 1280x720 "
+ #x264streamsize=u"1280x720"
+ x264_bitrate="2500"
+ elif size == "WVGA":
+ s = "-s 854x480 "
+ #x264streamsize=u"854x480"
+ x264_bitrate="1500"
+ elif size == "FullHD":
+ s = "-s 1920x1080 "
+ #x264streamsize=u"1920x1080"
+ x264_bitrate="5000"
+ elif size == "SD":
+ s = "-s 720x480 "
+ #x264streamsize=u"720x480"
+ x264_bitrate="1250"
+ elif size == "QVGA_BASE":
+ s = "-s 320x240 "
+ #x264streamsize=u"320x240"
+ x264_bitrate="300"
+ elif size == "WVGA_BASE":
+ s = "-s 854x480 "
+ #x264streamsize=u"854x480"
+ x264_bitrate="1500"
+ else:
+ s = "-s 1280x720 "
+ #x264streamsize=u"1280x720"
+ x264_bitrate="2500"
+ if quality==1:
+ x264preset=u"--preset ultrafast"
+ elif quality==2:
+ x264preset=u"--preset veryfast"
+ elif quality==3:
+ x264preset=u"--preset fast"
+ elif quality==4:
+ x264preset=u"--preset medium"
+ elif quality==5:
+ x264preset=u"--preset slow"
+ elif quality==6:
+ x264preset=u"--preset slower"
+ if size == "WVGA_BASE" or size == "QVGA_BASE":
+ x264profile=" --level 32 --profile baseline "
+ else:
+ x264profile=" --level 41 --profile high "
+ x264crf=u"--crf "+str(crf)
+ txt=""
+ os.environ['LANG']="ja_JP.UTF-8"
+ #exe=ffmpeg+u" -y -i \""+pin+"\" -vsync 400 -vcodec rawvideo -pix_fmt yuv420p "+s+fps+"-deinterlace -an -f rawvideo - |"
+ random.seed(pin)
+ random.jumpahead(10)
+ streampath=os.path.join(os.path.dirname(pin),str(random.randint(10000, 999999))+".y4m")
+ os.system(u"mkfifo "+streampath)
+ exe=ffmpeg+u" -y -i \""+pin+"\" -vsync 400 -vcodec rawvideo -f yuv4mpeg "+s+fps+"-deinterlace -an -f rawvideo - |"
+ exe=exe+u" nice -n 19 "+x264+" "+x264crf+u" "+x264_addline+u" --threads "+x264_thread+" "+x264profile+x264preset+" "+x264tune+" "+x264fps+" -o \""+pout+"\" \""+streampath+"\" "+x264streamsize
+ exe = "nice -n 19 " + exe
+ txt=""
+ recdblist.printutf8(exe)
+ try:
+ txt=unicode(commands.getoutput(exe.encode('utf-8')),'utf-8')
+ except:
+ ""
+ recdblist.addCommandLog(pin, u"FFmpeg動画エンコード", exe, txt)