HTTP pseudo-streaming

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

HTTP pseudo-streaming

Julien Isorce
Hi,

It seems that for example youtube or dailymotion use "HTTP pseudo-streaming" : http://en.wikipedia.org/wiki/Flv#Delivery_options
So is there any gstreamer element that could play such flux ? souphttpsrc ? neonhttpsrc ?

I tried :

gst-launch-0.10 neonhttpsrc location=http://www.dailymotion.com/swf/x5merm?autoPlay=1 !  flvdemux ! ffdec_flv ! ffmpegcolorspace ! autovideosink

but nothing happens, the sate is maintained to PAUSED.


Thx

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HTTP pseudo-streaming

Frans van Berckel
Hi,

For what i know, youtube does next to swf, mp4 as well.

http://keepvid.com/

Test it by putting a item url in this web-page and you wil get (a
savable) movie file stream from them to analyse.


Frans van Berckel

On Mon, 2008-06-02 at 23:51 +0200, Julien Isorce wrote:

> Hi,
>
> It seems that for example youtube or dailymotion use "HTTP
> pseudo-streaming" : http://en.wikipedia.org/wiki/Flv#Delivery_options
> So is there any gstreamer element that could play such flux ?
> souphttpsrc ? neonhttpsrc ?
>
>
> I tried :
>
> gst-launch-0.10 neonhttpsrc
> location=http://www.dailymotion.com/swf/x5merm?autoPlay=1 !
> flvdemux ! ffdec_flv ! ffmpegcolorspace ! autovideosink
>
> but nothing happens, the sate is maintained to PAUSED.
>
>
> Thx
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HTTP pseudo-streaming

Julien Isorce
Hi

I do not understand what you suggest. Because when I put the url http://www.dailymotion.com/swf/x5merm?autoPlay=1 into my web browser, I can use File->save as-> and a .swf can be saved ...

It seems that Youtube uses the following server http://www.lighttpd.net/  "lighttpd powers several popular Web 2.0 sites like YouTube, wikipedia and meebo"

http://www.flashcomguru.com/index.cfm/2005/11/2/Streaming-flv-video-via-PHP-take-two
http://blog.lighttpd.net/articles/2006/03/09/flv-streaming-with-lighttpd

Can you be more precise about what you suggest me to test ?

Thx

Sincerely

J.

2008/6/3 Frans van Berckel <[hidden email]>:
Hi,

For what i know, youtube does next to swf, mp4 as well.

http://keepvid.com/

Test it by putting a item url in this web-page and you wil get (a
savable) movie file stream from them to analyse.


Frans van Berckel

On Mon, 2008-06-02 at 23:51 +0200, Julien Isorce wrote:
> Hi,
>
> It seems that for example youtube or dailymotion use "HTTP
> pseudo-streaming" : http://en.wikipedia.org/wiki/Flv#Delivery_options
> So is there any gstreamer element that could play such flux ?
> souphttpsrc ? neonhttpsrc ?
>
>
> I tried :
>
> gst-launch-0.10 neonhttpsrc
> location=http://www.dailymotion.com/swf/x5merm?autoPlay=1 !
> flvdemux ! ffdec_flv ! ffmpegcolorspace ! autovideosink
>
> but nothing happens, the sate is maintained to PAUSED.
>
>
> Thx
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HTTP pseudo-streaming

Benoit Fouet
In reply to this post by Julien Isorce
Hi,

Julien Isorce wrote:

> Hi,
>
> It seems that for example youtube or dailymotion use "HTTP
> pseudo-streaming" : http://en.wikipedia.org/wiki/Flv#Delivery_options
> So is there any gstreamer element that could play such flux ?
> souphttpsrc ? neonhttpsrc
> <http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html>
> ?
>
> I tried :
>
> gst-launch-0.10 neonhttpsrc
> location=http://www.dailymotion.com/swf/x5merm?autoPlay=1 !  flvdemux
> ! ffdec_flv ! ffmpegcolorspace ! autovideosink
>
> but nothing happens, the sate is maintained to PAUSED.
>

you have to get the "real" URL of the video, not the link to the
embedded player.

--
Benoit Fouet
Purple Labs S.A.
www.purplelabs.com

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HTTP pseudo-streaming

Julien Isorce
yes sure and that is that I wanted too.

I read again the Frans Van Berckel 's mail and I finally understood what it means.
So I put the http://www.dailymotion.com/swf/x5merm?autoPlay=1 in the web site he gave but the link is not resolved
( http://keepvid.com/ )

I finally got an dailymotion url . So the following pipeline works fine :

gst-launch-0.10 -v neonhttpsrc location="http://proxy-33.dailymotion.com/14/848x480/on2/8398448.on2?9f4c43f828e23584e9d28a4fdc03006813460ae" ! queue ! flvdemux ! fakesink

I tried to connect a ffdec_flv to the flvdemux but it's not working.

A youtube link from http://keepvid.com/ , it's said that it's a mp4 source :

gst-launch-0.10 -v -m neonhttpsrc location="http://vp.video.google.com/videoplayback?id=eeaef0ce92daf284&itag=18&begin=0&len=604800000&signature=32FE30AA6EEB1CA5FAEB3E39CC1D252CD4AD110F.73B7FF8DBE5AD1BE41936DF5427B03FA3E91F44A&ip=74.86.48.26&ipbits=16&expire=1212501622&key=yt1&sver=2" ! queue ! fakesink

But I do not know what demuxer I have to use, I tried

Thx for help

J.


2008/6/3 Benoit Fouet <[hidden email]>:
Hi,

Julien Isorce wrote:
> Hi,
>
> It seems that for example youtube or dailymotion use "HTTP
> pseudo-streaming" : http://en.wikipedia.org/wiki/Flv#Delivery_options
> So is there any gstreamer element that could play such flux ?
> souphttpsrc ? neonhttpsrc
> <http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html>
> ?
>
> I tried :
>
> gst-launch-0.10 neonhttpsrc
> location=http://www.dailymotion.com/swf/x5merm?autoPlay=1 !  flvdemux
> ! ffdec_flv ! ffmpegcolorspace ! autovideosink
>
> but nothing happens, the sate is maintained to PAUSED.
>

you have to get the "real" URL of the video, not the link to the
embedded player.

--
Benoit Fouet
Purple Labs S.A.
www.purplelabs.com


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HTTP pseudo-streaming

Benoit Fouet
Hi,

Julien Isorce wrote:

> yes sure and that is that I wanted too.
>
> I read again the Frans Van Berckel 's mail and I finally understood
> what it means.
> So I put the http://www.dailymotion.com/swf/x5merm?autoPlay=1 in the
> web site he gave but the link is not resolved
> ( http://keepvid.com/ )
>
> I finally got an dailymotion url . So the following pipeline works fine :
>
> gst-launch-0.10 -v neonhttpsrc
> location="http://proxy-33.dailymotion.com/14/848x480/on2/8398448.on2?9f4c43f828e23584e9d28a4fdc03006813460ae"
> ! queue ! flvdemux ! fakesink
>
> I tried to connect a ffdec_flv to the flvdemux but it's not working.
>

this is a flash VP6 video in flv container

and this is H.264 video in a mov container
(I didn't try to play it with a GStreamer player, though)

--
Benoit Fouet
Purple Labs S.A.
www.purplelabs.com

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HTTP pseudo-streaming

Wim Taymans
In reply to this post by Julien Isorce
On Tue, 2008-06-03 at 10:21 +0200, Julien Isorce wrote:

> yes sure and that is that I wanted too.
>
> I read again the Frans Van Berckel 's mail and I finally understood
> what it means.
> So I put the http://www.dailymotion.com/swf/x5merm?autoPlay=1 in the
> web site he gave but the link is not resolved
> ( http://keepvid.com/ )
>
> I finally got an dailymotion url . So the following pipeline works
> fine :
>
> gst-launch-0.10 -v neonhttpsrc
> location="http://proxy-33.dailymotion.com/14/848x480/on2/8398448.on2?9f4c43f828e23584e9d28a4fdc03006813460ae" ! queue ! flvdemux ! fakesink
>
> I tried to connect a ffdec_flv to the flvdemux but it's not working.

Of course ffdec_flv is not working! the caps indicate you need
ffdec_vp6f and... wow! it suddenly works then. Also playbin could have
figured that out for you too (hint -v to see what elements are used)...

>
> A youtube link from http://keepvid.com/ , it's said that it's a mp4
> source :
>
> gst-launch-0.10 -v -m neonhttpsrc
> location="http://vp.video.google.com/videoplayback?id=eeaef0ce92daf284&itag=18&begin=0&len=604800000&signature=32FE30AA6EEB1CA5FAEB3E39CC1D252CD4AD110F.73B7FF8DBE5AD1BE41936DF5427B03FA3E91F44A&ip=74.86.48.26&ipbits=16&expire=1212501622&key=yt1&sver=2" ! queue ! fakesink
>
> But I do not know what demuxer I have to use, I tried

Adding typefind after neonhttpsrc and before fakesink tells me it's
audio/x-m4a, which is something qtdemux understands. Again playbin
manages to figure that out too.

Wim

>
> Thx for help
>
> J.
>
>
> 2008/6/3 Benoit Fouet <[hidden email]>:
>         Hi,
>        
>         Julien Isorce wrote:
>         > Hi,
>         >
>         > It seems that for example youtube or dailymotion use "HTTP
>         > pseudo-streaming" :
>         http://en.wikipedia.org/wiki/Flv#Delivery_options
>         > So is there any gstreamer element that could play such
>         flux ?
>         > souphttpsrc ? neonhttpsrc
>        
>         >
>         <http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html>
>         > ?
>         >
>         > I tried :
>         >
>         > gst-launch-0.10 neonhttpsrc
>         > location=http://www.dailymotion.com/swf/x5merm?autoPlay=1 !
>          flvdemux
>         > ! ffdec_flv ! ffmpegcolorspace ! autovideosink
>         >
>         > but nothing happens, the sate is maintained to PAUSED.
>         >
>        
>        
>         you have to get the "real" URL of the video, not the link to
>         the
>         embedded player.
>        
>         --
>         Benoit Fouet
>         Purple Labs S.A.
>         www.purplelabs.com
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HTTP pseudo-streaming

Julien Isorce
In reply to this post by Benoit Fouet
ok thx, the pipelines are :

dailymotion:

gst-launch-0.10 neonhttpsrc location="http://proxy-33.dailymotion.com/14/848x480/on2/8398448.on2?9f4c43f828e23584e9d28a4fdc03006813460ae" ! queue ! flvdemux ! ffdec_vp6f ! ffmpegcolorspace ! autovideosink

youtube

gst-launch-0.10 neonhttpsrc location="http://vp.video.google.com/videoplayback?id=eeaef0ce92daf284&itag=18&begin=0&len=604800000&signature=32FE30AA6EEB1CA5FAEB3E39CC1D252CD4AD110F.73B7FF8DBE5AD1BE41936DF5427B03FA3E91F44A&ip=74.86.48.26&ipbits=16&expire=1212501622&key=yt1&sver=2" ! queue ! qtdemux ! ffdec_h264 ! ffmpegcolorspace ! autovideosink


It works fine on windows, I have not tried on linux.

Thx for all the informations

J.

2008/6/3 Benoit Fouet <[hidden email]>:
Hi,

Julien Isorce wrote:
> yes sure and that is that I wanted too.
>
> I read again the Frans Van Berckel 's mail and I finally understood
> what it means.
> So I put the http://www.dailymotion.com/swf/x5merm?autoPlay=1 in the
> web site he gave but the link is not resolved
> ( http://keepvid.com/ )
>
> I finally got an dailymotion url . So the following pipeline works fine :
>
> gst-launch-0.10 -v neonhttpsrc
> location="http://proxy-33.dailymotion.com/14/848x480/on2/8398448.on2?9f4c43f828e23584e9d28a4fdc03006813460ae"
> ! queue ! flvdemux ! fakesink
>
> I tried to connect a ffdec_flv to the flvdemux but it's not working.
>

this is a flash VP6 video in flv container
and this is H.264 video in a mov container
(I didn't try to play it with a GStreamer player, though)

--
Benoit Fouet
Purple Labs S.A.
www.purplelabs.com


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HTTP pseudo-streaming

Julien Isorce
In reply to this post by Wim Taymans
ok thx Wimn

and with video + audio :

dailymotion :

gst-launch-0.10 -v neonhttpsrc location="http://proxy-33.dailymotion.com/14/848x480/on2/8398448.on2?9f4c43f828e23584e9d28a4fdc03006813460ae" ! queue ! flvdemux name=d d. ! queue ! ffdec_vp6f ! ffmpegcolorspace ! directdrawsink d. ! queue ! ffdec_mp3 ! audioconvert ! directsoundsink

youtube:

gst-launch-0.10 neonhttpsrc location="http://vp.video.google.com/videoplayback?id=eeaef0ce92daf284&itag=18&begin=0&len=604800000&signature=32FE30AA6EEB1CA5FAEB3E39CC1D252CD4AD110F.73B7FF8DBE5AD1BE41936DF5427B03FA3E91F44A&ip=74.86.48.26&ipbits=16&expire=1212501622&key=yt1&sver=2" ! queue ! qtdemux name=d d. ! queue ! ffdec_h264 ! xvimagesink d. ! queue ! faad ! alsasink

J.

2008/6/3 Wim Taymans <[hidden email]>:
On Tue, 2008-06-03 at 10:21 +0200, Julien Isorce wrote:
> yes sure and that is that I wanted too.
>
> I read again the Frans Van Berckel 's mail and I finally understood
> what it means.
> So I put the http://www.dailymotion.com/swf/x5merm?autoPlay=1 in the
> web site he gave but the link is not resolved
> ( http://keepvid.com/ )
>
> I finally got an dailymotion url . So the following pipeline works
> fine :
>
> gst-launch-0.10 -v neonhttpsrc
> location="http://proxy-33.dailymotion.com/14/848x480/on2/8398448.on2?9f4c43f828e23584e9d28a4fdc03006813460ae" ! queue ! flvdemux ! fakesink
>
> I tried to connect a ffdec_flv to the flvdemux but it's not working.

Of course ffdec_flv is not working! the caps indicate you need
ffdec_vp6f and... wow! it suddenly works then. Also playbin could have
figured that out for you too (hint -v to see what elements are used)...

>
> A youtube link from http://keepvid.com/ , it's said that it's a mp4
> source :
>
> gst-launch-0.10 -v -m neonhttpsrc
> location="http://vp.video.google.com/videoplayback?id=eeaef0ce92daf284&itag=18&begin=0&len=604800000&signature=32FE30AA6EEB1CA5FAEB3E39CC1D252CD4AD110F.73B7FF8DBE5AD1BE41936DF5427B03FA3E91F44A&ip=74.86.48.26&ipbits=16&expire=1212501622&key=yt1&sver=2" ! queue ! fakesink
>
> But I do not know what demuxer I have to use, I tried

Adding typefind after neonhttpsrc and before fakesink tells me it's
audio/x-m4a, which is something qtdemux understands. Again playbin
manages to figure that out too.

Wim

>
> Thx for help
>
> J.
>
>
> 2008/6/3 Benoit Fouet <[hidden email]>:
>         Hi,
>
>         Julien Isorce wrote:
>         > Hi,
>         >
>         > It seems that for example youtube or dailymotion use "HTTP
>         > pseudo-streaming" :
>         http://en.wikipedia.org/wiki/Flv#Delivery_options
>         > So is there any gstreamer element that could play such
>         flux ?
>         > souphttpsrc ? neonhttpsrc
>
>         >
>         <http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html>
>         > ?
>         >
>         > I tried :
>         >
>         > gst-launch-0.10 neonhttpsrc
>         > location=http://www.dailymotion.com/swf/x5merm?autoPlay=1 !
>          flvdemux
>         > ! ffdec_flv ! ffmpegcolorspace ! autovideosink
>         >
>         > but nothing happens, the sate is maintained to PAUSED.
>         >
>
>
>         you have to get the "real" URL of the video, not the link to
>         the
>         embedded player.
>
>         --
>         Benoit Fouet
>         Purple Labs S.A.
>         www.purplelabs.com
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HTTP pseudo-streaming

Wouter Cloetens-2
In reply to this post by Julien Isorce
On Mon, Jun 02, 2008 at 11:51:19PM +0200, Julien Isorce wrote:
> It seems that for example youtube or dailymotion use "HTTP pseudo-streaming"
> : http://en.wikipedia.org/wiki/Flv#Delivery_options

As far as I can tell from that, the only requirement on the HTTP source
element is to implement random access by requesting byte ranges.

> So is there any gstreamer element that could play such flux ? souphttpsrc ?
> neonhttpsrc<http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html>?

souphttpsrc, neonhttpsrc and gnomevfssrc all support random access.

"Streaming via HTTP requires a custom player and the injection of
specific Flash Video metadata containing the exact starting position in
bytes and timecode of each keyframe. Using this specific information, a
custom Flash Video player can request any part of the Flash Video file
starting at a specified keyframe. For example, Google Video and Youtube
support progressive downloading and can seek to any part of the video
before buffering is complete. "

Making your player so clever as to do that as well is another issue on
which I can't really comment.

bfn, Wouter

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HTTP pseudo-streaming

Florent THIERY-2
In reply to this post by Julien Isorce
Hi Julien,

For reference, you'll find:
* old sorenson codec encoded videos (h263), which are decoded with
ffdec_flv and demuxed with ffdemux_flv
* on2 vp6 videos, which need the ffdec_vp6f and demuxed with ffdemux_flv
* h264 videos, mp4 muxed. With some differences too: the mov's atom
(index) is traditionally at the end of the file; for "real" http
progressive streaming (without complete pre-buffering), some online
websites that do progressive h264 http streaming do move the atom at
the beginning of the file (using qt-faststart.c)

Looking at media center e.g. elisa code might help you with getting
original video files from websites such as youtube in the "classic"
fashion (i believe it uses youtube's public api for retrieving the
videos).

> Making your player so clever as to do that as well is another issue on
> which I can't really comment.

One would have to use the FLV's keyframe index as seeking reference
for the http src element. I already tried playing back an http hosted
video, without success. How does random access work ? When seeking the
source, is the index (moov atom/flv index) used at all ?

Flo

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HTTP pseudo-streaming

Julien Moutte-2
Hi Guys,

When implementing flvdemux I've made special efforts to parse the index
object in the metadata field.

Having this index, the demuxer is able to handle seeking with a HTTP 1.1
source element like neonhttpsrc.

So a simple pipeline like :

neonhttpsrc ! flvdemux ! queue ! ffdec_vp6f ! queue ! xvimagesink

should be able to do remote seeking using bytes range requests exactly
like a Google Video player or Dailymotion player.

Don't use ffdemux_flv it's crappy and does not handle all that.

Best regards,

Julien Moutte,
FLUENDO S.A.

Florent wrote:

> Hi Julien,
>
> For reference, you'll find:
> * old sorenson codec encoded videos (h263), which are decoded with
> ffdec_flv and demuxed with ffdemux_flv
> * on2 vp6 videos, which need the ffdec_vp6f and demuxed with ffdemux_flv
> * h264 videos, mp4 muxed. With some differences too: the mov's atom
> (index) is traditionally at the end of the file; for "real" http
> progressive streaming (without complete pre-buffering), some online
> websites that do progressive h264 http streaming do move the atom at
> the beginning of the file (using qt-faststart.c)
>
> Looking at media center e.g. elisa code might help you with getting
> original video files from websites such as youtube in the "classic"
> fashion (i believe it uses youtube's public api for retrieving the
> videos).
>
>> Making your player so clever as to do that as well is another issue on
>> which I can't really comment.
>
> One would have to use the FLV's keyframe index as seeking reference
> for the http src element. I already tried playing back an http hosted
> video, without success. How does random access work ? When seeking the
> source, is the index (moov atom/flv index) used at all ?
>
> Flo
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel