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 ...
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
Related
i am trying to play sequence of image(.jpeg) from my local folder to play as h264 video in VLC player through local host connection.
I am using Gstreamer lib to stream support and i am using from test-launch.c from github samples
OS : Linux 18.04
Gstremer ver: 1.14.2 Building from source using Cerbero
Following command is used to set the parser
multifilesrc location=/home/user/Downloads/gen/img.%4d.jpeg loop=true caps=image/jpeg,framerate=10/1 ! jpegdec ! x264enc ! h264parse ! rtph264pay name=pay0 pt=96
but no streaming happening insted i can see a error like below
(Gstremer_img2vid2:21273): GStreamer-CRITICAL **: 15:57:21.547: gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)' failed
0:01:26.143446201 21273 0x55555592b850 ERROR rtspclient rtsp-client.c:3105:handle_setup_request: client 0x5555559d5260: no control in path '/test'
Any help will be appreciated thanks
You may have to provide size of the frames for jpeg decoding (here using 640x480):
test-launch "multifilesrc location=/home/user/Downloads/gen/img.%4d.jpeg loop=true ! image/jpeg,width=640,height=480,framerate=10/1 ! jpegdec ! x264enc insert-vui=1 ! h264parse config-interval=1 ! rtph264pay name=pay0"
Should be ok for receiving on localhost using vlc:
cvlc rtsp://127.0.0.1:8554/test
While executing the following command,
gst-launch-1.0 filesrc location=Wildlife.wmv ! decodebin ! queue ! ffmpegcolorspace ! autovideosink dec. ! queue ! audioconvert ! audioresample ! autoaudiosink
I Get the error as follows.
ERROR GST_PIPELINE grammar.y:716:priv_gst_parse_yyparse: no element "ffmpegcolorspace"
ERROR GST_PIPELINE grammar.y:801:priv_gst_parse_yyparse: link has no sink [source=#0000000003066F90]
ERROR GST_PIPELINE grammar.y:801:priv_gst_parse_yyparse: link has no source [sink=#000000000306B060]
ERROR GST_PIPELINE grammar.y:1138:priv_gst_parse_launch: No src-element named "dec" - omitting link
WARNING: erroneous pipeline: no element "ffmpegcolorspace"
What is the problem here?
A few things:
In gstreamer-1.0, ffmpegcolorspace was renamed to videoconvert.
You need to give your decodebin the name you want to refer to it later. Add name=dec to be able to refer to it when linking the audio branch.
Also, you might want to consider just using playbin if you just need playback. It will assemble the pipeline for you and will support multiple formats automatically.
This is my pipeline:
gst-launch-1.0 rtspsrc location='<my_rtsp>'
! rtph264depay
! h264parse
! splitmuxsink location=/<my_path>/video%02d.mp4 max-size-time=60000000000
Every ~60 files (59-61) pipeline crash and i see this:
**
ERROR:gstsplitmuxsink.c:805:handle_gathered_gop: assertion failed: (queued_bytes >= splitmux->mux_start_bytes)
Aborted
is it possible to correct this error?
(I use GStreamer 1.8.0)
I am trying to play a .ts file with Gstreamer-1.0 as well as gst-omx have been successfully installed .
Try to play ts video using below command line format but failed to play.
test#test-Gardenia:~/Videos$ gst-launch-1.0 -v filesrc location= mpeg2.ts ! tsdemux ! mpegvideoparse ! omxmpeg2dec ! videoconvert ! ximagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstTSDemux:tsdemux0: Internal data stream error.
Additional debug info:
mpegtsbase.c(1347): mpegts_base_loop (): /GstPipeline:pipeline0/GstTSDemux:tsdemux0:
stream stopped, reason not-linked
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstTSDemux:tsdemux0.GstPad:audio_0044: caps = "NULL"
Freeing pipeline ...
Tried below command also but not did not work.
test#test:~/Videos$ gst-launch-1.0 filesrc location= mpeg2.ts ! tsdemux ! tsparse ! omxmpeg2dec ! videoconvert ! ximagesink
WARNING: erroneous pipeline: could not link mpegtsparse2-0 to omxmpeg2videodec-omxmpeg2dec0
Can any one help me how to play .ts file with mpeg2 codec format using gstreamer
First, I have read the following thread, but I want to harness the webcam hardware JPEG compression as opposed to software h264 compression.
Second, I tested the following pipeline and it works:
gst-launch-1.0 -v v4l2src device=/dev/video1 ! 'image/jpeg,width=640,height=480,videorate=8/1' ! jpegdec ! xvimagesink
Then I tried similar pipeline but with udpsink at the end:
gst-launch-1.0 -v v4l2src device=/dev/video1 ! 'image/jpeg,width=640,height=480,videorate=8/1' ! rtpjpegpay ! udpsink host=127.0.0.1 port=1234
Then I tried to play this stream:
gst-launch-1.0 -v udpsrc port=1234 ! "application/x-rtp, payload=96" ! rtpjpegdepay ! jpegdec ! xvimagesink
And it failed with the following errors:
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps =
image/jpeg, framerate=(fraction)0/1, width=(int)640, height=(int)480
** (gst-launch-1.0:10761): CRITICAL **: gst_adapter_push: assertion 'GST_IS_BUFFER (buf)' failed
** (gst-launch-1.0:10761): CRITICAL **: gst_jpeg_dec_fill_input_buffer: assertion 'dec->current_frame_map.data
!= NULL' failed
Any suggestions?