amazon-web-servicesvideogstreameramazon-kinesis-video-streamsgst-launch-1.0

How to send only video (mp4) to stream to kinesis-video-stream


when I am trying to send a video sample that I downloaded from the internet, which has both AAC and H-264 codecs the following command is working fine. but when I generated the mp4 file using OpenCV which has only the H-264 codec and no AAC as there was no audio it is giving me the following error.

command :

gst-launch-1.0 -v filesrc location="YourAudioVideo.mp4" ! qtdemux name=demux ! queue ! h264parse !  video/x-h264,stream-format=avc,alignment=au ! kvssink name=sink stream-name="audio-video-file" access-key="YourAccessKeyId" secret-key="YourSecretAccessKey" streaming-type=offline demux. ! queue ! aacparse ! sink.

error log :

Additional debug info:
./grammar.y(506): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstQTDemux:demux:
failed delayed linking some pad of GstQTDemux named demux to some pad of GstQueue named queue0
WARNING: from element /GstPipeline:pipeline0/GstQTDemux:demux: Delayed linking failed.
Additional debug info:
./grammar.y(506): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstQTDemux:demux:
failed delayed linking some pad of GstQTDemux named demux to some pad of GstQueue named queue1
ERROR: from element /GstPipeline:pipeline0/GstQTDemux:demux: Internal data stream error.
Additional debug info:
qtdemux.c(5850): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstQTDemux:demux:
streaming stopped, reason not-linked (-1)
Execution ended after 0:00:00.005448416
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

Solution

  • You obviously remove the AAC part in your pipeline then:

    gst-launch-1.0 -v filesrc location="YourAudioVideo.mp4" ! qtdemux name=demux ! queue ! h264parse !  video/x-h264,stream-format=avc,alignment=au ! kvssink name=sink stream-name="audio-video-file" access-key="YourAccessKeyId" secret-key="YourSecretAccessKey" streaming-type=offline