Pipeline: gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 num-buffers=3600 ! video/x-raw, width=3840, height=2160, format=NV12, framerate=60/1 ! omxh265enc gop-mode=basic gop-length=60 b-frames=0 target-bitrate=60000 max-picture-size=1100 num-slices=8 control-rate=constant prefetch-buffer=true low-bandwidth=false filler-data=true cpb-size=1000 initial-delay=500 ! video/x-h265, profile=main, alignment=au ! queue max-size-bytes=0 ! mux. alsasrc device=hw:1,1 ! queue ! audioconvert ! audioresample ! audio/x-raw, format=S16LE, rate=48000, channels=8, layout=interleaved ! queue ! opusenc ! opusparse ! queue max-size-bytes=0 ! mpegtsmux name=mux ! filesink location="/run/test.ts"
Above pipeline is not working, However if channels=7 it is working.
Below are GST_DEBUG=3 logs of the pipeline:
0:00:00.150296457 [336m14963[00m 0x5569e15a80 [33;01mWARN [00m [00m v4l2 gstv4l2object.c:4382:gst_v4l2_object_probe_caps:<v4l2src0:src>[00m Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Invalid argument
0:00:00.150388856 [336m14963[00m 0x5569e159e0 [32;01mFIXME [00m [00;04m default gstutils.c:3980:gst_pad_create_stream_id_internal:<alsasrc0:src>[00m Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:00.151335541 [336m14963[00m 0x5569e15a80 [33;01mWARN [00m [00m v4l2 gstv4l2object.c:3205:gst_v4l2_object_save_format:<v4l2src0>[00m format NV16_10LE32 has a pstride of 0, cannot compute padded with
0:00:00.153998227 [336m14963[00m 0x5569e15a80 [33;01mWARN [00m [00m omxvideoenc gstomxvideoenc.c:833:gst_omx_video_enc_set_transfer_characteristics:<omxh265enc-omxh265enc0>[00m Provided transfer characteristics 11 (bt2020) are not supported
0:00:00.154525200 [336m14963[00m 0x5569e15a80 [33;01mWARN [00m [00m v4l2 gstv4l2object.c:3205:gst_v4l2_object_save_format:<v4l2src0>[00m format NV16_10LE32 has a pstride of 0, cannot compute padded with
0:00:00.173773953 [336m14963[00m 0x5569e159e0 [33;01mWARN [00m [00m alsa pcm_hw.c:1359:snd_pcm_hw_get_chmap:[00m alsalib error: Cannot read Channel Map ctl
: No such file or directory
0:00:00.181625698 [336m14963[00m 0x5569e15b20 [33;01mWARN [00m [00m audio-resampler audio-resampler.c:274:convert_taps_gint16_c:[00m can't find exact taps
0:00:00.340288901 [336m14963[00m 0x5569e15ad0 [32;01mFIXME [00m [00m mpegtsmux mpegtsmux.c:748:mpegtsmux_create_stream:<mux:sink_66>[00m Opus channel mapping not handled
0:00:00.340399272 [336m14963[00m 0x5569e15ad0 [33;01mWARN [00m [00m mpegtsmux mpegtsmux.c:1010:mpegtsmux_create_streams:<mux>[00m error: Could not create handler for stream
0:00:00.360425263 [336m14963[00m 0x7f94003800 [33;01mWARN [00m [00m omxvideo gstomxvideo.c:223:gst_omx_video_find_nearest_frame:<omxh265enc-omxh265enc0>[00m Difference between ts (0:00:00.000000000) and frame 1 (0:00:00.101057829) seems too high (0:00:00.101057829)
0:00:00.360559206 [336m14963[00m 0x7f94003800 [33;01mWARN [00m [00m omxvideo gstomxvideo.c:223:gst_omx_video_find_nearest_frame:<omxh265enc-omxh265enc0>[00m Difference between ts (0:00:00.000000000) and frame 1 (0:00:00.101057829) seems too high (0:00:00.101057829)It seems that there is some issue with mpegtsmux - Opus channel mapping not handled, so guessing if we provide channel-positions using rawaudioparse then it might fix the issue. But, channel-positions is expecting GValueArray type input, so how can we provide that I am not sure.
Also not sure, if any other particular fix required in pipeline.
4 Reset to default