MPEG Smartrender question
Moderator: Ken Berry
MPEG Smartrender question
I know VS11+ will do smart rendering of MPEGs and not re-encode them. Why then is the source MPEG different from the one created by VS11+? Here's what I did...
I took an MPEG from my computer and put it on the timeline (with no changes to it). I set the field order to Upper Field First (the way the MPEG is). I then used the MPEG Optimizer and saw that none of the file needed to be re-encoded and created a new file. I expected the new file to be identical to the source file, but it is not. When I play them back they look the same, but the file sizes are different and when using a HEX editor, I can see that the content is completedly different between the two.
Any ideas what's really happening here?
Thanks,
Rich
I took an MPEG from my computer and put it on the timeline (with no changes to it). I set the field order to Upper Field First (the way the MPEG is). I then used the MPEG Optimizer and saw that none of the file needed to be re-encoded and created a new file. I expected the new file to be identical to the source file, but it is not. When I play them back they look the same, but the file sizes are different and when using a HEX editor, I can see that the content is completedly different between the two.
Any ideas what's really happening here?
Thanks,
Rich
-
Black Lab
- Posts: 7429
- Joined: Wed Dec 15, 2004 3:11 pm
- System_Drive: C
- 32bit or 64bit: 64 Bit
- Location: Pottstown, Pennsylvania, USA
Well, what are your clip properties and what are your project properties?
Jeff
Dentler's Dog Training, LLC
http://www.dentlersdogtraining.com
http://www.facebook.com/dentlersdogtraining
Dentler's Dog Training, LLC
http://www.dentlersdogtraining.com
http://www.facebook.com/dentlersdogtraining
- Ken Berry
- Site Admin
- Posts: 22481
- Joined: Fri Dec 10, 2004 9:36 pm
- System_Drive: C
- 32bit or 64bit: 64 Bit
- motherboard: Gigabyte B550M DS3H AC
- processor: AMD Ryzen 9 5900X
- ram: 32 GB DDR4
- Video Card: AMD RX 6600 XT
- Hard_Drive_Capacity: 1 TB SSD + 2 TB HDD
- Monitor/Display Make & Model: Kogan 32" 4K 3840 x 2160
- Corel programs: VS2022; PSP2023; DRAW2021; Painter 2022
- Location: Levin, New Zealand
The properties were the same except for the Max Bitrate (project=8000, clip=9400), but none of the compression items should matter because it's not re-rendering the clip.
Yes, smartrender was on and I know it wasn't doing any rendering because it immediately starting writing to the hard drive. Without smartrendering the machine will process the file for quite some time before it starts writing the file.
I have tried this with many different clips and it always does this. I would think that if it's truely not doing anything to the clip, then the output file should be identical to the input file. Can someone else try and see what happens? I'm obsessed with making sure I don't lose any quality.
Rich
Yes, smartrender was on and I know it wasn't doing any rendering because it immediately starting writing to the hard drive. Without smartrendering the machine will process the file for quite some time before it starts writing the file.
I have tried this with many different clips and it always does this. I would think that if it's truely not doing anything to the clip, then the output file should be identical to the input file. Can someone else try and see what happens? I'm obsessed with making sure I don't lose any quality.
Rich
-
sjj1805
- Posts: 14383
- Joined: Wed Jan 26, 2005 7:20 am
- System_Drive: C
- 32bit or 64bit: 32 Bit
- motherboard: Equium P200-178
- processor: Intel Pentium Dual-Core Processor T2080
- ram: 2 GB
- Video Card: Intel 945 Express
- sound_card: Intel GMA 950
- Hard_Drive_Capacity: 1160 GB
- Location: Birmingham UK
Read the previous reply.richlux wrote:The properties were the same except for the Max Bitrate (project=8000, clip=9400), but none of the compression items should matter because it's not re-rendering the clip.
Yes, smartrender was on and I know it wasn't doing any rendering because it immediately starting writing to the hard drive. Without smartrendering the machine will process the file for quite some time before it starts writing the file.
I have tried this with many different clips and it always does this. I would think that if it's truely not doing anything to the clip, then the output file should be identical to the input file. Can someone else try and see what happens? I'm obsessed with making sure I don't lose any quality.
Rich
Can you do a binary filecompare (fc) on the two. Just run the following command at a command prompt. It will tell you if they truely are binary duplicates...sjj1805 wrote:I just took a short mpg clip 6966 KB and smart rendered it with VS11.5+ and it came out at exactly 6966 KB.
fc/b <firstfile> <secondfile>
Thanks,
Rich
Rich,
That's no exactly how smartrender works, the new video file stills get re-timestamped but not re-encoded.
If the video was constructed using a different encoder there can be many settings that aren't the same as the ulead encoder, both the videos can still be mpeg2 complaint though.
But, for example one encoder could have made the mpeg2 file as -VR compliant, you wouldn't know this. VS will re-code it as standard mpeg2.
The important point is that the new file is produced quickly without re-rendering and still plays properly.
Different encoders will write a mpeg2 file somewhat differently and the mpeg2 file can still be mpeg2 compliant.
That's no exactly how smartrender works, the new video file stills get re-timestamped but not re-encoded.
If the video was constructed using a different encoder there can be many settings that aren't the same as the ulead encoder, both the videos can still be mpeg2 complaint though.
But, for example one encoder could have made the mpeg2 file as -VR compliant, you wouldn't know this. VS will re-code it as standard mpeg2.
The important point is that the new file is produced quickly without re-rendering and still plays properly.
Different encoders will write a mpeg2 file somewhat differently and the mpeg2 file can still be mpeg2 compliant.
Hmmmm.... I thought that "encoding" and "rendering" were the same thing. Are you saying they are different? So the output file can be different from a binary perspective but still contain the identical frames as the input file? Do you know if there are any sites that explain this in layman's terms?
I just want to make sure that VS isn't doing anything that could affect quality because part of what I'm doing is using VS to split large MPEGs into smaller ones for other uses and want to make sure the smaller ones are just cuts from the original with nothing added or removed.
Here's a little more info about the file I'm working with.... The file was imported using VS11+ from a miniDVD created by my Canon DC100 camcorder (in standard DVD format, not VR). Since the file was imported by VS and then export by VS I would have assumed they should be identical.
Thanks for all the info,
Rich
I just want to make sure that VS isn't doing anything that could affect quality because part of what I'm doing is using VS to split large MPEGs into smaller ones for other uses and want to make sure the smaller ones are just cuts from the original with nothing added or removed.
Here's a little more info about the file I'm working with.... The file was imported using VS11+ from a miniDVD created by my Canon DC100 camcorder (in standard DVD format, not VR). Since the file was imported by VS and then export by VS I would have assumed they should be identical.
Thanks for all the info,
Rich
Black Preview Screen = Smart Render
Except that nothing you've said thus far makes us think you've actually set the same bitrate for your output as for the source file!richlux wrote:It looks like I'm going to have to "trust" VideoStudio when it tells me that my file will not be re-encoded because no matter what I do to test this, the resulting MPEG file is never the same as my input file
When the Smart Render function works, you should notice that the preview screen goes black during rendering - since the video is not actually being re-rendered, but merely written to another file. If Smart Rendering is not working, you'll see the video in the preview screen as rendering progresses.
I did a test Smart Render of a test mpg file of 145,524 KB, produced by VS11+ from a miniDV avi original. The resulting Smart Rendered file was 143,558 KB. When I Smart Rendered that file, the resulting file was 143,558 KB. Just to be certain, I Smart Rendered that one, giving another 143,558 KB file. So it would seem that the initial Smart render does something minor, perhaps to the header info, as your hex editor viewing might indicate.
JVC GR-DV3000u Panasonic FZ8 VS 7SE Basic - X2
That's because there's no way to set the bitrate to 9400. The bitrate must be between 7000 and 8264. However, everything else was identical AND, according to VS, the properies of the output file are identical to those of the input file (yes, even the bitrate says 9400).
Also, I am confident that VS is not "re-encoding" per-se because when VS renders the file, the preview screen is black and, as I mentioned, it starts writing the file to disk immediately. If I add a video effect to it, then it encodes the file (I see it in the preview screen) and it writes the file to disk much much slower.
I've tried working with other MPEGs and I get the same results (I should add that these are all widescreen (16:9)). That said, I've done more tests and found that if I do a Share/Create Video File in VS to create a new file and then do my tests with that new file, it will produce output that is 100% identical to the input file. It's almost as if the files outputted from VS11 are written a certain way even though they are not re-encoded (if you can understand what I mean).
For those people above who have done tests, was the file you were working with a new MPEG or did it come out of VideoStudio?
I can send a small clip to test with if someone is willing.
Thanks,
Rich
Also, I am confident that VS is not "re-encoding" per-se because when VS renders the file, the preview screen is black and, as I mentioned, it starts writing the file to disk immediately. If I add a video effect to it, then it encodes the file (I see it in the preview screen) and it writes the file to disk much much slower.
I've tried working with other MPEGs and I get the same results (I should add that these are all widescreen (16:9)). That said, I've done more tests and found that if I do a Share/Create Video File in VS to create a new file and then do my tests with that new file, it will produce output that is 100% identical to the input file. It's almost as if the files outputted from VS11 are written a certain way even though they are not re-encoded (if you can understand what I mean).
For those people above who have done tests, was the file you were working with a new MPEG or did it come out of VideoStudio?
I can send a small clip to test with if someone is willing.
Thanks,
Rich
Ok, I think I've figured out what's going on and it has to do with the fact that these are 16:9 files.
These files were imported from a widescreen (16:9) DVD camcorder. According to VS, they are 16:9 and they play back in preview mode as 16:9. However, Windows Media Player plays them back with the video squished in 4:3 mode and Gspot (a free video analyzer) reports that the MPEG is actually 4:3. The resulting video out of VS, however, plays as 16:9 in Windows Media Player and Gspot reports it to be 16:9.
Know I don't know alot about video encoding, but I believe this is happening because the source file is actually in Anamorphic Widescreen mode (http://en.wikipedia.org/wiki/Anamorphic_widescreen). So VS is not re-encoding the file, it's just changing elements about the video stream.
I'd love to know what it's changing and why, but I have a feeling only the developers at Ulead know the answer
Thanks,
Rich
These files were imported from a widescreen (16:9) DVD camcorder. According to VS, they are 16:9 and they play back in preview mode as 16:9. However, Windows Media Player plays them back with the video squished in 4:3 mode and Gspot (a free video analyzer) reports that the MPEG is actually 4:3. The resulting video out of VS, however, plays as 16:9 in Windows Media Player and Gspot reports it to be 16:9.
Know I don't know alot about video encoding, but I believe this is happening because the source file is actually in Anamorphic Widescreen mode (http://en.wikipedia.org/wiki/Anamorphic_widescreen). So VS is not re-encoding the file, it's just changing elements about the video stream.
I'd love to know what it's changing and why, but I have a feeling only the developers at Ulead know the answer
Thanks,
Rich
Ah now you tell us! :))
It's always good to know the source file format - it actually helps you to figure out what's going on.
The maximum 8264 kbps video data rate will apply if the audio is LPCM format. If you use compressed audio, you can get to 9400kbps and beyond. To be DVD compliant, the combined video and audio stream has to be within a set limit.
You would surely have noticed if your 16:9 video was being played back in 4:3 format! VS will normally detect the input file properties, and the fact that you managed to get Smart Render to work (as evidenced by the short "render" time and the black preview screen) shows that it has done so. The slight increase in file size is a bit of a mystery - but perhaps you can easily confirm, for your own peace of mind, that there is no further increase if you make a second generation Smart Rendered file. Try it.
If you're concerned about image quality losses, try making a 10th generation Smart rendered test file and compare it to the original.
You should be careful with your workflow, however, since mpeg2 is not a format intended for editing. Ideally you'd produce a single, large project mpeg2 file, as per the recommended procedure, from your camcorder source files on the timeline. With Smart Render enabled, only transitions and sections with filters or titles would be re-rendered.
With any mpeg2 editing in VS, you will get some artefacts at transitions.
The maximum 8264 kbps video data rate will apply if the audio is LPCM format. If you use compressed audio, you can get to 9400kbps and beyond. To be DVD compliant, the combined video and audio stream has to be within a set limit.
You would surely have noticed if your 16:9 video was being played back in 4:3 format! VS will normally detect the input file properties, and the fact that you managed to get Smart Render to work (as evidenced by the short "render" time and the black preview screen) shows that it has done so. The slight increase in file size is a bit of a mystery - but perhaps you can easily confirm, for your own peace of mind, that there is no further increase if you make a second generation Smart Rendered file. Try it.
If you're concerned about image quality losses, try making a 10th generation Smart rendered test file and compare it to the original.
You should be careful with your workflow, however, since mpeg2 is not a format intended for editing. Ideally you'd produce a single, large project mpeg2 file, as per the recommended procedure, from your camcorder source files on the timeline. With Smart Render enabled, only transitions and sections with filters or titles would be re-rendered.
With any mpeg2 editing in VS, you will get some artefacts at transitions.
JVC GR-DV3000u Panasonic FZ8 VS 7SE Basic - X2
Re: Ah now you tell us! :))
That's exactly what I'm doing and I wanted to make sure it truly is only re-rendering the transitions (I don't use filters because I don't want the MPEG to be re-rendered).2Dogs wrote: You should be careful with your workflow, however, since mpeg2 is not a format intended for editing. Ideally you'd produce a single, large project mpeg2 file, as per the recommended procedure, from your camcorder source files on the timeline. With Smart Render enabled, only transitions and sections with filters or titles would be re-rendered.
Thats a great idea.... I just did this and after the first generation, all the others are exactly the same (filesize and all) so I guess it does work. I would still like to know what it's doing to the first generation, but I'm pretty confident it's not re-rendering.2Dogs wrote:If you're concerned about image quality losses, try making a 10th generation Smart rendered test file and compare it to the original.
Thanks,
Rich
