We couldn't decode the h.265 stream which is encoded by TX1.

We found a strange issue about h.265 encode on NV TX1 according to the description from Multimedia_User_Guide_Release_24.2.

About h.264, it is OK to encode h264 and mux to mp4
gst-launch-1.0 videotestsrc ! omxh264enc ! h264parse ! qtmux ! filesink location=test.mp4 -e

And we could decode the h.264 stream by the following command
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! omxh264dec ! nveglglessink -e

But, the h.265, we couldn’t mux h265 to mp4 file by the following command,
gst-launch-1.0 videotestsrc ! omxh265enc ! h265parse ! qtmux ! filesink location=test.mp4 -e

WARNING: erroneous pipeline: could not link h265parse0 to qtmux0

And it could decode h.265 with mp4 file by the following command,
gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux demux.video_0 ! queue ! h265parse ! omxh265dec ! nvoverlaysink -e

That means we couldn’t decode the h.265 stream which is encoded by TX1.

Could you help us to check the issue?

Hi James,
h265 is not supported in qtmux yet, please try mkv muxer:
gst-launch-1.0 videotestsrc ! omxh265enc ! h265parse ! matroskamux ! filesink location=test.mkv -e

Please check the matroskamux capability via ‘gst-inspect-1.0 matroskamux’, you should se h265 present.
video/x-h265
stream-format: hvc1
alignment: au
width: [ 16, 4096 ]
height: [ 16, 4096 ]

files recorded using:

gst-launch-1.0 videotestsrc ! omxh265enc ! h265parse ! matroskamux ! filesink location=test.mkv -e

will play back correctly on the TX1 with the “videos” application, but do not allow use of the time slider control to seek. The same videos do not play back correctly in VLC, losing sync after 1-2 seconds.

Hi sperok,
This is the design of .mkv itself. .mkv, like .ts, does not support seeking function.

Thanks for the quick response. Is there any way to record h265 encoded video such that it will be seekable?

Hi sperok,
Now for gstreamer pipeline, only matroskamux supports h265. So for being seekable, we have to wait until avimux, mp4mux or qtmux supporting h265.

You can try with transport stream, it supports seeking in h264 since we have used it in previous products but I am not sure if with h265 seeking is supported, you can give it a try. Also it should support h265 already:

https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-mpegtsmux.html