[Icecast] theora streaming problem...

Joern Nettingsmeier nettings at folkwang-hochschule.de
Mon Feb 21 22:04:34 UTC 2005


hi everyone!


i'm playing around with theora streaming for the linux audio conference 
2005 (http://lac.zkm.de).

i checked out svn.xiph.org/trunk, built all ogg, vorbis, speex and 
theora related libs from scratch, then pulled icecast-2.2.0.

three issues:


[1]

icecast runs fine as always, but when i do
cat myvideo.ogg | oggfwd myhost 8000 mypasswd /test.ogg, the stream dies 
after a few seconds. (the icecast log is appended below.)

the same command sequence with an ogg vorbis audio file instead of the 
theora video works without problems.


[2]

i tried to follow oddsock's howto at 
http://www.oddsock.org/guides/video.php, but ezstream does not compile 
for me. it bails out with

gcc -DHAVE_CONFIG_H -I. -I. -I..  -Wall -ffast-math -fsigned-char 
-I/usr/local/include  -I/usr/include/libxml2-pthread -g -O2 -c `test -f 
'ezstream.c' || echo './'`ezstream.c
ezstream.c: In function `streamFile':
ezstream.c:385: warning: implicit declaration of function `sleep'
ezstream.c: In function `streamPlaylist':
ezstream.c:406: warning: unused variable `ret'
ezstream.c: In function `main':
ezstream.c:576: error: `SHOUT_FORMAT_OGG' undeclared (first use in this 
function)
ezstream.c:576: error: (Each undeclared identifier is reported only once
ezstream.c:576: error: for each function it appears in.)
make[2]: *** [ezstream.o] Error 1

probably something obvious, but i could not find where SHOUT_FORMAT_OGG 
is defined... libshout is installed, and it's not in there.


[3]

when i transcode an mpeg2 file to theora, it's barely faster than 
realtime on an athlon64 4000+. is this to be expected, or did i forget 
some optimizations? here's the ffmpeg output, so that you can see the 
stream properties.

Input #0, mpeg, from 'Afroman - Because I Got High.mpg':
   Duration: 00:03:13.4, bitrate: 1412 kb/s
   Stream #0.0: Video: mpeg1video, 352x240, 30.00 fps
   Stream #0.1: Audio: mp2, 44100 Hz, stereo, 224 kb/s
   Deinterlace: on
   Resize: 352x240 => 320x240
[mpeg @ 0x2aaaaad18040]read_seek: 0 0
[mpeg @ 0x2aaaaad18040]using cached pos_max=0x380c pos_limit=0x380c 
dts_max=34000
[mpeg @ 0x2aaaaad18040]pos_min=0x1e pos_max=0x380c dts_min=31000 
dts_max=34000
[mpeg @ 0x2aaaaad18040]30 14348 14348 / 31000 34000 34000 target:0 
limit:14348 start:31 noc:1
[mpeg @ 0x2aaaaad18040]pos=0x1e 31000<=0<=34000
       0:00:45.93 audio: 72kbps video: 584kbps


best regards,


jörn




==> log/error.log <==
[2005-02-21  21:48:34] INFO main/main Icecast 2.2.0 server started
[2005-02-21  21:48:34] DBUG yp/yp_recheck_config Updating YP configuration
[2005-02-21  21:48:34] INFO stats/_stats_thread stats thread started
[2005-02-21  21:48:34] INFO fserve/fserv_thread_function file serving 
thread started
[2005-02-21  21:48:34] INFO yp/yp_update_thread YP update thread started
[2005-02-21  21:48:35] DBUG slave/_slave_thread checking master stream list
[2005-02-21  21:48:53] INFO connection/_handle_source_request Source 
logging in at mountpoint "/test.ogg"
[2005-02-21  21:48:53] DBUG connection/connection_complete_source 
sources count is 0
[2005-02-21  21:48:53] DBUG connection/connection_complete_source source 
is ready to start
[2005-02-21  21:48:53] DBUG source/source_init Source creation complete
[2005-02-21  21:48:53] DBUG format-vorbis/initial_vorbis_page checking 
for vorbis codec
[2005-02-21  21:48:53] DBUG format-theora/initial_theora_page checking 
for theora codec
[2005-02-21  21:48:53] INFO format-theora/initial_theora_page seen 
initial theora header
[2005-02-21  21:48:53] DBUG format-ogg/format_ogg_attach_header 
attaching BOS page
[2005-02-21  21:48:53] DBUG format-vorbis/initial_vorbis_page checking 
for vorbis codec
[2005-02-21  21:48:53] INFO format-vorbis/initial_vorbis_page seen 
initial vorbis header
[2005-02-21  21:48:53] DBUG format-ogg/format_ogg_attach_header 
attaching header page
[2005-02-21  21:48:54] DBUG stats/modify_node_event update node 
connections (1)
[2005-02-21  21:48:54] DBUG stats/modify_node_event update node 
source_client_connections (1)
[2005-02-21  21:48:54] DBUG stats/process_source_event new source stat 
/test.ogg
[2005-02-21  21:48:54] DBUG stats/process_source_event new node public (0)
[2005-02-21  21:48:54] DBUG stats/process_source_event new node 
listenurl (http://kleineronkel:8000/test.ogg)
[2005-02-21  21:48:54] DBUG stats/modify_node_event update node sources (1)
[2005-02-21  21:48:54] DBUG stats/modify_node_event update node 
source_total_connections (1)
[2005-02-21  21:48:54] DBUG stats/process_source_event new node 
listeners (0)
[2005-02-21  21:48:54] DBUG stats/process_source_event new node 
server_name (no name)
[2005-02-21  21:48:54] DBUG stats/process_source_event new node 
video_bitrate (0)
[2005-02-21  21:48:54] DBUG stats/process_source_event new node 
video_quality (32)
[2005-02-21  21:48:54] DBUG stats/process_source_event new node 
frame_size (320 x 240)
[2005-02-21  21:48:54] DBUG stats/process_source_event new node 
frame_rate (30.00)

==> log/access.log <==
192.168.0.2 - - [21/Feb/2005:21:49:04 +0000] "SOURCE /test.ogg HTTP/1.0" 
200 19 "-" "libshout/2.0" 11

==> log/error.log <==
[2005-02-21  21:49:04] DBUG source/get_next_buffer last 1109022533, 
timeout 5012226834442, now 1109022544
[2005-02-21  21:49:04] WARN source/get_next_buffer Disconnecting source 
due to socket timeout
[2005-02-21  21:49:04] INFO source/source_shutdown Source "/test.ogg" 
exiting
[2005-02-21  21:49:04] DBUG source/source_clear_source clearing source 
"/test.ogg"
[2005-02-21  21:49:04] DBUG format-ogg/format_ogg_free_headers releasing 
header pages
[2005-02-21  21:49:04] DBUG format-ogg/free_ogg_codecs freeing codecs
[2005-02-21  21:49:04] DBUG format-vorbis/vorbis_codec_free freeing 
vorbis codec
[2005-02-21  21:49:04] DBUG format-theora/theora_codec_free freeing 
theora codec



More information about the Icecast mailing list