How to save an ogv stream in a file

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

How to save an ogv stream in a file

Carlos Eduardo Matos Ellery
Hi folks,

Using gst-launch, how can I save an HTTP icecast ogg/theora/vorbis
stream to a file?
It must play on cortado applet and cant be reencoded!

I've tried the following with no success (the file plays nice on Totem
but don't on Cortado):

gst-launch-0.10 giosrc location=http://10.200.103.226:8000/stream.ogv
! oggparse ! filesink location=arquivo.ogv

gst-launch-0.10 giosrc location=http://10.200.103.226:8000/stream.ogv
! oggdemux ! oggmux ! filesink location=arquivo.ogv

gst-launch-0.10 giosrc location=http://10.200.103.226:8000/stream.ogv
! oggdemux name=demux ! theoraparse ! mux. demux. ! vorbisparse !
oggmux name=mux ! filesink location=arquivo.ogv

and many others... Seems like some header information is missing, so
cortado applet can't play the files...

Someone have the solution?

Thanks,

Carlos Eduardo Matos Ellery

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to save an ogv stream in a file

Benjamin Schwartz
If you can post an example recorded file we can have a look.  Are you sure
you are using the latest version of Cortado?

--Ben


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

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

Re: How to save an ogv stream in a file

Carlos Eduardo Matos Ellery
Ok Ben,

I'm getting partial success using 'souphttpsrc' with the following pipeline:

$ gst-launch-0.10 --eos-on-shutdown souphttpsrc
location=http://localhost:8000/stream.ogv ! oggparse ! filesink
location=arquivo.ogv

I can save the file and play it on Cortado applet, but the seek is not
working because of wrong information in the headers of the ogv file.
When I run an oggz-validate against the ogv, I get:

$ oggz-validate arquivo.ogv
arquivo.ogv: Error:
serialno 0971371020: missing *** eos
serialno 1055214763: missing *** eos

Against oggz-info returns:

$ oggz-info arquivo.ogv
Content-Duration: 00:27:50.466

Theora: serialno 0971371020
        165 packets in 192 pages, 0.9 packets/page, 2.611% Ogg overhead
        Theora-Version: 3.2.1
        Video-Framerate: 15.000 fps
        Video-Width: 640
        Video-Height: 480

Vorbis: serialno 1055214763
        466 packets in 45 pages, 10.4 packets/page, 3.614% Ogg overhead
        Audio-Samplerate: 22050 Hz
        Audio-Channels: 1

The arquivo.ogv file has only 10 seconds of duration, but the headers
says it has 27 minutes.
I've noted that "27 min" was exactly the duration of the transmission
in the time that the stream was saved.

What element or pipeline would give me the exact duration of the file saved?

Here is a sample of the file saved:
http://dl.dropbox.com/u/8814305/arquivo5.ogv

Regards,

Carlos Eduardo Matos Ellery

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to save an ogv stream in a file

Benjamin Schwartz
Content-Duration is tricky, but I don't think it's likely to interfere
with Cortado.  Cortado's support for file:// URIs is somewhat limited.
Have you tried seeking in arquivo.ogv with Cortado over HTTP?

--Ben


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

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

Re: How to save an ogv stream in a file

Carlos Eduardo Matos Ellery
Yes, Ben, I'm using cortado over HTTP and no success. I have apache
serving the following example page:

<html><body><h1>It works!</h1>
<applet code="com.fluendo.player.Cortado.class"
        archive="http://theora.org/cortado.jar"
        width="640" height="492">
  <param name="url" value="http://localhost/arquivo5.ogv"/>
  <param name="local" value="true"/>
  <!--param name="duration" value="10"/-->
  <param name="keepAspect" value="true"/>
  <param name="video" value="true"/>
  <param name="audio" value="true"/>
  <param name="seekable" value="true"/>

  <param name="live" value="false"/>
  <!--param name="starttime" value="1659"/-->
  <param name="autoPlay" value="true"/>
  <param name="bufferSize" value="100"/>
</applet>
</body></html>

If I set the live streaming, it works. With the file the seek is
crazy, showing a wrong duration
:(

Regards,

Carlos Eduardo Matos Ellery




On Tue, Jul 6, 2010 at 4:09 PM, Benjamin M. Schwartz
<[hidden email]> wrote:
> Content-Duration is tricky, but I don't think it's likely to interfere
> with Cortado.  Cortado's support for file:// URIs is somewhat limited.
> Have you tried seeking in arquivo.ogv with Cortado over HTTP?
>
> --Ben
>
>

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to save an ogv stream in a file

Benjamin Schwartz
OK.  The problem is that your file represents 10 seconds from about 27:40
to 27:50.  In Ogg terms, your "basetime" is 27:40.  The Cortado applet
shows the entire 27:50 range in the seek bar.  There are two solutions.

1.  Change the basetime.  You can do this using the oggz-basetime tool
from the oggz tools (liboggz) ... but oggz-basetime isn't compiled by
default or shipped by most distros, so you'll have to compile it yourself.

2.  Use the latest Cortado from Git, which fixes this problem by starting
the seek bar at the basetime ... which also means you have to use a
pre-release .jar of Cortado.  I happen to have a build environment set up
for it, so here's a special jar built from HEAD, just for you:

http://bemasc.net/~bens/cortado-0.6.0-plus-ellery.jar

--Ben


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

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

Re: How to save an ogv stream in a file

Carlos Eduardo Matos Ellery
Hi Ben, no success yet. :(

Today I've tried your cortado (thank you very much), but the behavior
is the same. The clock on cortado seekbar still show 27:40 to 27:50.
I've compiled my own liboggz and used oggz-basetime, but checking with
diff command, the output file generated by oggz-basetime is exactly
the same of the original file. Running oggz-info still returns
content-duration = 27min. I've tried other tools that come with
liboggz, like fix-eos and rewrite-pages, but without success. The only
win was that setting the starttime param of the cortado applet gives
me a right progress of the seekbar (it steps sec by sec from the begin
to the end), but as I said, the clock still show 27:nn. I've compiled
my own cortado too, with the master snapshot of the git but, as
expected, the result is the same.

Some alternative?

Best regards,

Carlos Eduardo Matos Ellery




On Wed, Jul 7, 2010 at 12:20 AM, Benjamin M. Schwartz
<[hidden email]> wrote:

> OK.  The problem is that your file represents 10 seconds from about 27:40
> to 27:50.  In Ogg terms, your "basetime" is 27:40.  The Cortado applet
> shows the entire 27:50 range in the seek bar.  There are two solutions.
>
> 1.  Change the basetime.  You can do this using the oggz-basetime tool
> from the oggz tools (liboggz) ... but oggz-basetime isn't compiled by
> default or shipped by most distros, so you'll have to compile it yourself.
>
> 2.  Use the latest Cortado from Git, which fixes this problem by starting
> the seek bar at the basetime ... which also means you have to use a
> pre-release .jar of Cortado.  I happen to have a build environment set up
> for it, so here's a special jar built from HEAD, just for you:
>
> http://bemasc.net/~bens/cortado-0.6.0-plus-ellery.jar
>
> --Ben
>
>

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel