Deepstream H100 Filesink Capabilities

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) H100
• DeepStream Version 7.1
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs)
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

Hi, I would like to know can H100 run filesink for Deepstream application?
Previously i run the exact same code on A6000 and is working fine, but when i run it on H100, it gives below error:

 Error: gst-core-error-quark: ENCODER INITIALIZATION FAILED (1): None
deepstream_mbjb_copy-deepstream_6.4-1  | INFO: ../nvdsinfer/nvdsinfer_model_builder.cpp:610 [Implicit Engine Info]: layers num: 3
deepstream_mbjb_copy-deepstream_6.4-1  | 0   INPUT  kFLOAT input_1         3x544x960       
deepstream_mbjb_copy-deepstream_6.4-1  | 1   OUTPUT kFLOAT output_bbox/BiasAdd 16x34x60        
deepstream_mbjb_copy-deepstream_6.4-1  | 2   OUTPUT kFLOAT output_cov/Sigmoid 4x34x60         
deepstream_mbjb_copy-deepstream_6.4-1  | 
deepstream_mbjb_copy-deepstream_6.4-1  | ENC_CTX(0x7ffca800cf10) Error in initializing nvenc context 

Please advise

Please refer to DeepStream SDK FAQ - #57 by Fiona.Chen

I have already executed the commands in the provided link
sudo apt install --reinstall libx264-dev lib264-163
sudo apt install --reinstall gstreamer1.0-plugins-ugly
sudo rm -rf ~/.cache/gstreamer-1.0

gst-inspect-1.0 x264enc returns:
~/deepstream_MBJB_copy$ gst-inspect-1.0 x264enc
Factory Details:
Rank primary (256)
Long-name x264 H.264 Encoder
Klass Codec/Encoder/Video
Description libx264-based H.264 video encoder
Author Josef Zlomek josef.zlomek@itonis.tv, Mark Nauwelaerts mnauw@users.sf.net


gst-launch-1.0 videotestsrc ! nvvideoconvert ! nvv4l2h264enc ! fakesink
Setting pipeline to PAUSED …
Pipeline is PREROLLING …
Redistribute latency…
ENC_CTX(0x15532c020560) Error in initializing nvenc context
ERROR: from element /GstPipeline:pipeline0/nvv4l2h264enc:nvv4l2h264enc0: ENCODER INITIALIZATION FAILED
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to NULL …
Freeing pipeline …

Im still getting this error

Is x264enc available by “gst-inspect-1.0 x264enc”?

Which application are you working with? deepstream-app?

Yes, gst-inspect-1.0 x264enc | head -n10 returns something:

Factory Details:
Rank primary (256)
Long-name x264 H.264 Encoder
Klass Codec/Encoder/Video
Description libx264-based H.264 video encoder
Author Josef Zlomek josef.zlomek@itonis.tv, Mark Nauwelaerts mnauw@users.sf.net

Plugin Details:
Name x264
Description libx264-based H.264 encoder plugin


Yes, I’m using deepstream-app, however I noticed that for the H100, there is a problem with the nvv4l2h264enc.
Hence, when running the following pipeline:

gst-launch-1.0 videotestsrc ! nvvideoconvert ! nvv4l2h264enc ! fakesink

I get the following error:

Setting pipeline to PAUSED …
Pipeline is PREROLLING …
Redistribute latency…
ENC_CTX(0x15532c020560) Error in initializing nvenc context
ERROR: from element /GstPipeline:pipeline0/nvv4l2h264enc:nvv4l2h264enc0: ENCODER INITIALIZATION FAILED
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to NULL …
Freeing pipeline …


I have tested this pipeline on other machines, those that work returns the following

Setting pipeline to PAUSED …
Pipeline is PREROLLING …
Redistribute latency…
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
Redistribute latency…
New clock: GstSystemClock
^Chandling interrupt.
Interrupt: Stopping pipeline …
Execution ended after 0:00:01.069318890
Setting pipeline to NULL …
Freeing pipeline …

Please set the video encoder as the software encoder by setting the “enc-type” to 1 in the [sink] group in the deepstream-app configuration file while you enable the sink type 3.

All the deepstream-app configuration parameters can be found in the document: DeepStream Reference Application - deepstream-app — DeepStream documentation

print("Creating FileSink \n")
sink = Gst.ElementFactory.make("filesink", f"filesink{i}")
if not sink:
    sys.stderr.write(" Unable to create file sink \n")
sink.set_property("location", f"results/output_camera{i}.mp4")
sink.set_property("qos", 0)
sink.set_property("sync", 0)
sink.set_property("async", 0)
sink.set_property("enc-type", 1)

I get the following error:

    sink.set_property("enc-type", 1)
TypeError: object of type `GstFileSink' does not have property `enc-type'

Please advise, thanks.

No. The pipeline should be
gst-launch-1.0 videotestsrc ! nvvideoconvert ! x264enc ! fakesink

It is no use to set filesink.

There is no hardware encoder in H100. The “nvv4l2h264enc” is of no use.

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.