Source1:http://pdl.stream.aol.com/pdlext/aol/brightcove/ame/201204/04/42907/totalrecall_trlr_01_1080p_dl.mov
D:\Encoding Output\encodingTempAvisynthSkript.avs:
x264 Source1:Code:SetMemoryMax(768) SetMTMode(5,8) LoadPlugin("G:\Hybrid\avisynthPlugins\ffms2.dll") LoadPlugin("G:\Hybrid\avisynthPlugins\ColorMatrix.dll") FFVideoSource("D:\comparison\totalrecall_trlr_01_1080p_dl.mov",cachefile="D:\Encoding Temp\totalrecall_trlr_01_1080p_dl_22_57_03_711.ffindex",threads=1) SetMTMode(2) ConvertToYv12(interlaced=false, matrix="Rec.601") ColorMatrix(mode="Rec.709->Rec.601",clamp=3,interlaced=false) Crop(0,140,1920,800) Spline16Resize(720,364) ScriptClip("Subtitle(string(current_frame),align=7)") distributor() return(last)
x264 1st pass:
x264 2nd pass:Code:mencoder -lavdopts threads=8 -really-quiet -ofps 24000/1001 -of rawvideo -o - -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output\encodingTempAvisynthSkript.avs" | x264-10bit --pass 1 --bitrate 800 --bframes 8 --direct auto --b-adapt 2 --ratetol 2 --rc-lookahead 60 --aq-mode 2 --sar 40:33 --deblock -1:-1 --stats "D:\Encoding Output\x264-10bit_800_720x364.stats" --fps 24000/1001 --input-res 720x364 --output NUL -
Muxing:Code:mencoder -lavdopts threads=8 -really-quiet -ofps 24000/1001 -of rawvideo -o - -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output\encodingTempAvisynthSkript.avs" | x264-10bit --preset veryslow --tune film --pass 2 --bitrate 800 --ratetol 2 --aq-mode 2 --sar 40:33 --colormatrix bt470bg --stats "D:\Encoding Output\x264-10bit_800_720x364.stats" --fps 24000/1001 --input-res 720x364 --output "D:\Encoding Output\x264-10bit_800_720x364.264" -
result: http://www.embedupload.com/?d=8WIFDYYWHXCode:mkvmerge --ui-language en -o "D:\Encoding Output\x264_800_720x364.mkv" -d 0 --default-track 0:yes --default-duration 0:24000/1001fps --aspect-ratio-factor 0:40/33 --fourcc 0:MP4V --no-chapters --forced-track 0:yes --no-audio --no-subtitles "D:\Encoding Output\x264-10bit_800_720x364.264"
VP8 Source1:
VP8 1st pass:
VP8 2nd pass:Code:mencoder -lavdopts threads=8 -really-quiet -ofps 24000/1001 -of rawvideo -o - -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output\encodingTempAvisynthSkript.avs" | vpxenc --codec=vp8 --passes=2 --pass=1 --target-bitrate=800 --end-usage=0 --fpf="D:\Encoding Output\VP8_800_720x364.stats" --profile=0 --best --cpu-used=0 --bias-pct=70 --minsection-pct=1 --maxsection-pct=10000 --min-q=0 --max-q=63 --lag-in-frames=16 --undershoot-pct=0 --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --drop-frame=0 --resize-allowed=0 --kf-min-dist=0 --kf-max-dist=250 --auto-alt-ref=1 --noise-sensitivity=0 --sharpness=0 --static-thresh=0 --token-parts=1 --arnr-maxframes=5 --arnr-strength=3 --threads=2 --width=720 --height=364 -o NUL -
Muxing:Code:mencoder -lavdopts threads=8 -really-quiet -ofps 24000/1001 -of rawvideo -o - -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output\encodingTempAvisynthSkript.avs" | vpxenc --codec=vp8 --passes=2 --pass=2 --target-bitrate=800 --end-usage=0 --fpf="D:\Encoding Output\VP8_800_720x364.stats" --profile=0 --best --cpu-used=0 --bias-pct=70 --minsection-pct=1 --maxsection-pct=10000 --min-q=0 --max-q=63 --lag-in-frames=16 --undershoot-pct=0 --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --drop-frame=0 --resize-allowed=0 --kf-min-dist=0 --kf-max-dist=250 --auto-alt-ref=1 --noise-sensitivity=0 --sharpness=0 --static-thresh=0 --token-parts=1 --arnr-maxframes=5 --arnr-strength=3 --threads=2 --width=720 --height=364 -o "D:\Encoding Output\VP8_800_720x364.vp8" -
result: http://www.embedupload.com/?d=8MEQB3FDMWCode:mkvmerge --ui-language en -o "D:\Encoding Output\VP8_800_720x364.webm" --webm -d 0 --default-track 0:yes --default-duration 0:24000/1001fps --aspect-ratio-factor 0:40/33 --no-chapters --forced-track 0:yes --no-audio --no-subtitles "D:\Encoding Output\VP8_800_720x364.vp8"
And here pictures in a gallery: http://www.mediahump.com/gallery/4011/
wanted to first upload the screenshots to screenshotcomparison.com, but after 5 tries and the site not creating a comparison with all the pictures I gave up, the site just doesn't like me. (does anyone know an alternative site?)
My conclusion so far:
VP8 behind x264 (no surprise), but it a lot better than the last time I tried and now I would say it's a good alternative to x264 if you want to put up 'free to view'-content (like youtube&co), I would still not recommend it for pay sites.
I'll probably encode a view other files in the next days, so if someone has suggestions how to tweak the vp8 settings (I must admit I'm not sure if my setting choice was okay) please post.
Cu Selur
+ Reply to Thread
Results 1 to 15 of 15
Thread
-
-
Thanks for the tests. I haven't looked at VP8 since it came out, maybe it's time to revisit it
1) Why did you use 10bit for h264 ? For example if this was for a streaming web content scenario, I think only beta flash versions support 10bit ? So wouldn't 8-bit be a "more fair" comparison ?
2) Can you make some broad comments on the relative encoding speed? I know it's going to depend on the various settings, but when VP8 first came out it was glacially slow, has it improved ?
3) What were the earlier problems with frame discrepancies? Was it mencoder threads issue ?
4) I haven't downloaded the samples yet, but there looks to be a bitrate discrepancy? 30 %? -
regarding 1: I choose the 10bit version because a. I use it for my personal backups b. I think that as soon as flash supports it in a stable version we will see a lot more of 10bit content (aside from animes -> will do a 8bit x264 encode with the next source
regarding 2: speed has improved a lot, with the last version, x264 is still faster but with the configurations I choose vp8 didn't feel a lot slower -> will add some numbers when I encode the next source
Cu Selur -
you are right I didn't recheck the final size (did work fine with another samples I used
)
-> next source I'll first encode VP8 then check the file size and aim for it with x264 -
Cheers; don't mean to be a pain ....
I know it's lots of work doing proper tests
-
Especially if you need to redo the damn thing so often,.. good I came up with the frame number adding otherwise comparing these would be even more problematic, since ffvideosource also decodes the vp8 frames which should not be shown to the user,...
-
source 2: http://pdl.stream.aol.com/pdlext/aol/brightcove/us/moviefone/trailers/2011/loraxthe_03...2_1080p_dl.mov
VP8 source 2:
VP8 1st pass: (took: 00:03:08.364)
Code:mencoder -lavdopts threads=8 -really-quiet -ofps 24000/1001 -of rawvideo -o - -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output \encodingTempAvisynthSkript.avs" | vpxenc --codec=vp8 --passes=2 --pass=1 --target-bitrate=4000 --end-usage=0 --fpf="D:\Encoding Output\vp8_4000_1080p_01_18_20_441_03.stats" --profile=0 --best -- cpu-used=0 --bias-pct=70 --minsection-pct=1 --maxsection-pct=10000 --min-q=0 --max-q=63 --lag-in-frames=16 --undershoot-pct=0 --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --drop-frame=0 -- resize-allowed=0 --kf-min-dist=0 --kf-max-dist=250 --auto-alt-ref=1 --noise-sensitivity=0 --sharpness=0 --static-thresh=0 --token-parts=2 --arnr-maxframes=5 --arnr-strength=3 --threads=16 -- width=1920 --height=1028 -o NUL -
Code:mencoder -lavdopts threads=8 -really-quiet -ofps 24000/1001 -of rawvideo -o - -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output \encodingTempAvisynthSkript.avs" | vpxenc --codec=vp8 --passes=2 --pass=2 --target-bitrate=4000 --end-usage=0 --fpf="D:\Encoding Output\vp8_4000_1080p_01_18_20_441_03.stats" --profile=0 --best -- cpu-used=0 --bias-pct=70 --minsection-pct=1 --maxsection-pct=10000 --min-q=0 --max-q=63 --lag-in-frames=16 --undershoot-pct=0 --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --drop-frame=0 -- resize-allowed=0 --kf-min-dist=0 --kf-max-dist=250 --auto-alt-ref=1 --noise-sensitivity=0 --sharpness=0 --static-thresh=0 --token-parts=2 --arnr-maxframes=5 --arnr-strength=3 --threads=16 -- width=1920 --height=1028 -o "D:\Encoding Output\vp8_4000_1080p.vp8" -
Code:mkvmerge --ui-language en -o "D:\Encoding Output\vp8_4000_1080p.webm" --webm -d 0 --default-track 0:yes --default-duration 0:24000/1001fps --aspect-ratio-factor 0:1/1 --no-chapters --forced- track 0:yes --no-audio --no-subtitles "D:\Encoding Output\vp8_4000_1080p.vp8"
x264 source 2:
x264 1st pass: (took: 00:06:57.896; 8.96 fps)
Code:mencoder -lavdopts threads=8 -really-quiet -ofps 24000/1001 -of rawvideo -o - -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output \encodingTempAvisynthSkript.avs" | x264 --pass 1 --bitrate 3165 --bframes 8 --direct auto --b-adapt 2 --ratetol 2 --rc-lookahead 60 --aq-mode 2 --deblock -1:-1 --stats "D:\Encoding Output \x264_59MB_1080p_01_40_32_791_03.stats" --fps 24000/1001 --input-res 1920x1028 --output NUL -
Code:mencoder -lavdopts threads=8 -really-quiet -ofps 24000/1001 -of rawvideo -o - -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output \encodingTempAvisynthSkript.avs" | x264 --preset veryslow --tune film --pass 2 --bitrate 3165 --ratetol 2 --aq-mode 2 --colormatrix bt470bg --stats "D:\Encoding Output \x264_59MB_1080p_01_40_32_791_03.stats" --fps 24000/1001 --input-res 1920x1028 --output "D:\Encoding Output\x264_59MB_1080p_01_40_32_791_04.264" -
Code:mkvmerge --ui-language en -o "D:\Encoding Output\x264_59MB_1080p.mkv" -d 0 --default-track 0:yes --default-duration 0:24000/1001fps --aspect-ratio-factor 0:1/1 --fourcc 0:MP4V --no-chapters --forced-track 0:yes --no-audio --no-subtitles "D:\Encoding Output\x264_59MB_1080p_01_40_32_791_04.264"
Gallery: http://www.mediahump.com/gallery/4012/
Conclusion for this clip: This source wasn't really a good choice, since it lagged in some scenes, that aside x264 is speedwise clearly beaten, but preserves all in all more fine details and watching the clip as a whole vp8 clearly is lacking in more places. That said, I have to say VP8 really boosted the quality from the 1st version, but hell - either my settings or their rate control really isn't good in hitting a target bitrate.
(I know why I normally use 10bit x264)
Cu Selur
ps.: more tomorrow -
If speed was a concern, you could have used a faster x264 preset or settings . I know you know this, but it's not a suprise that "very slow" x264 settings take a long time
Looks like VP8 hasn't fixed their bitrate target issues (or at least the ffmpeg or mencoder implementation seems b0rked). Was this mencoder build complied with libvpx 1.0.0 ("Duclair") ? -
mencoder is from: http://www.paehl.com/open_source/?Convert_Tools:MPLAYER_MENCODER (haven't checked if it even has libvpx support)
I use vpxenc for encoding (compiled with libvpx 1.0.0 ("Duclair") )
If speed was a concern, you could have used a faster x264 preset or settings -
-
[OT]
Hopefully someone will make vpxenc's help screen less UN-helpful,
and someday its VfW version will have the same interface as VP6 end VP7.
I know, I keep dreaming.
[/OT] -
Something from HD camcorder would be nice , even interlace footage.
-> if someone uploads some 3-5min HD footage (or has a link to some footage that everybody can use) I can reencode it. All the HD cam footage I got here is either copyrighted such that I couldn't share it or to short.
I could use the Sony HDW-F900 footage from http://www.w6rz.net/
Hopefully someone will make vpxenc's help screen less UN-helpful,Last edited by Selur; 13th Apr 2012 at 01:50.
-
source: Sony HDW-F900 footage from http://www.w6rz.net/
site note: I demuxed the video with DGIndex before processing, since .ts tends to make problems for me
Avisynth script (this time with fast deinterlacing a minimal grain removing)
Code:SetMemoryMax(768) SetMTMode(5,8) LoadPlugin("G:\Hybrid\avisynthPlugins\DGDecode.dll") LoadPlugin("G:\Hybrid\avisynthPlugins\mt_masktools-26.dll") LoadPlugin("G:\Hybrid\avisynthPlugins\DctFilter.dll") LoadPlugin("G:\Hybrid\avisynthPlugins\deblock.dll") LoadPlugin("G:\Hybrid\avisynthPlugins\RemoveGrainSSE2.dll") Import("G:\Hybrid\avisynthPlugins\Deblock_QED.avs") MPEG2Source(d2v="D:\Encoding Output\1080p25_10_26_46_361.d2v") SetMTMode(2) Deblock_QED(quant1=24,quant2=26,aOff1=1,bOff1=1,aOff2=2,bOff2=2,uv=3) Removegrain(mode=2) ScriptClip("Subtitle(string(current_frame),align=7)") distributor() return(last)
VP8 1st pass: (took: 00:04:05.760)
Code:mencoder -lavdopts threads=8 -really-quiet -ofps 25 -of rawvideo -o - -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output\encodingTempAvisynthSkript.avs" | vpxenc --codec=vp8 --passes=2 --pass=1 --target-bitrate=5000 --end-usage=0 --fpf="D:\Encoding Output\vp8_5000_1080p_10_26_46_361_03.stats" --profile=0 --best --cpu-used=0 --bias-pct=70 --minsection-pct=1 --maxsection-pct=10000 --min-q=0 --max-q=63 --lag-in-frames=16 --undershoot-pct=0 --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --drop-frame=0 --resize-allowed=0 --kf-min-dist=0 --kf-max-dist=250 --auto-alt-ref=1 --noise-sensitivity=0 --sharpness=0 --static-thresh=0 --token-parts=3 --arnr-maxframes=5 --arnr-strength=3 --threads=16 --width=1920 --height=1080 -o NUL -
Code:mencoder -lavdopts threads=8 -really-quiet -ofps 25 -of rawvideo -o - -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output\encodingTempAvisynthSkript.avs" | vpxenc --codec=vp8 --passes=2 --pass=2 --target-bitrate=5000 --end-usage=0 --fpf="D:\Encoding Output\vp8_5000_1080p_10_26_46_361_03.stats" --profile=0 --best --cpu-used=0 --bias-pct=70 --minsection-pct=1 --maxsection-pct=10000 --min-q=0 --max-q=63 --lag-in-frames=16 --undershoot-pct=0 --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --drop-frame=0 --resize-allowed=0 --kf-min-dist=0 --kf-max-dist=250 --auto-alt-ref=1 --noise-sensitivity=0 --sharpness=0 --static-thresh=0 --token-parts=3 --arnr-maxframes=5 --arnr-strength=3 --threads=16 --width=1920 --height=1080 -o "D:\Encoding Output\vp8_5000_1080p.vp8" -
Code:mkvmerge --ui-language en -o "D:\Encoding Output\vp8_5000_1080p.webm" --webm -d 0 --default-track 0:yes --default-duration 0:25fps --aspect-ratio-factor 0:1/1 --no-chapters --forced-track 0:yes --no-audio --no-subtitles "D:\Encoding Output\vp8_5000_1080p.vp8"
x264 source 3:
x264 1st pass:(took: 10:54:55.550)
Code:mencoder -lavdopts threads=8 -really-quiet -ofps 25 -of rawvideo -o - -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output\encodingTempAvisynthSkript.avs" | x264 --pass 1 --bitrate 4132 --bframes 8 --direct auto --b-adapt 2 --ratetol 2 --rc-lookahead 60 --aq-mode 2 --deblock -1:-1 --stats "D:\Encoding Output\x264_63MB_1080p_10_54_46_541_03.stats" --fps 25 --input-res 1920x1080 --output NUL -
Code:mencoder -lavdopts threads=8 -really-quiet -ofps 25 -of rawvideo -o - -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output\encodingTempAvisynthSkript.avs" | x264 --preset veryslow --tune film --pass 2 --bitrate 4132 --ratetol 2 --aq-mode 2 --colormatrix bt470bg --stats "D:\Encoding Output\x264_63MB_1080p_10_54_46_541_03.stats" --fps 25 --input-res 1920x1080 --output "D:\Encoding Output\x264_63MB_1080p_10_54_46_541_04.264" -
Code:mkvmerge --ui-language en -o "D:\Encoding Output\x264_63MB_1080p.mkv" -d 0 --default-track 0:yes --default-duration 0:25fps --aspect-ratio-factor 0:1/1 --fourcc 0:MP4V --no-chapters --forced-track 0:yes --no-audio --no-subtitles "D:\Encoding Output\x264_63MB_1080p_10_54_46_541_04.264"
went to another hoster, since the gallery is > 50MB (if someone has a suggestion for a better file hoster, speak up)
Gallery:
Conclusion for this source: even 8bit x264 handles gradients better than VP8, x264 retains more details, all-in-all both do a good job.
Just for the fun of it, I also made a Xvid encode for this source:
Xvid source 3:
Xvid 1st pass: (took:00:06:11.937)
Code:mencoder -lavdopts threads=8 -ofps 25 -ovc xvid -xvidencopts pass=1:turbo:bitrate=4152:me_quality=6:quant_type=h263:lumi_mask:min_iquant=1:max_iquant=31:min_pquant=1:max_pquant=31:min_bquant=1:max_bquant=31:max_key_interval=250:keyframe_boost=10:kfthreshold=1:kfreduction=20:quant_type=h263:lumi_mask:max_bframes=3:bquant_ratio=150:bquant_offset=100:bf_threshold=0:vhq=3:bvhq=1:curve_compression_high=0:curve_compression_low=0:overflow_control_strength=10:max_overflow_improvement=10:max_overflow_degradation=10:trellis:qpel:gmc:nocartoon:chroma_opt:chroma_me:nointerlacing:par=ext:par_width=1:par_height=1:closed_gop:nopacked:threads=8 -passlogfile "D:\Encoding Output\xvid_63MB_1080p_16_21_20_331_03.stats" -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output\encodingTempAvisynthSkript.avs" -o NUL
Code:mencoder -lavdopts threads=8 -ofps 25 -ovc xvid -xvidencopts pass=2:bitrate=4152:me_quality=6:quant_type=h263:lumi_mask:min_iquant=1:max_iquant=31:min_pquant=1:max_pquant=31:min_bquant=1:max_bquant=31:max_key_interval=250:keyframe_boost=10:kfthreshold=1:kfreduction=20:quant_type=h263:lumi_mask:max_bframes=3:bquant_ratio=150:bquant_offset=100:bf_threshold=0:vhq=3:bvhq=1:curve_compression_high=0:curve_compression_low=0:overflow_control_strength=10:max_overflow_improvement=10:max_overflow_degradation=10:trellis:qpel:gmc:nocartoon:chroma_opt:chroma_me:nointerlacing:par=ext:par_width=1:par_height=1:closed_gop:nopacked:threads=8 -passlogfile "D:\Encoding Output\xvid_63MB_1080p_16_21_20_331_03.stats" -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 "D:\Encoding Output\encodingTempAvisynthSkript.avs" -of lavf -lavfopts format=mkv -o "D:\Encoding Output\xvid_63MB_1080p_16_21_20_331_04.mkv"
Code:mkvmerge --ui-language en -o "D:\Encoding Output\xvid_63MB_1080p.mkv" --default-track 1:yes --default-duration 1:25fps --aspect-ratio-factor 1:1/1 --no-chapters --forced-track 1:yes --no-audio --no-subtitles "D:\Encoding Output\xvid_63MB_1080p_16_21_20_331_04.mkv"
Gallery:
Last edited by Selur; 13th Apr 2012 at 10:01.
-
Thanks for taking another look!
Your vp8 settings are fine, though I tend to use slightly different ones:
--minsection-pct=1
--maxsection-pct=10000
minsection of 1 means we can spend 1% of the average datarate on an easy section, this can sometimes go wrong. I typically use 10-20% for minsection.
--lag-in-frames
I've found 25 about optimal
--min-q=0 --max-q=63 if you get frames at q63 you probably don't want to watch them. I typically use -max-q=56
In my normal runs I've started setting --tune=ssim which I think is a default in x264
I often also use --static-thresh=700 ( though sometimes this does wierd things to clouds). On some clips / sections it speeds up the encode by 10x.
WARNING: I don't think any of these settings will make a big difference to your encoded results.
Similar Threads
-
Hybrid(Windows/Linux/Mac): Input -> x264/x265/Xvid/VP8/VP9
By Selur in forum Video ConversionReplies: 2169Last Post: 25th Aug 2023, 05:58 -
VP8 adding frames, what did I do wrong?
By Selur in forum Newbie / General discussionsReplies: 8Last Post: 12th Apr 2012, 13:52 -
Adding timecode data to a VP8 video at encode-time
By ilya.lissoboi in forum ProgrammingReplies: 0Last Post: 29th Apr 2011, 05:43 -
some ffmpeg help with webm/vp8
By loldmanjenkins in forum DVD RippingReplies: 8Last Post: 3rd Nov 2010, 14:04 -
Google to Open-Source VP8 for Html5
By Soopafresh in forum Latest Video NewsReplies: 4Last Post: 24th Jun 2010, 07:06