VideoHelp Forum
+ Reply to Thread
Results 1 to 23 of 23
Thread
  1. Is it possible to force an encoder to create a video file with 720p@30fps while using a main profile level 3.0? If so, would there be a significant quality difference as opposed to using main profile level 3.1?

    I ask because I have some video files that show this, but I cannot find any documentation anywhere suggesting this is a common practice or even allowed.

    Thank you!
    If everything is infinite then nothing is definite.
    Quote Quote  
  2. It was answered in your other thread

    If encoder abides by strict rules, the level and profile place upper limits on what is allowed. Thus the set level and profile dictate the theoretical maximum quality . The strict encoder won't allow you to go beyond. That's just the theoretical upper limit - because there are large quality differences between settings and encoders even at the same level and profile and bitrate

    If encoder doesn't abide, then level and profile are irrelevant and there is no difference. For example, old x264 versions only gave you a warning, yet produced a working video. Newer x264 versions abide by the rules, and place limits

    You can "patch" the name to whatever you want - BUT it would be the same video underneath. Thus no difference in quality in that case

    How the recieving HW or SW decoder is another story - sometimes there are limits placed just because of the "label" . As soon as some "see" the word high or a certain number, it will refuse to decode. Software decoders on a computer are usually less problematic - they can play anything

    You don't see it often because it's "bad practice" to use the wrong "label" . If I have a Honda Civic, all the paint jobs in the world doesn't make it a Ferrari. Underneath it's still a Honda Civic.

    Changing the level and profile is more often done, when a level and/or profile is too high for the actual video. For example , if I set it High@L5.2 , but nothing about the actual video characteristics makes it that high - it may be refused to play on some HW chipsets which usually have a limit of High@L4.1. You would patch it to the proper level matching the content thus enabling it to play without re-encoding or losing quality

    I attached an example of this bad practice below - so yes it's possible.
    Image Attached Files
    Quote Quote  
  3. It was said once here that LEVEL is just a label .... It just should be correct considering frame rate, resolution and bitrate, profile following this table: https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels

    but it is just a label, that player might read and refuse that video because it was designed to not read higher levels or player just might ignore and it will play the file


    x264 encoder can set level automatically, because it sets it following that table above, depending on what the input is (frame rate, resolution, setting buffers), so for example, your video, 720p30, x264 might encode video with level set to 3.1 because you limit buffers to 10.000, but setting buffers to 20.000 limit (--vbv-bufsize 20000 --vbv-maxrate 20000 ) would set level to 3.2 etc... how accurate the encoder is , not sure if 100%, perhaps not, but I have a good experience with it ...
    Last edited by _Al_; 18th Mar 2015 at 08:59.
    Quote Quote  
  4. Thanks for the info, guys. I can see how it would be construed as just a label, but it seems to be more. If they were only that then one label would fit all. But maybe the point trying to be made is really that because you can force parameters, it becomes just a label at that point.

    @poisondeath - Thank you for the sample.
    @_AI_ - The Wikipedia page is one I spent a bit of time on before posting here. Which is partially why I wanted to find out if this could be done.

    I was fairly sure that the answer was yes if going beyond constraints, but I wanted confirmation since I could not find any credible sources that suggested that.

    Does anyone know of a program that I can actually perform such a feat? Professional NLE's won't allow it. But I am hoping there is something where I could run a couple of tests since the videos in question seem to be subpar quality in comparison to what 720p should look like. I am trying to discern if it could be a profile issue or more of a settings issue.

    Thanks!
    If everything is infinite then nothing is definite.
    Quote Quote  
  5. encoding 3.1 will not improve your quality as oppose setting it to 3.0, providing encoder would not set something else behind scenes, like rising maximum bitrate values where encoder actually would distribute higher maximum peaks to keep certain quality , using low CRF values ...

    test it with a front end x264 encoder , check videohelp here, whatever would suit you,

    or to go down to the basics using just a command line, to have those variables under control so to speak, with no limit for bitrate, you'd get the same volume encoding using:
    Code:
    x264.exe --crf 18 --profile High --level 3.0 --output raw_video.264  input.avs
    x264.exe --crf 18 --profile High --level 3.1 --output raw_video.264  input.avs
    so getting exactly same volume you can extrapolate to same quality in this case ...
    Last edited by _Al_; 18th Mar 2015 at 10:28.
    Quote Quote  
  6. Thanks, I actually already used FFMpeg and realized there is no benefit to the higher profile unless I can increase quality settings (which can't be done for my circumstances).
    If everything is infinite then nothing is definite.
    Quote Quote  
  7. It's just a label. That's all it is. It might or might not indicate anything about the actual video.

    There are hundreds of possible reasons for "sub par" quality . The level and profile used are way down on that list (even if you use an encoder that enforces them). You're looking at the wrong things first

    If you want to play with levels and profiles as a "label", use an old x264 binary from a few years ago. That's what I used to produce that example above . Newer versions doen't let you violate profile and levels restrictions - if you set vbv constraints
    Quote Quote  
  8. I've seen a few tests done and where quality was concerned. A higher bitrate with identical resolutions and frame rates visually showed no difference. However, at LOW bitrates, profiles did seem to matter in terms of quality. I am not one to go for the lowest possible bitrate though...

    This is actually one of the last things I'm looking at as I'm being told it's not the encoding settings, although I have little doubt that they are. I have one more test to run before knowing that they are, but that is neither here nor there. I just appreciate everyone replying and giving what information they can.
    If everything is infinite then nothing is definite.
    Quote Quote  
  9. Originally Posted by Thommers View Post
    I've seen a few tests done and where quality was concerned. A higher bitrate with identical resolutions and frame rates visually showed no difference. However, at LOW bitrates, profiles did seem to matter in terms of quality. I am not one to go for the lowest possible bitrate though...

    This is actually one of the last things I'm looking at as I'm being told it's not the encoding settings, although I have little doubt that they are. I have one more test to run before knowing that they are, but that is neither here nor there. I just appreciate everyone replying and giving what information they can.

    These are facts, and easily proven:

    1) Differences are difficult to see at high bitrates relative to content complexity - regardless of anything else . Differences are easier to see in the low bitrate range

    2) There can be a disconnect between levels, profiles and the actual video. It doesn't necessarily indicate anything about the video. Even if you use a strict encoder and ensure it plays by the rules, it still doesn't necessarily indicate much about the video - it only places an upper theoretical limit. If I have a Main@L3.1 vs. High@L5.2 at the same bitrate, frame rate and resolution - it says nothing about the actual video. One might be better or worse

    3) There can be large differences in quality between settings used with the same encoder at a given bitrate (thus filesize)

    4) There can be large differences in quality between different encoders with the same bitrate (thus filesize).

    5) The "Gold standard" for AVC/h.264 encoding is x264
    Quote Quote  
  10. I think we're going in circles, and I rather not get into an argument, but I feel like what you are saying reinforces what I am saying. In either case, a label is just a label when all things are equal but differing profiles. If there are differences in quality and all things are still equal but profiles, that is when the label bares importance.

    As you are suggesting, there are many things that can affect file size and video quality. More reference frames can help maintain high quality with a smaller file size. Using CRF, CBR, or VBR can produce great quality differences. So, yes, I am in agreement, a label is a label until it is not.
    If everything is infinite then nothing is definite.
    Quote Quote  
  11. Originally Posted by Thommers View Post
    I think we're going in circles, and I rather not get into an argument, but I feel like what you are saying reinforces what I am saying. In either case, a label is just a label when all things are equal but differing profiles. If there are differences in quality and all things are still equal but profiles, that is when the label bares importance.
    The problem is you haven't given any indication as to whether or not you 've look at the other, more important things

    Are you certain there are no other differences ? Have you looked in any more details ? b-frames, gop size ? etc... Those are more important than labels. Those have functional relevance to compression efficiency . Common things being common, that's where you look first. A label might or might not - its near the bottom of the list - especially (and moreso) since you have videos that clearly have the wrong label

    You haven't given any indication about the workflow history either - many things can negatively impact the video on it's journey. Multiple generations etc...

    As you are suggesting, there are many things that can affect file size and video quality. More reference frames can help maintain high quality with a smaller file size. Using CRF, CBR, or VBR can produce great quality differences. So, yes, I am in agreement, a label is a label until it is not.
    No, only 2 things affects filesize

    Filesize = bitrate*running time
    Quote Quote  
  12. I came to ask about profiles, and I got my answer. There is no actual reason to discuss this further, but I'll humor you. I did give an indication in one of my replies, but it's up to you to read it or not.

    Since you know I had another thread, then you know I can't give a lot of background given that this thread will then be closed. You should then also know that there are many things out of my control, e.g. encoding settings. As my other thread makes evident, there is no workflow in the sense of what you mean.

    I spoke in haste, reference frames affect compression efficiency, not file size. I should have included it as part of visual quality differences.

    If you have anything more that you feel must be said to me, feel free to PM me and I'll get back to you when possible. Otherwise, as stated above, I received my answer and the thread need not live on. Again, I appreciate everyone who replied to this thread and gave me helpful information, even you.
    If everything is infinite then nothing is definite.
    Quote Quote  
  13. Originally Posted by Thommers View Post
    I came to ask about profiles, and I got my answer. There is no actual reason to discuss this further, but I'll humor you. I did give an indication in one of my replies, but it's up to you to read it or not.
    You came to ask about differences in AVC levels, not profiles. You asked about Main@L3.0 vs. Main@L3.1 (the number is the Level, not profile)

    To be 100% clear, you can re-read post #2. Both are really labels, unless enforced . You didn't ask this - but in terms of profiles, if "baseline" profile was enforced for some video, then b-frames and CABAC are not allowed. Yes - that would negatively impact compression efficiency

    Since you know I had another thread, then you know I can't give a lot of background given that this thread will then be closed. You should then also know that there are many things out of my control, e.g. encoding settings. As my other thread makes evident, there is no workflow in the sense of what you mean.
    I didn't have an understanding of that specific software. But it sounds to me like they are emphasizing speed over quality . I thought these questions were about adjusting encoding settings or at least Levels for that software - that was my logical assumption earlier. That's where I'm coming from and my frame of reference. If you cannot adjust the settings, why all the questions about Levels ? You can't do anything about it.
    Quote Quote  
  14. You just want to argue over semantics, so we can do that. I asked about profiles, it may be the same profile with different levels, but that technically still makes it about profiles as much as it is about levels. Without a profile there is no level, so when speaking of a level, you must be speaking of a profile as well. If I ask about a profile at two different levels, then I am asking just that, about profiles at different levels. I never stated I came to ask about different profiles, only you did, so what I stated still stands as true.

    Maybe most interesting is you wanting me to read things (when you don't seem to attempt that). Read my first post because it was never about levels and profiles, it was about if something was possible with a profile at a certain level. Not two profiles at two different levels, but one profile at one level. My later questions were built upon that foundation but still do not hold more significance than the first. So, no, I did not come to ask about the difference in levels, I came to ask if a specified profile and level allowed a specific resolution and frame rate.

    You can reread the entire thread and understand why I was asking what I did. You can actually read the first thread and better understand why I asked. You can use Google to find out about that specific software. Most every question you are asking has been answered, if you read the threads.
    If everything is infinite then nothing is definite.
    Quote Quote  
  15. Originally Posted by Thommers View Post
    You just want to argue over semantics, so we can do that. I asked about profiles, it may be the same profile with different levels, but that technically still makes it about profiles as much as it is about levels. Without a profile there is no level, so when speaking of a level, you must be speaking of a profile as well. If I ask about a profile at two different levels, then I am asking just that, about profiles at different levels. I never stated I came to ask about different profiles, only you did, so what I stated still stands as true.
    I'm not arguing. You may call it semantics , but I call it important details. If you spew forth inaccuracies, some other guy is going to read it and think it's true. And someone will have to correct their misunderstanding later. You're going to be causing trouble for me and everyone else later. It's happened before. That's why I'm making a big deal out of it. That's why I'm not doing this in PM and not letting it go

    Profile and level are independent entities. It's important to separate them because different limitations are placed if the encoder enforces them

    Maybe most interesting is you wanting me to read things (when you don't seem to attempt that). Read my first post because it was never about levels and profiles, it was about if something was possible with a profile at a certain level. Not two profiles at two different levels, but one profile at one level. My later questions were built upon that foundation but still do not hold more significance than the first. So, no, I did not come to ask about the difference in levels, I came to ask if a specified profile and level allowed a specific resolution and frame rate. You can reread the entire thread and understand why I was asking what I did. You can actually read the first thread and better understand why I asked. You can use Google to find out about that specific software. Most every question you are asking has been answered, if you read the threads.

    Exactly! That is confusing, as everything was already answered in your other thread , and again here. But you went on to say something about various encoding tests , ffmpeg . Obviously you can change the encoding settings there - so the discussion grew beyond the original scope. Is that software using ffmpeg ? Or libx264 ? Did you think applying your tests and observations wtih ffmpeg to that other software is relevant or directly valid? That's why there is some confusion on my part . I have had to make a lot of assumptions to fill in the gaps. The onus shouldn't be on the volunteer providing you free information to use search to fill in the gaps. And I realize the limitations you have with providing information here

    Your posts suggested to me that you were searching for a cause or culprit for the low quality, and I was trying to steer you away from levels and profile as the culprit. That's what the big deal is about for me. Someone is going to read your posts and get the wrong idea with the misinformation

    I'll say it again. It's just a label. Even if encoder enforces strict rules (and again, yours didn't, so that's even more telling - that means it's completely a "label" in your case) it says nothing about the actual quality . The other factors like bitrate, enocding settings, encoding conditions, etc.... are more important to consider .

    Recall what I said about earlier x264 and later x264 versions. If your ffmpeg tests used a more recent binary, then levels and profiles are enforced, if VBV settings were set. Earlier versions only gave you warnings but allowed you to make violations. So be careful what conclusions you come to with your "tests"


    I have a big problem with this statement:
    If there are differences in quality and all things are still equal but profiles, that is when the label bares importance.
    Do you see how this is impossible? All things can't be equal. It's a logically false statement. If the difference was due to different profiles and their imposed limitations, then that means the encoding settings were different. That's where you should be looking

    Now someone is going to ask why isn't the quality better when I use a higher profile blah blah... those types of questions. I'm trying to prevent all those misunderstandings before they occur

    I hope you see why I asked those questions and where I'm coming from

    Cheers
    Last edited by poisondeathray; 19th Mar 2015 at 08:40.
    Quote Quote  
  16. Banned
    Join Date
    Oct 2014
    Location
    Northern California
    Search PM
    Jim: Got some milk for me?
    George: Sure, but I got to tell you, it's not organic!
    Jim: Oh, no, I only drink organic!
    George: Wait Jim, I got an Organic Sticker, let me put in on the milk carton!
    Jim: Wow George, what a great idea! Now I can drink my organic milk!

    Quote Quote  
  17. Good one, hehehe.

    I agree, inaccuracies and clarification is always beneficial for others. Such as clarifying that different profiles yield different visual quality even if identical settings are used to create the video output.

    Logically the statement is valid, being sound is a different matter. And again, I can't look anywhere, I'm fairly sure I expressed that...

    You seem like the type who needs the last word, so I don't doubt that you will reply. As for me, I'm done. I got my answers long ago and while it may seem that I was hoping profiles and levels were the cause of quality concerns, I actually was more hopeful that it would be as it actually is.

    Anyways, I appreciate the help of those that gave it.
    If everything is infinite then nothing is definite.
    Quote Quote  
  18. If identical encoding settings were used (an all other conditions were the same), then the output will be identical, regardless of levels or profile

    You can look elsewhere. There are various stream analyzing utilities , avc analyzers. Start with mediainfo (view=>text) . h264_parse is a free CLI utility. Commercial analyzers like streameye, h264 visa , etc.... They tell you more information about the elementary stream

    It sounds to me , like they emphasize speed (rightly so - they can't be having excessive frame drops with customers with slow computers) .

    Perhaps you can request that they make some more settings available or expose more options



    Last word hahaha
    Quote Quote  
  19. Member WazaKrash's Avatar
    Join Date
    Jan 2015
    Location
    in Europe
    Search Comp PM
    ...it's my last word Jean-pierre

    ptdr! good joke, newp.
    Quote Quote  
  20. The program in question encodes with x264 at fairly low quality settings:

    Code:
    Writing library                          : x264 core 142 r2431 ac76440
    Encoding settings                        : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0x111 / me=dia / subme=4 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=4 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=2 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=1 / keyint=18 / keyint_min=10 / scenecut=40 / intra_refresh=0 / rc_lookahead=0 / rc=cbr / mbtree=0 / bitrate=3200 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=3200 / vbv_bufsize=3200 / nal_hrd=none / filler=0 / ip_ratio=1.41 / pb_ratio=1.30 / aq=1:1.00
    This was a 1280x720 29.97 fps recording at the programs "Max" quality, of a Netflix stream.

    Keep in mind that Netflix streams are not super high quality to begin with.
    Quote Quote  
  21. @jagabo - r2431 is new enough, that it should respect levels and profile restrictions since vbv settings were set - can you post what mediainfo says about profile/level ? x264 shouldn't let you encode 1280x720p30 with main@L3.0 - I'm wondering if they're using a patched or custom build

    Is there an .ini or .config file anywhere? Can you "hack" what settings they are using ?

    Yes, those settings aren't very good and it explains a lot
    Quote Quote  
  22. MediaInfo says this about the MP4 file:

    Code:
    Format profile                           : Main@L3.0
    I never looked to see if there was any way to change how the program records. I'll look for config data later.
    Quote Quote  
  23. And I was wrong about newer builds not allowing you to encode out of spec - it looks like they only give you a warning for the CLI . But some GUI's that use x264 enforce those restrictions
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!