VideoHelp Forum




+ Reply to Thread
Results 1 to 17 of 17
  1. is H264 encode means it's GPU encode? H264 encode is different than x264 right? i found a file which title has "H264" but inside media info i found x264. could you please tell me if the video encode settings x264 or h264 from the following media info:


    media info:
    Code:
    Video
    ID                                       : 1
    Format                                   : AVC
    Format/Info                              : Advanced Video Codec
    Format profile                           : High@L4.1
    Format settings, CABAC                   : Yes
    Format settings, ReFrames                : 4 frames
    Codec ID                                 : avc1
    Codec ID/Info                            : Advanced Video Coding
    Duration                                 : 2 h 21 min
    Bit rate                                 : 2 500 kb/s
    Width                                    : 1 920 pixels
    Height                                   : 808 pixels
    Display aspect ratio                     : 2.40:1
    Frame rate mode                          : Constant
    Frame rate                               : 23.976 (23976/1000) FPS
    Color space                              : YUV
    Chroma subsampling                       : 4:2:0
    Bit depth                                : 8 bits
    Scan type                                : Progressive
    Bits/(Pixel*Frame)                       : 0.067
    Stream size                              : 2.47 GiB (92%)
    Writing library                          : x264 core 152 r2851M ba24899
    Encoding settings                        : cabac=1 / ref=4 / deblock=1:-1:-1 / analyse=0x3:0x113 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.15 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=32 / lookahead_threads=4 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=2pass / mbtree=1 / bitrate=2500 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=31250 / vbv_bufsize=31250 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=3:1.00
    Quote Quote  
  2. h.264 is the specification for the codec. x264 is a specific h.264 encoder (software). The section entitled "Encoding settings" shows the setting that x264 used when it made the file.

    http://www.chaneru.com/Roku/HLS/X264_Settings.htm
    Quote Quote  
  3. Dinosaur Supervisor KarMa's Avatar
    Join Date
    Jul 2015
    Location
    US
    Search Comp PM
    Yeah it was encoded with x264 which is CPU only, even did a 2 pass encoding. I don't know of any GPU encoder that can do 2 pass, despite AMD's deceptive 2-pass GPU encoding claim.
    Quote Quote  
  4. Member Bernix's Avatar
    Join Date
    Apr 2016
    Location
    Europe
    Search Comp PM
    Hi KarMa,
    Nvenc has also 2pass option, but it doesn't work as we understand it 1pass (whole video) then final pass (whole video) it works bit different. But also can be used for live capturing like in OBS studio and similar where normal 2pass to use is obviously nonsense.

    Bernix
    Quote Quote  
  5. Dinosaur Supervisor KarMa's Avatar
    Join Date
    Jul 2015
    Location
    US
    Search Comp PM
    @Bernix
    With AMD, my understanding it that it encodes an entire frame to gain some info on that frame. Then using the info gained it encodes the same frame a second time, which is then duplicated for every frame encoded. So it is a "two-pass" in primitive form. I would assume Nvidia does something similiar, since their GPU encoders are only intended to record live video game content just like AMD.
    Quote Quote  
  6. Member Bernix's Avatar
    Join Date
    Apr 2016
    Location
    Europe
    Search Comp PM
    Yes, it seems it works like you said. I will post two text files for Nvenc, what is supported by ffmpeg. So 2pass option is here, and it improved quality of video significantly (used in OBS studio) as user reported. Unfortunately can't find that thread.
    Nvenc 264
    Nvenc Hevc

    Bernix
    Quote Quote  
  7. i am just a newbie don't make me more confused please. the media info which i posted is it gpu based encode or cpu based encode. does gpu encode able to use cabac?
    Quote Quote  
  8. Member Bernix's Avatar
    Join Date
    Apr 2016
    Location
    Europe
    Search Comp PM
    Hi,
    Writing library : x264 core 152 r2851M ba24899
    And yes, Gpu support cabac by default. At least Nvenc.
    Clarify- x264 it means it was CPU encoded.
    Only thing confusing me is 23976/1000 fps, I think 24000/1001 is more common and precise (but at the end probably not big difference) but it could be.

    Bernix
    Last edited by Bernix; 23rd Jan 2018 at 06:53. Reason: Clarify
    Quote Quote  
  9. so just to clarify, if any video file media info say's writing library is x264 it's mean it's cpu based encode?
    Quote Quote  
  10. Member Bernix's Avatar
    Join Date
    Apr 2016
    Location
    Europe
    Search Comp PM
    Yes, it is CPU based encoder.

    Bernix
    Quote Quote  
  11. thank you for all info
    Quote Quote  
  12. Seeing "Writing library: x264..." isn't absolute proof the video was encoded by x264. It's just metadata -- anyone could write anything they want there.
    Quote Quote  
  13. Member Bernix's Avatar
    Join Date
    Apr 2016
    Location
    Europe
    Search Comp PM
    Yes,
    Jagabo is right, but it also means, that mediainfo is useless and you can't lean on nothing. I think it is extreme situation when somebody rewrites these data. Also can't see reason for doing this.
    Ad framerate, still not sure, but when you can use 24000/1001 use it. There can be problem merging two files with same resolution and same codec. It is what writing applications leave here, but it is unclear if is it equal 24000/1001 = 23970/1000. It is unequal, but probably just wrong written by application. Don't know.
    What do you think Jagabo?

    Bernix
    Quote Quote  
  14. Different programs use different numerators and denominators to indicate frame rate. 24000/1001 is most precise. But sometimes a program or user might use 23.976 as a floating point value and then multiply by 1000 to get a numerator and denominator. For example 23.976/1 * 1000 = 23976/1000.

    Regarding the metadata: Most of the time it's valid, but if your life depends on it don't count on it. It's easy to change if someone is looking to mislead you. I've seen a few requests here to erase the information x264 puts there. I suspect those are from people who want to use it commercially without a license. Or from release groups trying to hide the settings they use.
    Last edited by jagabo; 23rd Jan 2018 at 09:58.
    Quote Quote  
  15. Maybe MediaInfo isn't reporting the framer rate accurately. Or maybe it is. I don't know how it's determined for MKVs, but this is exactly the same video. A combination of 25fps and 59.940fps. The top screenshot is after muxing with MKVToolNix's track statistic tags disabled. For the second one they were enabled.
    Image Attached Thumbnails Click image for larger version

Name:	MI.gif
Views:	548
Size:	27.9 KB
ID:	44484  

    Quote Quote  
  16. Member Bernix's Avatar
    Join Date
    Apr 2016
    Location
    Europe
    Search Comp PM
    Hi hello_hello,
    I think your results are perfectly predictable. In first it takes just frame rate from 1st video and don't care about rest, in second it takes care about all appended videos. From second it is probably possible to calculate length of 25 and 59,940 fps parts.

    Bernix
    Quote Quote  
  17. Hi Bernix,
    They're both a single encode from start to finish, and the same encode. They were encoded in VFR mode.

    The first minute or so is 25fps so maybe without MKVToolNix saving the track statistic tags when muxing, MediaInfo just looks at a small section at the beginning. When the track statistic tags are saved, it can just read them.

    There's no doubt more to it than I understand and it probably relates to the timebase set by the encoder. I just gave the encoder a timecodes file and let it set the timebase (1/199900 in this case). ffdshow's OSD shows the correct frame rate for the 59.940fps sections while claiming the frame durations are 40ms, which would make the frame rate 25fps, and MadVR says they're 25fps.

    Maybe one day I'll understand, but they play correctly, which is the main thing.
    Quote Quote  



Similar Threads

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