"do-timestamp" leds to [ no 'moov' atom within the first 10 MB ] problem in pipeline

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

"do-timestamp" leds to [ no 'moov' atom within the first 10 MB ] problem in pipeline

Ashish Kumar Mishra
Hi All ,

(w.r.t video playback , not considering the audio-video sync aspect as of now )

1) Below is the pipeline ( actual implementation is in C code ) :-
    filesrc ->  qtdemux -> avdec_h264  -> videoconvert -> timeoverlay ->  q1      
                                                                                                                  -> avimux -> filesink
                                                                   audiotestsrc -> capsfilter -> q2

2) Clock is set by gst_pipeline_set_clock(GST_PIPELINE (pipeline), gst_system_clock_obtain())


3) Problem Statement :-
    ----------------------
a)  filesrc ( "do-timestamp" = FALSE )  + audiotestsrc ( "do-timestamp" = TRUE )
    The created file seek bar plays for 2sec properly.
    Then the complete playback "PAUSE" with seek bar buffers for next 3sec.
    The complete file playback resumes. This continues for the total duration of file.


b)  filesrc ( "do-timestamp" = TRUE )  + audiotestsrc ( "do-timestamp" = TRUE )
     The pipeline fails throwing error
     ERROR: from element /GstPipeline:pipeline/GstQTDemux:qtdemux0: GStreamer encountered a
     general stream error.
     Additional debug info:
     qtdemux.c(6065): gst_qtdemux_process_adapter (): /GstPipeline:pipeline/GstQTDemux:qtdemux0:
     no 'moov' atom within the first 10 MB


c) filesrc ( "do-timestamp" = FALSE )  + audiotestsrc ( "do-timestamp" = FALSE )
    Seems to play properly.


Could group member please provide some pointers as to what aspect of buffer-time is the cause for (a) & (b)

Thanks ,
Ashish Kumar Mishra




   
Reply | Threaded
Open this post in threaded view
|

Re: "do-timestamp" leds to [ no 'moov' atom within the first 10 MB ] problem in pipeline

Sebastian Dröge-3
On Di, 2016-01-05 at 05:17 -0800, Ashish Kumar Mishra wrote:

> Hi All , 
>
> (w.r.t video playback , not considering the audio-video sync aspect
> as of
> now )
>
> 1) Below is the pipeline ( actual implementation is in C code ) :-
>     filesrc ->  qtdemux -> avdec_h264  -> videoconvert -> timeoverlay
> ->  q1       
>                                                                      
>                                             
> -> avimux -> filesink
>                                                                   
> audiotestsrc -> capsfilter -> q2
>
> 2) Clock is set by gst_pipeline_set_clock(GST_PIPELINE (pipeline),
> gst_system_clock_obtain())
If you want to force the system clock to be used you have to use
gst_pipeline_use_clock(), not gst_pipeline_set_clock().

> 3) Problem Statement :-
>     ----------------------
> a)  filesrc ( "do-timestamp" = FALSE )  + audiotestsrc ( "do-
> timestamp" =
> TRUE )
>     The created file seek bar plays for 2sec properly. 
>     Then the complete playback "PAUSE" with seek bar buffers for next
> 3sec. 
>     The complete file playback resumes. This continues for the total
> duration of file. 
What do you mean with pause and buffer here? The pipeline goes to
PAUSED state and you get BUFFERING messages? Or does it just hang for a
bit and then continues?

> b)  filesrc ( "do-timestamp" = TRUE )  + audiotestsrc ( "do-
> timestamp" =
> TRUE )
>      The pipeline fails throwing error
>      ERROR: from element /GstPipeline:pipeline/GstQTDemux:qtdemux0:
> GStreamer encountered a 
>      general stream error.
>      Additional debug info:
>      qtdemux.c(6065): gst_qtdemux_process_adapter ():
> /GstPipeline:pipeline/GstQTDemux:qtdemux0:
>      no 'moov' atom within the first 10 MB
do-timestamp=TRUE on filesrc is not going to work well as wrong
timestamps are going to be put on the buffers (the time whenever a
buffer is read!).

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: "do-timestamp" leds to [ no 'moov' atom within the first 10 MB ] problem in pipeline

Ashish Kumar Mishra
Sir ,

for point (2) ,
I am referring the observation when i play the recorded file in VLC. ( in seconds )

1)  t=0  to t= 2
     The video is played back properly and VLC seek (BLUE seek )  bar is also progressing.

2)  t=2 to t= 4/5
     No video is played rather its like FREEZED / PAUSE .
     The seek bar  ( Orange seek ) progress till t=4/5 . Please note that during this time VLC seek bar
     is ORANGE and is progressing. But the video is not played.

3)  t=4/5
      The VLC orange seek bar re-positions itself to t=2. Seek bar turns BLUE and video & seek bar is played
      properly.

This behavior continues for complete file.


Could you please provide some pointers as to what is the cause of this problem.

Thanks ,
Ashish Kumar Mishra
Reply | Threaded
Open this post in threaded view
|

Re: "do-timestamp" leds to [ no 'moov' atom within the first 10 MB ] problem in pipeline

Ashish Kumar Mishra
Hi All ,

Could you please provide any input as to where / what is mis-behaving here.
or if there is any logical bug in the approach.

Thanks ,
Ashish Kumar Mishra.

Reply | Threaded
Open this post in threaded view
|

Re: "do-timestamp" leds to [ no 'moov' atom within the first 10 MB ] problem in pipeline

Sebastian Dröge-3
On Do, 2016-01-07 at 21:31 -0800, Ashish Kumar Mishra wrote:
> Hi All , 
>
> Could you please provide any input as to where / what is mis-behaving
> here. 
> or if there is any logical bug in the approach. 

Check with what timestamps the two streams are muxed into the MP4
container. They are probably wrong and don't properly relate to each
other.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: "do-timestamp" leds to [ no 'moov' atom within the first 10 MB ] problem in pipeline

Ashish Kumar Mishra
Sir ,

1) Do we have any thing similar to GstValidate.
    Looking for approaches as to how can i track the problem i came across
   https://blogs.gnome.org/tsaunier/2014/04/21/gst-validate-a-suite-of-tools-to-run-integration-tests-for-gstreamer-2/.

   But i could not find any plugin  on same .
dynamic-filter.c:21:1: error: unknown type name ‘GstValidateRunner’  GstValidateRunner *runner;
dynamic-filter.c:22:1: error: unknown type name ‘GstValidateMonitor’  GstValidateMonitor *monitor;


2) Could you please provide an input / link / approach by which we could evaluate the individual timestamp from both stream.

Thanks <
Ashish Kumar Mishra .


 
Reply | Threaded
Open this post in threaded view
|

Re: "do-timestamp" leds to [ no 'moov' atom within the first 10 MB ] problem in pipeline

Ashish Kumar Mishra
This post was updated on .
Hi All ,

Playing around with properties of ALSASRC plugin , i am able to improve the sync problem .
Most important factor was  "LATENCY" for alsa plugin , which in-directly depends on "PERIOD-SIZE" property of alsasrc.
along with "BUFFER-TIME" & "BUFFER-SIZE".
http://www.alsa-project.org/main/index.php/FramesPeriods

I yet to clearly understand how to find the value of "PERIOD-SIZE" for alsa plugin.
I have initiated an separate thread for this at below mentioned link.
http://gstreamer-devel.966125.n4.nabble.com/How-to-determine-find-quot-period-size-quot-of-ALSASRC-LATENCY-of-alsasrc-td4675332.html


Thanks ,
Ashish Kumar Mishra .