the profile plug-in of omxh265enc is not found

I have installed R28.2 on my TX2 board. The version of Gstreamer is 1.8.3. Using the document ‘Jesson_TX1_and_TX2_Accelerated_Gstreamer_User_Guide.pdf’, I want to sent the profile of omxh265enc, but it shows that the no “profile” in omxh265enc. What is the problem? Thank you very much.

Please try

gst-launch-1.0 videotestsrc num-buffers=200 ! \
'video/x-raw, width=(int)1280, height=(int)720, \
format=(string)I420' ! omxh265enc ! 'video/x-h265,profile=main' ! matroskamux ! \
filesink location=test.mkv -e

We only support main profile for h265, so it does not matter if you set it or not.

Thank you. If I want to sent the level or insert-sps-pps of omxh265enc, it still shows that the no “profile” (no insert-sps-pps) in omxh265enc. What is the problem? The version of libgstomx.so is 1.0.0.1.

You can enable insert-sps-pps by configuring stream-format=byte-stream

gst-launch-1.0 videotestsrc num-buffers=200 ! \
'video/x-raw, width=(int)1280, height=(int)720, \
format=(string)I420' ! omxh265enc ! 'video/x-h265,profile=main,stream-format=byte-stream' ! \
h265parse ! matroskamux ! filesink location=test.mkv -e

Hi DaneLLL,
How about level and tier of H.265 encoder?
I use following command

gst-launch-1.0 videotestsrc num-buffers=180 ! 'video/x-raw, width=(int)3840, height=(int)2160, format=(string)I420' ! omxh265enc ! 'video/x-h265,profile=main,level=main5,stream-format=hvc1' ! h265parse ! mp4mux ! filesink location=test.mp4 -e

And use ffprobe to check profile and level

ffprobe test.mp4 -show_entries stream=profile,level

The result is

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42mp41isomiso2
    creation_time   : 2019-03-28 00:00:57
  Duration: 00:00:06.00, start: 0.000000, bitrate: 5205 kb/s
    Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv), 3840x2160, 5202 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 3k tbn, 3k tbc (default)
    Metadata:
      creation_time   : 2019-03-28 00:00:57
      handler_name    : VideoHandler
[STREAM]
profile=Main
level=20
[/STREAM]

It show that, level is 20, what is this mean?
Thank

Hi,
I cannot launch your pipeline on r28.2.1 unless I replace mp4mux with matroskamux.

And ffprobe shows:

[STREAM]
profile=Main
level=150
[/STREAM]

Please check [ITU-T H.265(ISO/IEC 23008-2), A.4 Tiers and levels] at

Hi DaneLLL,
I also change mp4mux with matroskamux but the same result happen

[STREAM]
profile=Main
level=20
[/STREAM]

I attached file that was generated by gstreamer.
P.S. I compile libgstomx from source
Thank
test.zip (2.68 MB)

Hi,
Could you check if you are on r28.2.1?

head -1 /etc/nv_tegra_release

Hi DaneLLL,
I am using Jetpack 3.1, r28.1

# R28 (release), REVISION: 1.0, GCID: 9379712, BOARD: t186ref, EABI: aarch64, DATE: Thu Jul 20 07:59:31 UTC 2017

What should I do next?
Thank

Dear DaneLLL,
Could you attached your “libgstomx.so”, I want to check encoder work well or not.
Thank.

Hi,
For r28.1, please refer to
https://devtalk.nvidia.com/default/topic/976691/jetson-tx1/-hevc-tier-and-tiles-features/post/5023041/#5023041

For profile=main,level=main5, please modify to ‘level 300’