Streaming slower than real-time?

About encoding, codec settings, muxers and filter usage
scgroup
Blank Cone
Blank Cone
Posts: 13
Joined: 23 Sep 2004 22:23

Streaming slower than real-time?

Postby scgroup » 26 Sep 2004 10:50

I am seeking software that can stream video (and associated
audio) over a WAN connection that is too slow to permit
real-time operation at the desired quality level.
The system flow would be:
Capture -> Compression CODEC -> Disk FIFO Buffer -> WAN ->
Disk FIFO Buffer -> VLC Media Player.

For example, if it takes 1.5 hours to transmit the video for
a 1-hour event, the viewer could begin watching half an hour
after the event starts, and see the entire performance
without interruption.

Are there any add-ons to VideoLAN that can do this? Or, are
you aware of another package that can perform this function?
If not, is it of widespread interest? If so, I would be
interested in contributing coding effort to such a project.

Thanks,

Stewart

markfm
Big Cone-huna
Big Cone-huna
Posts: 1536
Joined: 22 Feb 2004 17:42

Postby markfm » 26 Sep 2004 22:19

Any chance you could afford to knock the frame rate down, compress at good quality but, say, only 15 frames per second instead of 25 or 30?

(good quality 15 fps, of course, takes less BW than good quality 30 fps)

There's been a recent addition to transcoding, adding fps control.

scgroup
Blank Cone
Blank Cone
Posts: 13
Joined: 23 Sep 2004 22:23

Postby scgroup » 27 Sep 2004 11:30

The content to be viewed is basketball. The available upstream speed is
1000 kb/sec. My present real-time system uses Windows Media Video 9
encoding, downsampling to 320x240, at 752 kb/s video + 16 kb/s audio.
I had done some offline tests with Windows Media Encoder, and found
that at this data rate, motion artifacts were much worse at lower frame
rates, at higher resolution, or with other codecs. Going any faster causes
the picture to freeze during episodes of net congestion.

However, tests at 1.5 mb/s looked pretty good at 640x480. A "spooled"
system should be able to use more of the available bandwidth (FTP goes
at 960 kb/s), so one could start watching about 1.5 hours into the event...

Is there any easy way to make this work?

Thanks,

Stewart

Sigmund
Big Cone-huna
Big Cone-huna
Posts: 893
Joined: 26 Nov 2003 09:38

Postby Sigmund » 27 Sep 2004 12:53

VLC can play a file while downloading, so something like this should work:
1 encode stream to file on disk:
2 share file with http or ftp server
3 start downloading file with any http/ftp client
4 wait
5 start playing file (still not completly downloaded)

scgroup
Blank Cone
Blank Cone
Posts: 13
Joined: 23 Sep 2004 22:23

Postby scgroup » 28 Sep 2004 00:34

Hi Sigmund,

Thanks for the suggestion. VLC does an awesome job on (5). It is
cool to see the seek slider jerk backwards when new content gets
added to the file being played, and to see the total length increasing
as you watch.

I'm having trouble with (2) and (3) though. It seems that most HTTP
servers send a Content-Length header with the size of the file when
opened, and then will only send that amount. Likewise, most FTP
clients send a SIZE command, the server replies with the current size,
and that's all that gets retrieved. It also appears that some FTP servers
in passive mode will only provide data up to the length encountered
when the file is opened, even if the client tries to read more.
It doesn't seem like it should be too hard to fix this, but I'm curious
if you are aware of a client-server pair that will work unmodified.

Also, I'd like to use the Windows Media 9-series codec if possible.
At the bit rates of interest (700 kb/s to 1.5 mb/s), quality seems
better than with MPEG-4 or DivX. But VLC seems to only offer its
built-in codecs. Is there a 'wrapper' codec available that allows one
to utilize codecs installed on the native OS?

Thanks,

Stewart


Return to “VLC stream-output (sout)”

Who is online

Users browsing this forum: No registered users and 15 guests