Can I change the SmartRecord Muxer?

• Hardware Platform Jetson
• DeepStream Version 6.0
• JetPack Version 4.6
• Issue Type question

I have a SmartRecord element in a pipeline which works alright, i’m just finding that the output of the muxer in the SmartRecord Bin is a little different because it seems to be using the GstQTMux

Is there a way where i can specify which muxer the SmartRecord uses ? I would like to use GstMP4Mux instead, as that is the one that gives me files encoded in the correct way (further downstream i have a component that doesn’t like what comes out of the GstQTMux)

I’ve looked through the API at NVIDIA DeepStream SDK API Reference: Smart Record but can’t see anything that may do this.

If that fails, is there a way to convince the Bin to write out h264 mp4 files with :

yuv420p(tv, bt709) instead of yuv420p(bt709, progressive) ?

the ffmpeg -i output of the file generated by QTMux (inside the SmartRecord) looks like:

 ffmpeg -i /data/videos/locked/usb-046d_0825_2821F020-video-index0_00001_20220506-021051_700.mp4
....
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/data/videos/locked/usb-046d_0825_2821F020-video-index0_00001_20220506-021051_700.mp4':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2022-05-06T02:10:35.000000Z
  Duration: 00:00:17.98, start: 0.000000, bitrate: 3257 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(bt709, progressive), 1280x960, 3988 kb/s, SAR 1:1 DAR 4:3, 7.45 fps, 22.33 tbr, 750 tbn, 1500 tbc (default)
    Metadata:
      creation_time   : 2022-05-06T02:10:35.000000Z
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2022-05-06T02:10:35.000000Z
      handler_name    : SoundHandler

and the one that is working (MP4Mux) (please ignore the sound part) looks like:

 ffmpeg -i /data/videos/20220505021107-usb-046d_0825_2821F020-video-index0.mp
....
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '20220505021107-usb-046d_0825_2821F020-video-index0.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42mp41isomiso2
    creation_time   : 2022-05-05T02:11:12.000000Z
  Duration: 00:00:56.69, start: 0.000000, bitrate: 4089 kb/s
    Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 127 kb/s (default)
    Metadata:
      creation_time   : 2022-05-05T02:11:12.000000Z
      handler_name    : SoundHandler
    Stream #0:1(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x960, 3960 kb/s, SAR 1:1 DAR 4:3, 7.41 fps, 22.33 tbr, 750 tbn, 1500 tbc (default)
    Metadata:
      creation_time   : 2022-05-05T02:11:12.000000Z
      handler_name    : VideoHandler

No. There is no API to replace the muxer inside SmartRecord bin.

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