VideoHelp Forum


Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!


Try StreamFab Downloader and download streaming video from Youtube, Netflix, Amazon! Download free trial.


+ Reply to Thread
Results 1 to 27 of 27
Thread
  1. Member
    Join Date
    Sep 2014
    Location
    Prague
    Search PM
    Hello guys,

    I recorded my first own commented video game playthrough and I would like to publish it on the YouTube in the upcoming weeks / months.
    Thing is, I never really encoded stuff (except for some old crappy quality personal videos). So I'm trying to learn a bit to produce something with decent quality.

    I used latest Fraps, recording in native 1280x720 (no scaling) at 30 FPS, in which I'd like to publish it on the YouTube as well.
    Results are looking great (totally satisfied), except for the file size and dull colors (which I already corrected using some of the Premiere's filters).
    After I got my final cut, I tried to do some encoding tests using 15s video previews and upload it to the YouTube.

    I checked this article from YouTube with recommended encoding settings. And here comes first problem: They list some settings like 2 consecutive B frames, CABAC and Closed GOP (GOP of half the frame rate), but I simply can't find anything like this in the Premiere Pro CC..
    So I'm using 1280x720/30FPS H.264 Progressive, High Profile, Level 4.2, 2 pass VBR with Maximum Render Quality and playing out with different bitrates. I started with 5Mbps and I did previews of 6,7,8,9,10,20 and 30 to compare, using Max Bitrate usually around 2-10 Mbps higher.
    I'm satisfied with values of 8Mbps+ and if that was the result that I get by watching it on the YouTube, I'd call it done and simply upload all my episodes.

    However, it looks really ugly once I play it from YouTube, no matter how high bitrate I use. I even tried 30-50 Mbps bitrate, but it still looks very blurry and pixelated. I read that YouTube re-encodes your videos (so I should upload in much higher quality than needed for local playback - thus my 30-50 Mbps upload test) and that it takes some time, but I just re-checked my yeasterday's uploads just to get angry again - no change at all.

    I'm aware that h.264 might not be best choice for fast FPS gaming. On top of that, I'm recording Crysis which has a lot of jungle and forests with loads of grass, trees and plants, so moving fast in there must be hard for the encoder. BUT, when I check Crysis videos of some other people on YouTube, you can find some with really nice quality that I'd be happy with. Mine are looking much worse.

    I think this is more than long enough introduction, so here are some examples.
    Video:
    Local copy (r.click - Save as) -> YouTube

    Screenshots:
    t=5s: Source Video (from Fraps) -> Local copy (30-50Mbps) -> YouTube player (720p)
    TIP for viewing in Google Chrome: Open each of them in a new tab, then press F11 and then cycle them using Ctrl-TAB and Ctrl-Shift-TAB

    As you can see, in some moments it's pretty much unwatchable and I'd rather not publish my walkthrough at all, than publish it ugly like this.

    I just can't figure out what's wrong, hopefully someone here can help.
    Thank you very much for your time!

    LyrickCZE from Prague
    Quote Quote  
  2. When your YouTube video is downloaded it looks a lot better. I think your issue is playback bandwidth. You're using too high a bitrate. You may want to make your video a little less sharp in order to encode it more efficiently.
    Quote Quote  
  3. Just select Youtube 720p preset in Premiere
    then change from VBR to CRB
    change bitrate to 8 mbps
    Quote Quote  
  4. Member
    Join Date
    Sep 2014
    Location
    Prague
    Search PM
    Thanks for your replies.

    You got the point, smrpix, with bitrate too high!
    I tried downloading the uploaded video from the YouTube (using the Video Manager - Download as .mp4) and it indeed looks better (still dissapointed though). But I'm confused - the downloaded video comes out re-encoded as VBR with 4-5.5 Mbps I believe (that's what VLC shows), so there should not be a reason for the connection not keeping up. Plus it has same issues even when you let it pre-load before playing...

    Anyways, going to try the YT Preset mentioned (maybe there is some hidden options set by it?)...
    ... some time later ...

    It's here: YouTube 720p Preset, 8Mbps CBR

    Unfortunately, it is slighty better, but still very bad : /
    Quote Quote  
  5. Member
    Join Date
    Sep 2014
    Location
    Prague
    Search PM
    I would not call it slow, but I only have 1366x768 screen, so I decided to play and record in 720p, since YouTube would scale it down anyway.

    Edit: Well, found some guide on how to get it from Premiere to FFMPEG, so I will try encoding in it.
    It seems that CRF method / film could be way better for stuff like these moving forest scenes.

    Hopefully YouTube will be able to re-encode it better if it's given better source..

    Gotta leave now though, I will post the results once it's done.
    Last edited by LyrickCZE; 10th Sep 2014 at 12:46.
    Quote Quote  
  6. Did you try render with YouTube 1080p preset CBR 8 mbps ?
    I know the quality not suppose to be better
    but maybe Youtube quality will improve
    Quote Quote  
  7. I think it still has to do with factors beyond your control. The download looks relatively clean, but the streaming playback is constantly jumping around. Best guess, the complexity of the images -- tiny details, unblurred motion -- requires a lot of constant bandwidth.
    Quote Quote  
  8. Member
    Join Date
    Sep 2014
    Location
    Prague
    Search PM
    Yea.. I was afraid so. In other words - I really choose great first footage to learn encoding on

    Ok really gotta run now, I will just try the stuff I mentioned above once I get back.

    Later.
    Quote Quote  
  9. I think the uploaded video has no problems. Youtube may try to change the video quality according to user's network conditions. If your network is not well, the video may be in 144P or 240P. You may change it into 720P by clicking on the settings icon in the YouTube player section. Click the setting icon you will see the speed and video quality options. Hope this can help you.
    Real media really matters. Just get BD DVD discs and say NO to online stream media.
    Quote Quote  
  10. Member
    Join Date
    Sep 2014
    Location
    Prague
    Search PM
    But then why can I play other 1080p videos on YouTube smoothly and with great quality?
    That's just something I can not understand and that is why I'm still thinking it has to do with the uploads.
    Unless they use some crappy encoding for new (unimportant) channels or something...

    Anyways, I took it to next level today and used Advanced Frameserver and AviSynth to feed the output from Premiere Pro directly into the FFmpeg.

    Here are two example uploads:
    https://www.youtube.com/watch?v=RFS2u3xjaTM
    https://www.youtube.com/watch?v=sR8ZFw1OTDs
    You can find FFmpeg settings in the video descriptions.

    Local results look really nice and I can already see something happening on YouTube... Instead of resulting 8.5 MB re-encoded video by YouTube, it now has 16.3 MB and after download, it is slightly better.
    Still, while playing directly on YouTube, it looks like that brown thing you create every day. Aaargh!
    I just don't get it...
    Quote Quote  
  11. Originally Posted by LyrickCZE View Post
    But then why can I play other 1080p videos on YouTube smoothly and with great quality?
    That's just something I can not understand and that is why I'm still thinking it has to do with the uploads.
    Unless they use some crappy encoding for new (unimportant) channels or something...

    Anyways, I took it to next level today and used Advanced Frameserver and AviSynth to feed the output from Premiere Pro directly into the FFmpeg.

    Here are two example uploads:
    https://www.youtube.com/watch?v=RFS2u3xjaTM
    https://www.youtube.com/watch?v=sR8ZFw1OTDs
    You can find FFmpeg settings in the video descriptions.

    Local results look really nice and I can already see something happening on YouTube... Instead of resulting 8.5 MB re-encoded video by YouTube, it now has 16.3 MB and after download, it is slightly better.
    Still, while playing directly on YouTube, it looks like that brown thing you create every day. Aaargh!
    I just don't get it...
    When i open the youtube link, the video is 360P, poor quality. Then i change the youtube player to set it as 720P, it is in higher quality and acceptable. But the video can't play smoothly.
    Real media really matters. Just get BD DVD discs and say NO to online stream media.
    Quote Quote  
  12. Member
    Join Date
    Sep 2014
    Location
    Prague
    Search PM
    You think it's acceptable in 720p? I mean, look at the around time 4-6s, after I turn around and start running. It becomes one blurry mess.
    Click image for larger version

Name:	Crysis_E01_30_ffmpeg_v03_blurrymess.png
Views:	274
Size:	765.4 KB
ID:	27363

    Compare it to the original:
    Click image for larger version

Name:	original.png
Views:	284
Size:	1.53 MB
ID:	27364
    And that happens quite often as I run around...

    I simply can't call this acceptable..
    Quote Quote  
  13. Did you try test render with YouTube 1080p preset CBR 8 mbps ?
    Quote Quote  
  14. For encoding to YT use preset fast, superfast or ultrafast - personally i use fixed quantizer single pass - bitrate before upload have meaning only when your upload speed is low.
    Always download video from YT to evaluate quality, use decent player not web browser based, consider upscaling video to 1080 or even higher resolution before encoding and uploading.
    Quote Quote  
  15. Member
    Join Date
    Sep 2014
    Location
    Prague
    Search PM
    Thank you for tips, pandy.
    I will give it a try once I have some more time.
    Quote Quote  
  16. Originally Posted by LyrickCZE View Post
    Thank you for tips, pandy.
    I will give it a try once I have some more time.
    Personally i use ffmpeg with syntax like this - it fast and should work for You - perhaps scale (resize need to be added) and video need to be pad to more than 1280x720 (also perhaps color matrix different - i use this to place SD on YT that's why it is 470 not 709) but all this is plain cosmetics.

    Code:
    @set x264opts="level=4:qp=20:ipratio=2:cabac=1:colorprim=bt470bg:transfer=bt470bg:colormatrix=bt470bg:fullrange=off:overscan=show:pic-struct:force-cfr=1:aud=1:threads=auto"
    @ffmpeg -i %1 -c:v libx264 -preset ultrafast -tune zerolatency -profile:v high -x264opts %x264opts% -x264-params %x264opts% -vf "pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=sar=1/1" -af "aresample=resampler=soxr:osr=44100:cutoff=0.95" -strict experimental -c:a aac -b:a 320k -ac 2 -shortest -movflags faststart %1_.mp4
    Quote Quote  
  17. Member
    Join Date
    Sep 2014
    Location
    Prague
    Search PM
    Having hard time understanding some of your settings, but trying to make something close using the FFmpeg documentation.
    For some reason, I cant find the ipratio parameter though : /

    QP method and zerolatency seems to be main changes there (hope Im correct), so I will give it some testing and report back..

    Thanks, Lyr.
    Quote Quote  
  18. You're basically wasting your time.

    It's not going to make much of a difference what you do. The problem is youtube and lowish bitrate for the type of content (It will re-encode at about 4-5Mb/s for 720p, which might be ok if you didn't move as much) . Things like motion, noise, complex content (explosions, lots of details), are very difficult to compress

    It's a bit counterintuitive, but the higher the quality past a certain point, the worse it will look on youtube. You can fiddle all you want with the encoding settings, or even upload a lossess video - it won't make a difference and will probably even look worse. YT struggles at that bitrate to keep all the detail.

    What people do is add motion blur, denoise it, so it's easier to compress, will look slightly better on youtube. Also creative edits, where you edit in low action parts, maybe dialog - this way the bitrate can be distributed better
    Quote Quote  
  19. Member
    Join Date
    Sep 2014
    Location
    Prague
    Search PM
    Thanks for the explanation. I will try to experiment with motion blur then..
    Im curious - do you think the real problem here is that I upload in 720p instead of 1080p? I mean, do they use better encoding or maybe more suitable bitrate for 1080p, so it then looks way better even when played in 720p?

    Because I cant really test it with 1366x768 screen...

    Here is a nice example how much nicer it can look in practically same game:
    https://www.youtube.com/watch?v=Bj8WQoa1xpY
    Quote Quote  
  20. Originally Posted by LyrickCZE View Post
    Thanks for the explanation. I will try to experiment with motion blur then..
    Im curious - do you think the real problem here is that I upload in 720p instead of 1080p? I mean, do they use better encoding or maybe more suitable bitrate for 1080p, so it then looks way better even when played in 720p?

    Because I cant really test it with 1366x768 screen...

    Here is a nice example how much nicer it can look in practically same game:
    https://www.youtube.com/watch?v=Bj8WQoa1xpY


    ^ It falls apart too in sections

    720p seems to be the sweet spot right now at YT, you don't gain much more for going 1080p 6-8Mb/s, but larger frame size. The overall quality isn't any better

    The reason why all your encoding settings, fiddling with encoding don't matter is YT re-encodes it. It decodes, then re-encodes it. So it doesn't matter what your encoding settings are as long as you upload something decent in quality. It doesn't look at, or factor in the encoding settings you used ; all it "sees" is uncompressed video as it decodes it.

    Your movement in that sequence is too rapid, too twitchy. Other people might have slightly higher quality, because they aren't jerking around, their movement slower. That's all it comes down to - content complexity. In long GOP compression , the differences between frames are stored. Big difference from fast movement, means big frames bitrate wise. Since YT doesn't give enough for that scenario, the picture breaks apart. You can see major problems in that link as well that you said was "nicer" . (I guess it is "nicer", but still looks very bad in sections) . So if you played like a "sniper", with very little movement - guess what - the picture quality will look much better because it 's easier to compress

    So the biggest difference you can make, will be in processing . (eg. the type of editing - a long action sequence without interruptions or breaks will look worse than one that has breaks edited in) . Motion blur, denoising , selective focus (shallow depth of field) - those things all reduce required bitrate for compression and subjective quality when viewed on youtube
    Quote Quote  
  21. Member
    Join Date
    Sep 2014
    Location
    Prague
    Search PM
    Understood.

    I will probably not get to it sooner then on monday, but I will certainly try some of your tips.

    Thank you for your time!
    Quote Quote  
  22. Originally Posted by LyrickCZE View Post
    Having hard time understanding some of your settings, but trying to make something close using the FFmpeg documentation.
    For some reason, I cant find the ipratio parameter though : /

    QP method and zerolatency seems to be main changes there (hope Im correct), so I will give it some testing and report back..

    Thanks, Lyr.
    Once again - my example is not to provide high quality for YT but to provide fastest encoding before uploading movie to YT where YT do own re-encoding anyway. There huge number of guides where people struggle and encode movies to be uploaded to YT where some slow and HQ presets are in use then after upload, YT anyway re-encode such video to own, common denominator.

    And as poisondeathray pointed - i suggest only to shift time from video encoding to video pre-processing, also i disagree with poisondeathray that up-sizing to 1080 have no sense - from YT approach it have perfect sense - one thing you need to remember to watch such video back in 720p size - blockines should be reduced.
    Quote Quote  
  23. Originally Posted by LyrickCZE View Post
    Here is a nice example how much nicer it can look in practically same game:
    https://www.youtube.com/watch?v=Bj8WQoa1xpY
    That video is much better antialiased than yours. It also has a lot more depth-of-field blur effects. And large areas of open sky with little detail in many shots. Those things make it much more compressible. Even the lower contrast ratio helps.
    Quote Quote  
  24. Can you check with one of your sources (before upload to YT) bellow settings?
    Code:
    @set x264opts="level=5:qp=25:cabac=1:colorprim=bt709:transfer=bt709:colormatrix=bt709:fullrange=on:overscan=show:pic-struct=1:force-cfr=1:aud=1:threads=auto"
    @ffmpeg -threads %NUMBER_OF_PROCESSORS%*1.5 -i %1 -c:v libx264 -preset ultrafast -tune animation -profile:v high -x264opts %x264opts% -x264-params %x264opts% -vf hqdn3d=8:8:8:8,scale="'if(gt(a,16/9),1920,-1)':'if(gt(a,16/9),-1,1080)':sws_flags=spline",pad=1920:1080:(ow-iw)/2:0 -af "aresample=resampler=soxr:osr=44100:cutoff=0.95" -strict experimental -c:a aac -b:a 320k -ac 2 -shortest -movflags faststart %1_1080_f.mp4
    @ffmpeg -threads %NUMBER_OF_PROCESSORS%*1.5 -i %1 -c:v libx264 -preset ultrafast -tune animation -profile:v high -x264opts %x264opts% -x264-params %x264opts% -vf scale="'if(gt(a,16/9),1920,-1)':'if(gt(a,16/9),-1,1080)':sws_flags=spline",pad=1920:1080:(ow-iw)/2:0 -af "aresample=resampler=soxr:osr=44100:cutoff=0.95" -strict experimental -c:a aac -b:a 320k -ac 2 -shortest -movflags faststart %1_1080.mp4
    @ffmpeg -threads %NUMBER_OF_PROCESSORS%*1.5 -i %1 -c:v libx264 -preset ultrafast -tune animation -profile:v high -x264opts %x264opts% -x264-params %x264opts% -vf hqdn3d=8:8:8:8 -af "aresample=resampler=soxr:osr=44100:cutoff=0.95" -strict experimental -c:a aac -b:a 320k -ac 2 -shortest -movflags faststart %1_720_f.mp4
    @ffmpeg -threads %NUMBER_OF_PROCESSORS%*1.5 -i %1 -c:v libx264 -preset ultrafast -tune animation -profile:v high -x264opts %x264opts% -x264-params %x264opts% -af "aresample=resampler=soxr:osr=44100:cutoff=0.95" -strict experimental -c:a aac -b:a 320k -ac 2 -shortest -movflags faststart %1_720.mp4
    
    @pause
    Quote Quote  
  25. Originally Posted by pandy View Post
    Can you check with one of your sources (before upload to YT) bellow settings?
    Code:
    @set x264opts="level=5:qp=25:cabac=1:colorprim=bt709:transfer=bt709:colormatrix=bt709:fullrange=on:overscan=show:pic-struct=1:force-cfr=1:aud=1:threads=auto"
    @ffmpeg -threads %NUMBER_OF_PROCESSORS%*1.5 -i %1 -c:v libx264 -preset ultrafast -tune animation -profile:v high -x264opts %x264opts% -x264-params %x264opts% -vf hqdn3d=8:8:8:8,scale="'if(gt(a,16/9),1920,-1)':'if(gt(a,16/9),-1,1080)':sws_flags=spline",pad=1920:1080:(ow-iw)/2:0 -af "aresample=resampler=soxr:osr=44100:cutoff=0.95" -strict experimental -c:a aac -b:a 320k -ac 2 -shortest -movflags faststart %1_1080_f.mp4
    @ffmpeg -threads %NUMBER_OF_PROCESSORS%*1.5 -i %1 -c:v libx264 -preset ultrafast -tune animation -profile:v high -x264opts %x264opts% -x264-params %x264opts% -vf scale="'if(gt(a,16/9),1920,-1)':'if(gt(a,16/9),-1,1080)':sws_flags=spline",pad=1920:1080:(ow-iw)/2:0 -af "aresample=resampler=soxr:osr=44100:cutoff=0.95" -strict experimental -c:a aac -b:a 320k -ac 2 -shortest -movflags faststart %1_1080.mp4
    @ffmpeg -threads %NUMBER_OF_PROCESSORS%*1.5 -i %1 -c:v libx264 -preset ultrafast -tune animation -profile:v high -x264opts %x264opts% -x264-params %x264opts% -vf hqdn3d=8:8:8:8 -af "aresample=resampler=soxr:osr=44100:cutoff=0.95" -strict experimental -c:a aac -b:a 320k -ac 2 -shortest -movflags faststart %1_720_f.mp4
    @ffmpeg -threads %NUMBER_OF_PROCESSORS%*1.5 -i %1 -c:v libx264 -preset ultrafast -tune animation -profile:v high -x264opts %x264opts% -x264-params %x264opts% -af "aresample=resampler=soxr:osr=44100:cutoff=0.95" -strict experimental -c:a aac -b:a 320k -ac 2 -shortest -movflags faststart %1_720.mp4
    
    @pause
    How can use this code for encoding by ffmpeg? Can you explain steps by screen shot?
    Quote Quote  
Visit our sponsor! Try DVDFab and backup Blu-rays!