VideoHelp Forum




+ Reply to Thread
Results 1 to 8 of 8
  1. Hello,

    I want to convert a lot of movies from h.264 to the new h.265 codex. To do this I bought a new shiny GTX 960. Installation guide here:

    http://www.cnx-software.com/2016/01/04/faster-h-265hevc-video-encoding-with-nvidia-gtx...pu-and-ffmpeg/

    Good news is: Its working and its really really fast.

    Bad news is: -crf xx doesnt work at all

    I get the warning:

    Codec AVOption crf (Select the quality for constant quality mode) specified for output file #0 (2Fast2Furious(1080p HD).m4v) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.

    FFmpeg simply ignores the -crf option and converts every movie with 2000kbit even if its a shitty 320x200 movie. -b:v 2000k works perfectly well but I cant check the resolution of a few 100 movies to change the -b:v every time.

    Is there a good workaround to make -crf work again?

    My config:

    ffmpeg version N-78958-g8c24523 Copyright (c) 2000-2016 the FFmpeg developers
    built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
    configuration: --prefix=/home/bunny/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/bunny/ffmpeg_build/include --extra-ldflags=-L/home/bunny/ffmpeg_build/lib --bindir=/home/bunny/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-nvenc --enable-libxvid --enable-nonfree
    libavutil 55. 19.100 / 55. 19.100
    libavcodec 57. 28.100 / 57. 28.100
    libavformat 57. 28.100 / 57. 28.100
    libavdevice 57. 0.101 / 57. 0.101
    libavfilter 6. 39.102 / 6. 39.102
    libswscale 4. 0.100 / 4. 0.100
    libswresample 2. 0.101 / 2. 0.101
    libpostproc 54. 0.100 / 54. 0.100

    Thank you for reading,

    Niftybunny
    Quote Quote  
  2. Member
    Join Date
    Jul 2014
    Location
    Denmark
    Search Comp PM
    Try "-x265-params crf=xx" instead of the generic "-crf xx".
    I'm the developer behind FFQueue. My posts might reflect this! ;-)
    Quote Quote  
  3. I'm a MEGA Super Moderator Baldrick's Avatar
    Join Date
    Aug 2000
    Location
    Sweden
    Search Comp PM
    Does it work if you don't use the GPU nvenc_hevc? Maybe is CRF not supported with the GPU encoder.
    Quote Quote  
  4. Originally Posted by TorBru View Post
    Try "-x265-params crf=xx" instead of the generic "-crf xx".
    ffmpeg version N-78958-g8c24523 Copyright (c) 2000-2016 the FFmpeg developers
    built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
    configuration: --prefix=/home/bunny/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/bunny/ffmpeg_build/include --extra-ldflags=-L/home/bunny/ffmpeg_build/lib --bindir=/home/bunny/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-nvenc --enable-libxvid --enable-nonfree
    libavutil 55. 19.100 / 55. 19.100
    libavcodec 57. 28.100 / 57. 28.100
    libavformat 57. 28.100 / 57. 28.100
    libavdevice 57. 0.101 / 57. 0.101
    libavfilter 6. 39.102 / 6. 39.102
    libswscale 4. 0.100 / 4. 0.100
    libswresample 2. 0.101 / 2. 0.101
    libpostproc 54. 0.100 / 54. 0.100
    Unrecognized option 'x265-params crf=20'.

    Gives me an error msg
    Quote Quote  
  5. Originally Posted by Baldrick View Post
    Does it work if you don't use the GPU nvenc_hevc? Maybe is CRF not supported with the GPU encoder.
    Yes, it works. I also think that its not enabled by the GPU nvenc. That rises the question how to enable it. Or is it a feature that only a few selected codex support?
    Quote Quote  
  6. CRF is not supported by NVEnc SDK for GPU encoding, and you probably didn't compile ffmpeg with x265 (the CPU encoder, --enable-libx265)

    To see which switches are enabled in your FFMpeg NVEnc version, look under -h full, under the NVEnc section .

    Also, NVEnc HEVC doesn't use b-frames (lower compression , lower quality at a given bitrate)
    Quote Quote  
  7. Originally Posted by poisondeathray View Post
    CRF is not supported by NVEnc SDK for GPU encoding, and you probably didn't compile ffmpeg with x265 (the CPU encoder, --enable-libx265)

    To see which switches are enabled in your FFMpeg NVEnc version, look under -h full, under the NVEnc section .

    Also, NVEnc HEVC doesn't use b-frames (lower compression , lower quality at a given bitrate)
    Okay, I am out of luck ((

    Thank you for the answer.
    Quote Quote  
  8. Member
    Join Date
    Aug 2013
    Location
    Central Germany
    Search PM
    Indeed, the CRF quantization control is rather exclusive to the software-only encoders x264 and x265. I don't know any other encoders offering a similar feature. But well, I don't know all of them...
    Quote Quote  



Similar Threads

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