View previous topic :: View next topic |
Author |
Message |
bmn
Joined: 03 Aug 2008 Posts: 12
|
Posted: Sun Aug 03, 2008 1:04 am Post subject: Trouble sourcing Theora to Icecast |
|
|
Hi there.
I'm having zero luck getting a Theora stream to work on my Icecast server. I have audio working no problem, but when I try to connect video Icecast shows a supposedly valid mount in status.xsl for a few seconds then it disappears. The source client sends video for 20-40 seconds before losing the connection. I've tried the Visonair client on XP SP3 and oggfwd (via ffmpeg and ffmpeg2theora) on Kubuntu Hardy, and both appear to have the same behaviour, so I'm led to believe the problem's in Icecast itself.
The server is on CentOS Linux 5; libvorbis 1.1.2 and libogg 1.1.3 via RPM; libtheora 1.0b3 and Icecast 2.3.2 from source.
Any help or suggestions would be much welcomed.
A typical error log in Icecast.
Quote: |
[2008-08-02 23:37:30] INFO connection/_handle_source_request Source logging in at mountpoint "/test.ogg"
[2008-08-02 23:37:30] INFO source/source_main listener count on /test.ogg now 0
[2008-08-02 23:37:31] EROR format-ogg/process_initial_page Seen BOS page with unknown type
[2008-08-02 23:37:31] EROR format-ogg/ogg_get_buffer Problem processing stream
[2008-08-02 23:37:31] INFO source/source_shutdown Source "/test.ogg" exiting |
My icecast config. ssr.ogg and 24-7.ogg are audio mountpoints. test.ogg is the video point.
Code: |
<icecast>
<limits>
<sources>2</sources>
</limits>
<authentication>
<source-password>¬_¬</source-password>
<relay-password>¬_¬</relay-password>
<admin-user>¬_¬</admin-user>
<admin-password>¬_¬</admin-password>
</authentication>
<hostname>w00ty.com</hostname>
<listen-socket>
<port>8000</port>
</listen-socket>
<fileserve>1</fileserve>
<paths>
<logdir>/usr/local/var/log/icecast</logdir>
<webroot>/usr/local/share/icecast/web</webroot>
<adminroot>/usr/local/share/icecast/admin</adminroot>
<alias source="/" dest="/status.xsl"/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>3</loglevel>
</logging>
<mount>
<mount-name>/ssr.ogg</mount-name>
<fallback-mount>/24-7.ogg</fallback-mount>
<fallback-override>1</fallback-override>
<charset>ISO8859-1</charset>
<public>0</public>
<stream-name>SEGASonic Radio</stream-name>
<bitrate>32</bitrate>
<hidden>0</hidden>
<burst-size>65536</burst-size>
<mp3-metadata-interval>4096</mp3-metadata-interval>
</mount>
<mount>
<mount-name>/24-7.ogg</mount-name>
<charset>ISO8859-1</charset>
<public>0</public>
<stream-name>SEGASonic Radio</stream-name>
<type>application/ogg</type>
<subtype>vorbis</subtype>
<hidden>1</hidden>
<burst-size>65536</burst-size>
<mp3-metadata-interval>4096</mp3-metadata-interval>
</mount>
<mount>
<mount-name>/test.ogg</mount-name>
<charset>ISO8859-1</charset>
<public>0</public>
<hidden>0</hidden>
<burst-size>65536</burst-size>
<type>application/ogg</type>
<subtype>theora</subtype>
</mount>
<security>
<chroot>0</chroot>
<changeowner>
<user>icecast</user>
<group>icecast</group>
</changeowner>
</security>
</icecast> |
|
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Sun Aug 03, 2008 1:33 am Post subject: |
|
|
From the messages posted it looks like there is an issue with icecast not built with theora support. If you have support enabled then you should see theora mentioned in the error log even if the stream is of an unknown type.
karl. |
|
Back to top |
|
|
bmn
Joined: 03 Aug 2008 Posts: 12
|
Posted: Sun Aug 03, 2008 1:53 am Post subject: |
|
|
Thanks, Karl. Is there any specific method for compiling Icecast with Theora support? I know I installed libtheora before Icecast, but I might not have done it before installing libogg. Could that have made a difference?
Edit: Actually, that's a thought. Is -devel (e.g. libtheora-devel) required for these? Looking at it, libtheora might be the only thing I don't have -devel installed for >_>
Edit 2: Okeys, getting somewhere. Visonair is acting the same way, but the error's changed:
Quote: |
[2008-08-03 02:09:00] INFO connection/_handle_source_request Source logging in at mountpoint "/test.ogg"
[2008-08-03 02:09:00] INFO source/source_main listener count on /test.ogg now 0
[2008-08-03 02:09:01] INFO format-theora/initial_theora_page seen initial theora header
[2008-08-03 02:09:12] WARN source/get_next_buffer Disconnecting source due to socket timeout
[2008-08-03 02:09:12] INFO source/source_shutdown Source "/test.ogg" exiting |
It looks like no actual video's being sent and it's hitting the source timeout. Going to test oggfwd and see if that works any differently.
Last edited by bmn on Sun Aug 03, 2008 2:29 am; edited 1 time in total |
|
Back to top |
|
|
bmn
Joined: 03 Aug 2008 Posts: 12
|
Posted: Sun Aug 03, 2008 2:26 am Post subject: |
|
|
oggfwd is acting the same way - socket timeout after 10 seconds.
I'm using this command to stream:
Code: |
ffmpeg -s 160x120 -r 10 -f video4linux -i /dev/video0 -f yuv4mpegpipe - | ffmpeg2theora - -o /dev/stdout | oggfwd -p -d "" -g "" -u "" w00ty.com 8000 password /test.ogg |
Encoding to the desktop with this works without problems:
Code: |
ffmpeg -s 160x120 -r 10 -f video4linux -i /dev/video0 -f yuv4mpegpipe - | ffmpeg2theora - -o ~/Desktop/moo.ogg |
...I'm lost. >_> |
|
Back to top |
|
|
bmn
Joined: 03 Aug 2008 Posts: 12
|
Posted: Sun Aug 03, 2008 3:21 am Post subject: |
|
|
Problem solved!
I was trying to stream my webcam, which was, at the time, pointing at unmoving objects in the dark. It seems that, with the picture barely changing, and no audio (at least, not yet; going to be using this at a convention I'm helping organise in a week >_>), the source clients were basically sending nothing to Icecast because there was nothing to send after the first keyframe.
Thanks muchly for your help, Karl. I probably wouldn't have thought about Theora not being in Icecast yet, despite seeing it so many freaken times in the forum >_> |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Sun Aug 03, 2008 1:14 pm Post subject: |
|
|
There is a coding fix to go in for low bandwidth theora streams but I'm waiting on some feedback first. That problem is a long standing one that does not show up as a source timeout as that will be down to the lack of any data coming in. It shows up as clients not receiving any data even though there is valid data being received.
karl. |
|
Back to top |
|
|
|