Audio and video synchronisation

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

Audio and video synchronisation

Andreas Rödig
Hi,

i try to build my own pipeline (without playbin2).

Thats what i have at the moment:

gst-launch filesrc location=movie.mov ! queue2 ! qtdemux name=demux
demux.video_00 ! queue ! fluvadec ! fluvasink demux.audio_00 ! queue !
fluaacdec ! autoaudiosink

My Problem:
The Audio is starting directly. But video starts with a 2 seconds delay.
And than audio and video are not synchron.

What i have to do for synchron video and audio?


Thanks
--
Andreas Rödig
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Audio and video synchronisation

Icarus Alive
On Mon, Oct 10, 2011 at 12:16 PM, Andreas Rödig <[hidden email]> wrote:

> Hi,
>
> i try to build my own pipeline (without playbin2).
>
> Thats what i have at the moment:
>
> gst-launch filesrc location=movie.mov ! queue2 ! qtdemux name=demux
> demux.video_00 ! queue ! fluvadec ! fluvasink demux.audio_00 ! queue !
> fluaacdec ! autoaudiosink
>
> My Problem:
> The Audio is starting directly. But video starts with a 2 seconds delay. And
> than audio and video are not synchron.
>
> What i have to do for synchron video and audio?

try to print debug traces with playbin2 and figure out it's pipeline.
i hope the sync issue isn't seen with playbin2 ?
in my case, a streaming asf source plays pretty well (no observable
sync issues), but in my "optimized" pipeline, which was built by
observing playbin2, doesn't fare so well. I think in my optimization
drive, I've chopped off some necessary "sync" elements. recreating the
playbin2 pipeline using discrete elements on command-line, completely,
has been a challenge.

i hope someone can shed some more light on this subject.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Audio and video synchronisation

Andreas Rödig
Hi,

yes, playbin2 works fine. I think there is something wrong with my queue
in my pipeline. But i don't find some options to sync data streams in
pipeline.


best Regards,
Andreas

Am 10.10.2011 15:09, schrieb Icarus Alive:

> On Mon, Oct 10, 2011 at 12:16 PM, Andreas Rödig<[hidden email]>  wrote:
>> Hi,
>>
>> i try to build my own pipeline (without playbin2).
>>
>> Thats what i have at the moment:
>>
>> gst-launch filesrc location=movie.mov ! queue2 ! qtdemux name=demux
>> demux.video_00 ! queue ! fluvadec ! fluvasink demux.audio_00 ! queue !
>> fluaacdec ! autoaudiosink
>>
>> My Problem:
>> The Audio is starting directly. But video starts with a 2 seconds delay. And
>> than audio and video are not synchron.
>>
>> What i have to do for synchron video and audio?
>
> try to print debug traces with playbin2 and figure out it's pipeline.
> i hope the sync issue isn't seen with playbin2 ?
> in my case, a streaming asf source plays pretty well (no observable
> sync issues), but in my "optimized" pipeline, which was built by
> observing playbin2, doesn't fare so well. I think in my optimization
> drive, I've chopped off some necessary "sync" elements. recreating the
> playbin2 pipeline using discrete elements on command-line, completely,
> has been a challenge.
>
> i hope someone can shed some more light on this subject.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

--
Andreas Rödig

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re:Re: Audio and video synchronisation

hcpwll
Hi,
     Do you have check the elements create by playbin2?
     Maybe playbin2 use diffrent demux, decode or sink element.
     
At 2011-10-10 21:25:45,"Andreas Rödig" <[hidden email]> wrote:

>Hi,
>
>yes, playbin2 works fine. I think there is something wrong with my queue 
>in my pipeline. But i don't find some options to sync data streams in 
>pipeline.
>
>
>best Regards,
>Andreas
>
>Am 10.10.2011 15:09, schrieb Icarus Alive:
>> On Mon, Oct 10, 2011 at 12:16 PM, Andreas Rödig<[hidden email]>  wrote:
>>> Hi,
>>>
>>> i try to build my own pipeline (without playbin2).
>>>
>>> Thats what i have at the moment:
>>>
>>> gst-launch filesrc location=movie.mov ! queue2 ! qtdemux name=demux
>>> demux.video_00 ! queue ! fluvadec ! fluvasink demux.audio_00 ! queue !
>>> fluaacdec ! autoaudiosink
>>>
>>> My Problem:
>>> The Audio is starting directly. But video starts with a 2 seconds delay. And
>>> than audio and video are not synchron.
>>>
>>> What i have to do for synchron video and audio?
>>
>> try to print debug traces with playbin2 and figure out it's pipeline.
>> i hope the sync issue isn't seen with playbin2 ?
>> in my case, a streaming asf source plays pretty well (no observable
>> sync issues), but in my "optimized" pipeline, which was built by
>> observing playbin2, doesn't fare so well. I think in my optimization
>> drive, I've chopped off some necessary "sync" elements. recreating the
>> playbin2 pipeline using discrete elements on command-line, completely,
>> has been a challenge.
>>
>> i hope someone can shed some more light on this subject.
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>-- 
>Andreas Rödig
>
>_______________________________________________
>gstreamer-devel mailing list
>[hidden email]
>http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Audio and video synchronisation

Andreas Rödig
Hi,

i have checked playbin2 pipeline. And this is the result:

gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! typefind
! qtdemux name=demux demux.video_00 ! fluvadec ! fluvasink
demux.audio_00 ! fluaacdec ! queue ! pulsesink

It works and it is synchron. But i need some harddisk buffer like this
(with queue2 after filesrc):

gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! queue2 !
typefind ! qtdemux name=demux demux.video_00 ! fluvadec ! fluvasink
demux.audio_00 ! fluaacdec ! queue ! pulsesink

Then i see video but i can hear audio only the first one or two seconds.
Then i try this (with queue after demux.video_00):

gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! queue2 !
typefind ! qtdemux name=demux demux.video_00 ! queue ! fluvadec !
fluvasink demux.audio_00 ! fluaacdec ! queue ! pulsesink

Now i can hear sound and see video. But video starts after sound with a
delay at 2 seconds.

Andreas


Am 11.10.2011 07:01, schrieb hcpwll:

> Hi,
>       Do you have check the elements create by playbin2?
>       Maybe playbin2 use diffrent demux, decode or sink element.
>
> At 2011-10-10 21:25:45,"Andreas Rödig"<[hidden email]>  wrote:
>> Hi,
>>
>> yes, playbin2 works fine. I think there is something wrong with my queue
>> in my pipeline. But i don't find some options to sync data streams in
>> pipeline.
>>
>>
>> best Regards,
>> Andreas
>>
>> Am 10.10.2011 15:09, schrieb Icarus Alive:
>>> On Mon, Oct 10, 2011 at 12:16 PM, Andreas Rödig<[hidden email]>   wrote:
>>>> Hi,
>>>>
>>>> i try to build my own pipeline (without playbin2).
>>>>
>>>> Thats what i have at the moment:
>>>>
>>>> gst-launch filesrc location=movie.mov ! queue2 ! qtdemux name=demux
>>>> demux.video_00 ! queue ! fluvadec ! fluvasink demux.audio_00 ! queue !
>>>> fluaacdec ! autoaudiosink
>>>>
>>>> My Problem:
>>>> The Audio is starting directly. But video starts with a 2 seconds delay. And
>>>> than audio and video are not synchron.
>>>>
>>>> What i have to do for synchron video and audio?
>>>
>>> try to print debug traces with playbin2 and figure out it's pipeline.
>>> i hope the sync issue isn't seen with playbin2 ?
>>> in my case, a streaming asf source plays pretty well (no observable
>>> sync issues), but in my "optimized" pipeline, which was built by
>>> observing playbin2, doesn't fare so well. I think in my optimization
>>> drive, I've chopped off some necessary "sync" elements. recreating the
>>> playbin2 pipeline using discrete elements on command-line, completely,
>>> has been a challenge.
>>>
>>> i hope someone can shed some more light on this subject.
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> [hidden email]
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>> --
>> Andreas Rödig
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Audio and video synchronisation

Andreas Rödig
In reply to this post by hcpwll
Hi

yes this pipeline is working. But what i want is a queue2 after filesrc.
I need some harddisk buffer. It works (video is starting with a 2
seconds delay), but video and audio are not in synchron.

Try this with any mov file:
gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! queue2 !
typefind ! qtdemux name=demux demux.video_00 ! queue ! fluvadec !
fluvasink demux.audio_00 ! fluaacdec ! queue ! pulsesink

The only differenc between my cmd pipeline and the playbin2 pipeline is
the multiqueue. Please see my attachment....

Thanks,
Andreas


Am 11.10.2011 14:39, schrieb hcpwll:

> So, Do you means that playbin2 create the same demux,decoder,sink as you used in gst-launch?
> And Can you try the following cmd.
>
> gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! qtdemux name=demux demux.video_00 ! queue ! fluvadec !
> fluvasink demux.audio_00 ! queue  !  fluaacdec ! pulsesink
>
> Maybe,  sent the bitstream StarTrek.mov to me, and I try it base on my platfrom.
>
> At 2011-10-11 15:05:13,"Andreas Rödig"<[hidden email]>  wrote:
>> Hi,
>>
>> i have checked playbin2 pipeline. And this is the result:
>>
>> gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! typefind
>> ! qtdemux name=demux demux.video_00 ! fluvadec ! fluvasink
>> demux.audio_00 ! fluaacdec ! queue ! pulsesink
>>
>> It works and it is synchron. But i need some harddisk buffer like this
>> (with queue2 after filesrc):
>>
>> gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! queue2 !
>> typefind ! qtdemux name=demux demux.video_00 ! fluvadec ! fluvasink
>> demux.audio_00 ! fluaacdec ! queue ! pulsesink
>>
>> Then i see video but i can hear audio only the first one or two seconds.
>> Then i try this (with queue after demux.video_00):
>>
>> gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! queue2 !
>> typefind ! qtdemux name=demux demux.video_00 ! queue ! fluvadec !
>> fluvasink demux.audio_00 ! fluaacdec ! queue ! pulsesink
>>
>> Now i can hear sound and see video. But video starts after sound with a
>> delay at 2 seconds.
>>
>> Andreas
>>
>>
>> Am 11.10.2011 07:01, schrieb hcpwll:
>>> Hi,
>>>        Do you have check the elements create by playbin2?
>>>        Maybe playbin2 use diffrent demux, decode or sink element.
>>>
>>> At 2011-10-10 21:25:45,"Andreas Rödig"<[hidden email]>   wrote:
>>>> Hi,
>>>>
>>>> yes, playbin2 works fine. I think there is something wrong with my queue
>>>> in my pipeline. But i don't find some options to sync data streams in
>>>> pipeline.
>>>>
>>>>
>>>> best Regards,
>>>> Andreas
>>>>
>>>> Am 10.10.2011 15:09, schrieb Icarus Alive:
>>>>> On Mon, Oct 10, 2011 at 12:16 PM, Andreas Rödig<[hidden email]>    wrote:
>>>>>> Hi,
>>>>>>
>>>>>> i try to build my own pipeline (without playbin2).
>>>>>>
>>>>>> Thats what i have at the moment:
>>>>>>file:///home/roedig/Bilder/out.png

>>>>>> gst-launch filesrc location=movie.mov ! queue2 ! qtdemux name=demux
>>>>>> demux.video_00 ! queue ! fluvadec ! fluvasink demux.audio_00 ! queue !
>>>>>> fluaacdec ! autoaudiosink
>>>>>>
>>>>>> My Problem:
>>>>>> The Audio is starting directly. But video starts with a 2 seconds delay. And
>>>>>> than audio and video are not synchron.
>>>>>>
>>>>>> What i have to do for synchron video and audio?
>>>>>
>>>>> try to print debug traces with playbin2 and figure out it's pipeline.
>>>>> i hope the sync issue isn't seen with playbin2 ?
>>>>> in my case, a streaming asf source plays pretty well (no observable
>>>>> sync issues), but in my "optimized" pipeline, which was built by
>>>>> observing playbin2, doesn't fare so well. I think in my optimization
>>>>> drive, I've chopped off some necessary "sync" elements. recreating the
>>>>> playbin2 pipeline using discrete elements on command-line, completely,
>>>>> has been a challenge.
>>>>>
>>>>> i hope someone can shed some more light on this subject.
>>>>> _______________________________________________
>>>>> gstreamer-devel mailing list
>>>>> [hidden email]
>>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>
>>>> --
>>>> Andreas Rödig
>>>>
>>>> _______________________________________________
>>>> gstreamer-devel mailing list
>>>> [hidden email]
>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>
>>>>
>>>> _______________________________________________
>>>> gstreamer-devel mailing list
>>>> [hidden email]
>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

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

out.png (445K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re:Re: Audio and video synchronisation

hcpwll
HI, I have use the similar pipeline to play mov file, It  works well.
So, I have no idea about you case,
But you could print the timestamp and wait clock log to check this issue. 

At 2011-10-11 21:10:38,"Andreas Rödig" <[hidden email]> wrote:

>Hi
>
>yes this pipeline is working. But what i want is a queue2 after filesrc. 
>I need some harddisk buffer. It works (video is starting with a 2 
>seconds delay), but video and audio are not in synchron.
>
>Try this with any mov file:
>gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! queue2 ! 
>typefind ! qtdemux name=demux demux.video_00 ! queue ! fluvadec ! 
>fluvasink demux.audio_00 ! fluaacdec ! queue ! pulsesink
>
>The only differenc between my cmd pipeline and the playbin2 pipeline is 
>the multiqueue. Please see my attachment....
>
>Thanks,
>Andreas
>
>
>Am 11.10.2011 14:39, schrieb hcpwll:
>> So, Do you means that playbin2 create the same demux,decoder,sink as you used in gst-launch?
>> And Can you try the following cmd.
>>
>> gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! qtdemux name=demux demux.video_00 ! queue ! fluvadec !
>> fluvasink demux.audio_00 ! queue  !  fluaacdec ! pulsesink
>>
>> Maybe,  sent the bitstream StarTrek.mov to me, and I try it base on my platfrom.
>>
>> At 2011-10-11 15:05:13,"Andreas Rödig"<[hidden email]>  wrote:
>>> Hi,
>>>
>>> i have checked playbin2 pipeline. And this is the result:
>>>
>>> gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! typefind
>>> ! qtdemux name=demux demux.video_00 ! fluvadec ! fluvasink
>>> demux.audio_00 ! fluaacdec ! queue ! pulsesink
>>>
>>> It works and it is synchron. But i need some harddisk buffer like this
>>> (with queue2 after filesrc):
>>>
>>> gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! queue2 !
>>> typefind ! qtdemux name=demux demux.video_00 ! fluvadec ! fluvasink
>>> demux.audio_00 ! fluaacdec ! queue ! pulsesink
>>>
>>> Then i see video but i can hear audio only the first one or two seconds.
>>> Then i try this (with queue after demux.video_00):
>>>
>>> gst-launch filesrc location=/home/roedig/Videos/StarTrek.mov ! queue2 !
>>> typefind ! qtdemux name=demux demux.video_00 ! queue ! fluvadec !
>>> fluvasink demux.audio_00 ! fluaacdec ! queue ! pulsesink
>>>
>>> Now i can hear sound and see video. But video starts after sound with a
>>> delay at 2 seconds.
>>>
>>> Andreas
>>>
>>>
>>> Am 11.10.2011 07:01, schrieb hcpwll:
>>>> Hi,
>>>>        Do you have check the elements create by playbin2?
>>>>        Maybe playbin2 use diffrent demux, decode or sink element.
>>>>
>>>> At 2011-10-10 21:25:45,"Andreas Rödig"<[hidden email]>   wrote:
>>>>> Hi,
>>>>>
>>>>> yes, playbin2 works fine. I think there is something wrong with my queue
>>>>> in my pipeline. But i don't find some options to sync data streams in
>>>>> pipeline.
>>>>>
>>>>>
>>>>> best Regards,
>>>>> Andreas
>>>>>
>>>>> Am 10.10.2011 15:09, schrieb Icarus Alive:
>>>>>> On Mon, Oct 10, 2011 at 12:16 PM, Andreas Rödig<[hidden email]>    wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> i try to build my own pipeline (without playbin2).
>>>>>>>
>>>>>>> Thats what i have at the moment:
>>>>>>>file:///home/roedig/Bilder/out.png
>
>>>>>>> gst-launch filesrc location=movie.mov ! queue2 ! qtdemux name=demux
>>>>>>> demux.video_00 ! queue ! fluvadec ! fluvasink demux.audio_00 ! queue !
>>>>>>> fluaacdec ! autoaudiosink
>>>>>>>
>>>>>>> My Problem:
>>>>>>> The Audio is starting directly. But video starts with a 2 seconds delay. And
>>>>>>> than audio and video are not synchron.
>>>>>>>
>>>>>>> What i have to do for synchron video and audio?
>>>>>>
>>>>>> try to print debug traces with playbin2 and figure out it's pipeline.
>>>>>> i hope the sync issue isn't seen with playbin2 ?
>>>>>> in my case, a streaming asf source plays pretty well (no observable
>>>>>> sync issues), but in my "optimized" pipeline, which was built by
>>>>>> observing playbin2, doesn't fare so well. I think in my optimization
>>>>>> drive, I've chopped off some necessary "sync" elements. recreating the
>>>>>> playbin2 pipeline using discrete elements on command-line, completely,
>>>>>> has been a challenge.
>>>>>>
>>>>>> i hope someone can shed some more light on this subject.
>>>>>> _______________________________________________
>>>>>> gstreamer-devel mailing list
>>>>>> [hidden email]
>>>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>
>>>>> --
>>>>> Andreas Rödig
>>>>>
>>>>> _______________________________________________
>>>>> gstreamer-devel mailing list
>>>>> [hidden email]
>>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> gstreamer-devel mailing list
>>>>> [hidden email]
>>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



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