Opened 6 years ago

Closed 6 years ago

#6894 closed enhancement (fixed)

x265 Profile cannot be set at all

Reported by: Atarikid Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: libx265
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by Carl Eugen Hoyos)

There does not seems to be a way to set the profile for x265.
I tried two ways:

 -profile:v main

or

-x265-params profile=main

Both does not work.

Here is the output when using -profile:v main

ikko-MacBook-Pro:~ osbytes$ /Users/ikko/Desktop/ffmpeg34 -i /Users/ikko/Desktop/1080P25audio.mov -c:a aac -ab 96k -c:v libx265 -profile:v main -y /Users/ikko/Movies/1080P25audio.mov
ffmpeg version N-88140-g953d55f Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 8.1.0 (clang-802.0.42)
  configuration: --prefix=/Volumes/tempdisk/sw --as=yasm --pkg-config-flags=--static --enable-gpl --enable-version3 --enable-pthreads --disable-ffplay --disable-ffserver --disable-shared --enable-static --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-zlib --enable-avfilter --enable-fontconfig --enable-libfreetype --enable-libass --enable-libvidstab --enable-libsnappy --enable-filters --enable-postproc --enable-runtime-cpudetect --disable-indev=qtkit --disable-indev=x11grab_xcb
  libavutil      56.  0.100 / 56.  0.100
  libavcodec     58.  0.100 / 58.  0.100
  libavformat    58.  0.100 / 58.  0.100
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  0.100 /  7.  0.100
  libswscale      5.  0.100 /  5.  0.100
  libswresample   3.  0.100 /  3.  0.100
  libpostproc    55.  0.100 / 55.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/ikko/Desktop/1080P25audio.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
    compatible_brands: qt  
    creation_time   : 2017-11-18T19:39:58.000000Z
    encoder         : Lavf58.0.100
  Duration: 00:03:48.14, start: 0.000000, bitrate: 672 kb/s
    Chapter #0:0: start 0.000000, end 60.000000
    Metadata:
      title           : Chapter  1 
    Chapter #0:1: start 60.000000, end 120.000000
    Metadata:
      title           : Chapter  2 
    Chapter #0:2: start 120.000000, end 180.000000
    Metadata:
      title           : Chapter  3 
    Chapter #0:3: start 180.000000, end 228.080000
    Metadata:
      title           : Chapter  4 
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 480x270 [SAR 1:1 DAR 16:9], 569 kb/s, 24.99 fps, 25 tbr, 16k tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2017-11-18T19:39:58.000000Z
      handler_name    : DataHandler
      encoder         : Lavc57.89.100 libx264
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s (default)
    Metadata:
      creation_time   : 2017-11-18T19:39:58.000000Z
      handler_name    : DataHandler
    Stream #0:2(eng): Data: bin_data (text / 0x74786574), 0 kb/s
    Metadata:
      creation_time   : 2017-11-18T19:39:58.000000Z
      handler_name    : DataHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx265 @ 0x7fa996001200] [Eval @ 0x7ffeece99340] Undefined constant or missing '(' in 'main'
[libx265 @ 0x7fa996001200] Unable to parse option value "main"
[libx265 @ 0x7fa996001200] Error setting option profile to value main.
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[aac @ 0x7fa996002400] Qavg: 19952.342
[aac @ 0x7fa996002400] 2 frames left in the queue on closing

Here is the output when using -x265-params profile=main

ikko-MacBook-Pro:~ osbytes$ /Users/ikko/Desktop/ffmpeg34 -i /Users/ikko/Desktop/1080P25audio.mov -c:a aac -ab 96k -c:v libx265 -x265-params profile=main -y /Users/ikko/Movies/1080P25audio.mov
ffmpeg version N-88140-g953d55f Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 8.1.0 (clang-802.0.42)
  configuration: --prefix=/Volumes/tempdisk/sw --as=yasm --pkg-config-flags=--static --enable-gpl --enable-version3 --enable-pthreads --disable-ffplay --disable-ffserver --disable-shared --enable-static --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-zlib --enable-avfilter --enable-fontconfig --enable-libfreetype --enable-libass --enable-libvidstab --enable-libsnappy --enable-filters --enable-postproc --enable-runtime-cpudetect --disable-indev=qtkit --disable-indev=x11grab_xcb
  libavutil      56.  0.100 / 56.  0.100
  libavcodec     58.  0.100 / 58.  0.100
  libavformat    58.  0.100 / 58.  0.100
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  0.100 /  7.  0.100
  libswscale      5.  0.100 /  5.  0.100
  libswresample   3.  0.100 /  3.  0.100
  libpostproc    55.  0.100 / 55.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/ikko/Desktop/1080P25audio.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
    compatible_brands: qt  
    creation_time   : 2017-11-18T19:39:58.000000Z
    encoder         : Lavf58.0.100
  Duration: 00:03:48.14, start: 0.000000, bitrate: 672 kb/s
    Chapter #0:0: start 0.000000, end 60.000000
    Metadata:
      title           : Chapter  1 
    Chapter #0:1: start 60.000000, end 120.000000
    Metadata:
      title           : Chapter  2 
    Chapter #0:2: start 120.000000, end 180.000000
    Metadata:
      title           : Chapter  3 
    Chapter #0:3: start 180.000000, end 228.080000
    Metadata:
      title           : Chapter  4 
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 480x270 [SAR 1:1 DAR 16:9], 569 kb/s, 24.99 fps, 25 tbr, 16k tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2017-11-18T19:39:58.000000Z
      handler_name    : DataHandler
      encoder         : Lavc57.89.100 libx264
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s (default)
    Metadata:
      creation_time   : 2017-11-18T19:39:58.000000Z
      handler_name    : DataHandler
    Stream #0:2(eng): Data: bin_data (text / 0x74786574), 0 kb/s
    Metadata:
      creation_time   : 2017-11-18T19:39:58.000000Z
      handler_name    : DataHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
'''[libx265 @ 0x7fe814001200] Unknown option: profile.'''
x265 [info]: HEVC encoder version 2.3
x265 [info]: build info [Mac OS X][clang 8.1.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
x265 [info]: Main profile, Level-2.1 (Main tier)
x265 [info]: Thread pool created using 8 threads
x265 [info]: Slices                              : 1
x265 [info]: frame threads / pool features       : 3 / wpp(5 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 2
x265 [info]: Keyframe min / max / scenecut / bias: 25 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
x265 [info]: References / ref-limit  cu / depth  : 3 / on / on
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 1 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress            : CRF-28.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 rskip signhide tmvp strong-intra-smoothing
x265 [info]: tools: deblock sao
Output #0, mov, to '/Users/ikko/Movies/1080P25audio.mov':

Using -x265-params profile=main does start encoding but the error above says the Profile option is unknown and ignored.

How can one set the profile for x265?

The same happens when using Tune and Preset.

Change History (4)

comment:1 by Carl Eugen Hoyos, 6 years ago

Component: ffmpegavcodec
Description: modified (diff)
Keywords: libx265 added
Priority: normalwish
Type: defectenhancement

Possibly related to ticket #4284.

comment:2 by Gyan, 6 years ago

Not related.

x265 docs say "Note that unless an option is listed as CLI ONLY the option is also supported by x265_param_parse()." And profile is indicated as CLI ONLY.

Further, "API users must call x265_param_apply_profile()" which lavc/libx265.c never does.

comment:4 by llogan, 6 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.