I just have a quick question...
I have a 1080i video at 25fps and I want to convert it to 720p at 50fps. I'm going to be using Handbrake to do this.
My question is: Is this a good idea? I mean, the reason I don't want to just do 720p 25fps is because I am hoping that the video will be smoother at 50fps, will this be the case?
You might be thinking "why don't you just do it and see for yourself", well, simply because the file is very large and will probably take about 2 hours to encode. So I'd like to know before I start encoding.
Thanks in advance
Edit: The video is a capture of a sporting match (for anyone who is wondering)
+ Reply to Thread
Results 1 to 30 of 47
First, you're not going to create any new frames, at best you're going to duplicate them, or blend frames together into pudding.
Second, there's no rule that says you have to do a test encode on the WHOLE file.
I don't think that it will playback any smoother.
25 interlaced frames (= 50 fields per second) will be bobbed (each field will be interpolated to 1 frame) to 50 progressive frames, assuming you playback equipment is decent it should do the same during playback,...
So you guys think that it probably won't make any difference whether I do 50 fps or 25 fps?
The point is that 50 progressive frame would contain the same motion information as the 25 interlaced frames, so no gain in smoothness during playback unless the playback equipment doesn't use a bobber.
If the playback equipment does normal deinterlacing (potentially) half the motion infos of the stream will be lost.
-> I would recommend to use a small sample and try on you playback equipment.
ok, got it. Thanks
I've recently encoded interlaced PAL video while de-interlacing to 50fps and the difference between doing it that way and 25fps in terms of smoothness of motion is night and day. I can only assume the video card/TV also de-interlaces to 50fps because it also looks much smoother playing the original video than it does after it's been de-interlaced to 25fps. After watching the original/50fps version and then going back to the 25fps version..... well as I said.... night and day.
I don't use Handbrake so I don't know if it's actually capable of de-interlacing to 50fps or how you'd tell it to do so. I use an AVISynth based encoder GUI (MeGUI) myself which has a few different options for de-interlacing to full frame rate.
If you're not in a hurry though (it's fairly slow) the best deinterlacing I've ever used is an AVISynth script/plugin called QTGMC. It also denoises and sharpens but it looks very natural. Often the encoded video will end up looking better than the original. You'd need to have AVISynth installed and download and put the required components in the AVISynth plugins folder. Then after you've created a script for encoding using a program such as MeGUI you'd open it with notepad and replace the standard de-interlacing with QTGMC. I won't go into great deatail regarding using AVISynth now, but once QTGMC is set up and working all that's required to use it, is adding something like this to the script and it'll de-interlace to full frame rate:
To de-interlace to half frame rate, you'd simply tell AVISynth to drop every second frame after QTGMC has done the de-interlacing:
After having encoded quite a few old interlaced DVDs while de-interlacing to full frame rate recently, I'll never de-interlace to half frame rate again, even if it's just using a standard de-interlacer such as Yadif to do it, rather than using QTGMC.
Here's some short sample clips so you can judge for yourself. "original.mkv" contains the original interlaced mpeg2 video. The "encodes.zip" file contains four encodes. Yadif at 25fps and 50fps, and QTGMC at 25fps and 50fps. I've only ever compared them using my PC while connected to my TV, but to me it's obvious which looks best. Especially when looking at the smoothness of the camera pan in the middle of the clip, but there's also a noticeable difference between de-interlacing methods when you look at the window blind in the top, right hand corner, near the beginning of the clip.
50fps is better than 25fps for each de-interlacing method, but it's also interesting to note that while I used the same CRF value and encoder settings each time, the QTGMC 50fps encode resulted in a smaller file size than Yadif at 25fps.
the QTGMC 50fps encode resulted in a smaller file size than Yadif at 25fps.
In my experience, QTGMC normally gives the smallest output of the available bobbers (tested that extensively when I realized bobbing with Yadif resulted in nearly twice the output size on compression), but the result never got below the normal deinterlaced Yadif.
That's all I used for those little encodes.
Twice the size when using Yadif+Bob sounds like a bit much. I only ran a few test encodes when trying it out to compare it to QTGMC, but as per the little samples I uploaded, Yadif+Bob never approached twice the size of plain old Yadif at 25fps. Somewhere between a 10% and 15% file size increase seems more normal to me, based on my limited experience comparing the two.
Did you test compression with x264 or something else? x264 is frame rate aware, whereas I'm pretty sure Xvid is not, so I'd assume twice the frame rate would mean twice the file size using Xvid, although I've not tested it myself.
Last edited by hello_hello; 7th Mar 2013 at 01:12.
Did you test compression with x264 or something else?
The only real comparison I can offer is the file sizes for the encodes of that entire series. Xvid at 25fps (75% compression according to AutoGK) vs x264/QTGMC at 50fps, CRF18, preset slower. 42 episodes, each 640x480.
Total file size for the AutoGK encodes was 14.0GB. The x264 encodes totalled 14.9GB.
First of all, thanks for the informative post, hello_hello.
I downloaded those files and in my opinion the QTGMC at 50fps looked the best. However, I have no idea what this actually is. I've never used AVISynth, but it looks like I could get good results if I do use it so it would be great if you or someone else would be willing to explain to me how to use it.
Up until today, I had just been encoding my videos with the original frame rate and setting the deinterlace option in Handbrake to 'slower'. I'm content with the 25 fps but when I downloaded a 720p 50fps encode of a football (soccer) match for the first time yesterday, I was amazed at how smooth it looked, and the smoother the video the better when it comes to football matches, in my opinion.
So this is what made me decide to try out 50fps...
So if anyone is willing to help me with AVIsynth, I'd appreciate that very much.
> explain to me how to use it.
reading the starting guides and the documentation of the scripts&filters is the only way to understand Avisynth,..
(side note: to understand scripts like QTGMC, SRestores,... you also need a good grasp on a lot of video/graphic editing methods; so don't be discouraged if you start up with mainly using them as black boxes and learn trhough try&error )
If you'd care to use MeGUI, you can use the File/Open menu and basically follow the prompts to create a script for encoding (you'll add the indexing job to the queue, run it, and then set up the encode). It's really no different to setting up an encode with the average encoder GUI in terms of cropping and resizing etc. You set up the audio and video encoders in MeGUI's main window, then to output a completed file, use the AutoEncode button down the bottom. If you want to keep the original audio rather than re-encode it, use the "x" button to clear the audio section before using AutoEncode, then add the original audio stream to the encoding job when the AutoEncode window opens.
For the moment, play around with using MeGUI. When you're setting up an encode in the script creator window, let MeGUI analyse it under the filters tab. If it's purely interlaced PAL, it should automatically select Interlaced and Yadif. Change "Yadif" to "Yadif (with Bob)" and you'll be de-interlacing to 50fps.
If you don't want to encode the whole video while testing, once MeGUI has saved the script for encoding, use the AVS Cutter under the tools menu to open the saved script and specify the start and end points for encoding, then save the cuts to the script. That way you can just encode a few minutes of it to see what the different de-interlacing methods look like.
Once you have the hang of MeGUI, I can explain how to install QTGMC and manually change the de-interlacing in the script to use it for de-interlacing instead. Keep in mind though, QTGMC can be very slow, especially when de-interlacing HD video. If Yadif+Bob or one of the other 50fps de-interlacing methods gives you satisfactory results, you might consider using one of the standard de-interlacing methods instead. See how you go.....
At the moment I'm running a couple of 640x480 test encodes using QTGMC and Yadif to post the results for Selur. Same script, only different de-interlacing. My old dual core is managing 32fps de-interlacing with Yadif. As I don't use the multi-threaded version of AVISynth, the quadcore is only managing around 7fps with QTGMC de-interlacing. Although at least with it, I can run two QTGMC encodes at a time to keep the CPU busy.
Last edited by hello_hello; 7th Mar 2013 at 02:07.
I ran 4 test encodes over a 30 minute episode to see what the different files sizes would be. No other filtering, same cropping and resizing. Default x264 settings and CRF18. I'll admit I cheated a little when it comes to the QTGMC tests. I only let those encodes run to 40% and used the predicted file size for the result as they're so slow. It should still offer a fairly good idea of what to expect though.
Yadif for 25fps: 339.7MB
Yadif+Bob for 50fps: 369.2MB
QTGMC(sharpness=0.7)+SelectEven() for 25fps: 292.8MB
QTGMC(sharpness=0.7) for 50fps: 318.6MB
I just realised you said in your earlier post you tested x264 encoding and frame rates using constant quantizer encoding. I guess that makes more sense regarding the output file sizes you experienced. I've only run the encodes using the constant quality mode.
Thankfully that's done. It's a really hot day here and the dual core's temperature alarm constantly going off was getting quite irritating, and copying files back and forth just to slow the encoding a little seems a bit silly. If MeGUI had a "go slow" button it'd be handy on days like this. I should have set the alarm temperature a little higher than 80 degrees in the BIOS.
just out of curiosity, could you also make an encode with QTGMC(), without the sharpness=0.7?
Last edited by Selur; 7th Mar 2013 at 05:18.
OK, so I just did a couple of tests with handbrake and made 2 encodes of a 1 minute cut from the video, with the exact same setting each time, except one with 25fps and the other with 50fps. I've watched each test about 5 times each, and didn't notice any real difference in smoothness. So I think I will just stick with 25fps for now.
I was willing to learn about AVIsynth a few hours ago, but it's late here now, and I don't have the energy to do so right now, and like I said, I think I will just stick with 25fps.
I appreciate everyone's help, especially hello_hello's.
So I started again, but given at 7fps it takes my PC a little over an hour to encode 10 minutes of 50fps video..... I just encoded ten minutes of it each time. 640x480, CRF18 again.
Yadif for 25fps: 124.4MB
Yadif+Bob for 50fps: 137.5MB
QTGMC(sharpness=0.7)+SelectEven() for 25fps: 106.7MB
QTGMC(sharpness=0.7) for 50fps: 115.0MB
QTGMC()+SelectEven() for 25fps: 110.1MB
QTGMC() for 50fps: 118.9MB
How's this for a massive difference? Aside from the obvious difference in movement, the way the text is de-interlaced is chalk an cheese. Have a look at the way it scrolls across the screen towards the end. The Yadif 50fps encode produced a result very similar to QTGMC at 50fps, but QTGMC still did a better job. The Yadif 50fps version had a fraction more wobble around the edges of the text but it looked quite acceptable and still scrolled perfectly smoothly. Much better than Yadif at 25fps which is fairly terrible. The QTGMC sample is the one from the encode without "sharpness=0.7". Reducing the sharpness that way only makes a slight difference. It just takes the edge off it a little.
In my humble opinion, encoder GUIs should default to de-interlacing to full frame rate these days, given it's no longer much of an issue when it comes to being able to play it using hardware players. Half frame rate de-interlacing should fade away with Xvid.
Post edited to attach the original video, in case anyone wants to try de-interlacing the text for themselves.)
Last edited by hello_hello; 25th Aug 2013 at 23:24.
Handbrake to de-interlace to 50fps? I opened a video with it but can't work out how to do it. I guess there's a way do tell Handbrake to do it if you use "custom" for the de-interlacing method, but I wouldn't know what to enter for the de-interlacing parameters. It has speed de-interlacing presets, but as best as I can tell that relates to how much time Handbrake spends on the de-interlacing (ie the quality) but not which way it de-interlaces.
I tried a HandBrake encode using the slowest de-interlacing setting while encoding the same section of video as the samples I attached to my previous post and the result was identical to the yadif 25fps sample. The output was definitely 25fps.
MeGUI. It has more of a learning curve itself than Handbrake, but it creates the scripts for you, so you don't have to learn how to use AVISynth as such. However because MeGUI uses AVISynth scripts for encoding and doesn't try to hide them from you like some GUIs do, you can look at the scripts it creates and play around with modifying them, learning more about using AVISynth along the way.
Once you've mastered setting up an encode with MeGUI, it shouldn't be too hard to explain how to install QTGMC and manually add it to the scripts MeGUI creates.
Handbrake doesn't support interlaced encoding. At least, not directly. You can manually add the --tff or --bff flags in the custom settings box for x264.
Be sure to disable all the deinterlace options. And don't resize the frame.
At that point I thought the question was whether or not is made sense to reencode the video stream from 25 interlaced to 50 progressive frames to gain smoother playback,....
I read somewhere handbrake added bob deinterlacing recently (maybe it was for the nightly builds only ? )
vidcoder is an alternative front end for handbrake and has added bob deinterlacing
First Beta release! Catches up to HandBrake nightlies with SVN 4937.
- Added PGS (Blu-ray) subtitle support.
- Additional framerates available: 30, 50, 59.94, 60
- Additional sample rates available: 8, 11.025, 12 and 16 kHz
- Additional higher bitrates available for audio.
- Same as Source Constant Framerate available.
- Added Apple TV 3 preset.
- Added new Bob deinterlacing option.
Handbrake will not load avisynth file, explained here: https://forum.handbrake.fr/viewtopic.php?f=23&t=21092 where developer says it never will
Semi-automatic method using Ripbot264 , download it, and whatever it needs to install with it - Avisynth, ffdshow, ....(it will show you after first start what you need)
-download QTGMC, first link: http://forum.doom9.org/showthread.php?t=156028 unpack and put it all into Avisynth plugin folder
-load your video, set whatever you need, maybe even you can set to just copy audio stream
-now here comes the part to add QTGMC :
while in edit job window, choose properties, if on the right upper hand it reads: "show margins", you can see right away avisynth script that ripbot264 generated , if you see: "show script", then you have to click on it to see your script,
then you just find line that starts with word "video", and you add manually this line underneath:
Or you do not have to use ripbot264, using any h.264 encoder that can load Avisynth script, you learn how to create Avisynth script yourself, and how to load your video in it (depends what kind of video it is , mp4 or mpeg2 or wmv, all need different approach to load it.
Originally Posted by hello_hello
Originally Posted by hello_hello
Under the 'Picture' tab...
Width: 1280, Height: 720
Under the 'Video Filters' tab...
Grayscale Encoding (Left Unchecked)
Under the 'Video' tab...
Video Codec: H.264 (x264)
Framerate: Same as source (which is 25fps)
Variable Framerate (Checked)
Constant Quality (Left Unchecked)
Average Bitrate (kbps): 6000
I did the exact same for the second test, except changed the framerate to 50fps instead of 'same as source' (25fps), but this time I selected 'Constant Framerate' instead of 'Variable Framerate', because at first when I set the framerate to 50, Handbrake gave me the option to have 'Peak framerate' and automatically checked it. I used this first but MediaInfo told me the video was still 25fps, even though I chose 50fps. So then I chose 'Constant Framerate' and MediaInfo told me that the video was 50fps, however there was no visible improvement in the smoothness of the video.
If anyone is interested, I can upload a small sample of the 720p 50fps video that I downloaded (the video which prompted me to try encoding to 50fps myself) and a small sample of the 50fps test that I did with Handbrake.
I have no idea how the 720p 50fps video was encoded, but whoever did it, did a very good job.
I remember nobody was really I mean seriously using bob deinterlace until TempGaussMC showed up it had that decisive wow moment so it was worthy to do it. Is that right? TempGaussMC was QTGMC predecessor. Not sure if you can do it right within Handbrake.
The whole point of bob deinterlace is to not let TV or player to deinterlace for whatever reason, or if player cannot handle interlace footage, or if you want to have it stored just progressive and get rid of that interlace footage for good. Downfall is that 50p could be problematic with some hardware devices.
So if the quality of bob deinterlace is not the best, just leave it interlace.
The way I understand it, the problem with encoding it interlaced (and I'll admit I've never done it myself) is you can't resize the image if you encode it that way without it turning into a mess, and KyleMadrid wants to resize it down.
I discovered I was using a version of HandBrake slightly older than the latest official release (0.9.6) which doesn't have an option to increase the frame rate beyond 29.970fps, so I upgraded to version 0.9.8 and tried again. Here's what appears to be happening.....
When you de-interlace the video, HandBrake de-interlaces to 25fps, but by choosing a 50fps constant frame rate for the output, you're telling it to convert the 25fps video (after de-interlacing) to 50fps. The end result is you still have 25fps video, but to give you the 50fps you requested, HandBrake repeats every frame. So it makes perfect sense it looks exactly the same either way, because effectively it is.
If you're viewing the 25fps video on a display refreshing at 50Hz (ie PAL TV) then the TV displays each frame for two screen refreshes (hence movement isn't perfectly smooth). If you view the 50fps video Handbrake created on the same TV, the TV is only displaying each frame for a single screen refresh, but the duplicate frames are encoded into the video instead. So the end result is it probably looks exactly the same either way.
I don't know which media player you're using, but if you try MPC-HC, it has an button on the bottom seek bar to step through the video one frame at a time. If you open the 25fps HandBrake encode, you'll see every time you step to the next frame, the frame changes. If you do the same thing with the 50fps HandBrake encode, you'll quickly see that it's really only 25fps video, except every frame is repeated.
So as per poisondeathray's earlier post, if you want to de-interlace to 50fps with HandBrake, you'd probably need to use one of the nightly builds which apparently has an option to choose "Bob deinterlacing" which should de-interlace to 50fps. Or try VidCoder. It's an alternative HandBrake GUI which tends to be updates more regularly than HandBrake itself and tends to have a few more features. The current "stable" VidCoder release doesn't appear to include Bob deinterlacing, but according to the info poisondeathray posted, the latest beta version does.