| View previous topic :: View next topic |
| Author |
Message |
Anonymous Guest
|
Posted: Tue Nov 27, 2007 9:17 am Post subject: AAC intro file |
|
|
Hi guys,
I have been enjoying the use of icecast for some time now and with great success. Recently I migrated from using MP3 files to aacPlus, so that the output bandwidth can also be received by my mobile phone (need to use my flat-rate data plan ).
The only problem right now is that it won't play the introduction file anymore. THe introduction file has been transcoded to the same format as the stream (48kb/s stereo 44100) and resides in the directory /introSound/intro.aac above the <web-root>-directory.
I am able to play the file by calling it directly and winamp gives no errors and the logs are ok, but when using the file as an intro file it fails....
Can anyone help me with this?
Appreciate it...7
MOUNT INFORMATION
| Code: |
<source mount="/Test.aac">
<audio_info>
bitrate=48;samplerate=44100;channels=2;intro=%2fintroSound%2fintro%2eaac
</audio_info>
<bitrate>48</bitrate>
<channels>2</channels>
<genre>Jazz</genre>
<intro>/introSound/intro.aac</intro>
<listener_peak>0</listener_peak>
<listeners>0</listeners>
<listenurl>http://localhost:8000/Test.aac</listenurl>
<max_listeners>unlimited</max_listeners>
<public>0</public>
<samplerate>44100</samplerate>
<server_description>jazz music</server_description>
<server_name>Test mobile stream</server_name>
<server_type>audio/aacp</server_type>
<server_url>http://chicao82.multiply.com</server_url>
<slow_listeners>0</slow_listeners>
<source_ip>xxx.xxx.xxx.xxx</source_ip>
<stream_start>Tue, 27 Nov 2007 09:45:48 +0100</stream_start>
<total_bytes_read>0</total_bytes_read>
<total_bytes_sent>0</total_bytes_sent>
</source>
|
The weird thing is that in my opinion totally nothing is done with the <intro> field. Both the error log and access log see the client connecting, but they state nothing about the <intro> file.
ACCESS LOG MOUNT
| Code: |
xxx.xxx.xxx.xxx - - [27/Nov/2007:09:48:01 +0100] "GET /admin/stats.xml HTTP/1.1" 200 2340 "-" "libwww-perl/5.805" 0
xxx.xxx.xxx.xxx - - [27/Nov/2007:09:48:20 +0100] "GET /Test.aac HTTP/1.0" 200 253538 "-" "WinampMPEG/5.35" 2
xxx.xxx.xxx.xxx - - [27/Nov/2007:09:49:00 +0100] "GET /Test.aac HTTP/1.0" 200 498756 "-" "WinampMPEG/5.35" 40
xxx.xxx.xxx.xxx - - [27/Nov/2007:09:49:01 +0100] "GET /admin/stats.xml HTTP/1.1" 200 2347 "-" "libwww-perl/5.805" 0
|
ACCESS LOG FILE
| Code: |
xxx.xxx.xxx.xxx - - [27/Nov/2007:10:13:26 +0100] "GET /introSound/intro.aac HTTP/1.0" 200 17392 "-" "WinampMPEG/5.35" 0
|
ERROR LOG
| Code: |
[2007-11-27 09:49:00] DBUG stats/modify_node_event update node total_bytes_read (214890670)
[2007-11-27 09:49:00] DBUG stats/modify_node_event update node total_bytes_sent (0)
[2007-11-27 09:49:00] DBUG auth/add_client_to_source max on /Test.aac is -1 (cur 1)
[2007-11-27 09:49:00] DBUG auth/add_client_to_source Added client to /Test.aac
[2007-11-27 09:49:00] DBUG auth/add_authenticated_client client authenticated, passed to source
[2007-11-27 09:49:00] DBUG stats/modify_node_event update node clients (4)
[2007-11-27 09:49:00] DBUG stats/modify_node_event update node connections (2263)
[2007-11-27 09:49:00] DBUG stats/modify_node_event update node client_connections (2254)
[2007-11-27 09:49:00] DBUG stats/modify_node_event update node listener_connections (10)
[2007-11-27 09:49:00] DBUG source/source_main Client added
[2007-11-27 09:49:00] INFO source/source_main listener count on /Test.aac now 2
[2007-11-27 09:49:00] DBUG client/client_send_bytes Client connection died
[2007-11-27 09:49:00] DBUG source/source_main Client removed
[2007-11-27 09:49:00] DBUG format/format_check_http_buffer processing pending client headers
[2007-11-27 09:49:00] INFO source/source_main listener count on /Test.aac now 1
[2007-11-27 09:49:01] DBUG stats/modify_node_event update node listener_peak (2)
[2007-11-27 09:49:01] DBUG stats/modify_node_event update node listeners (2)
[2007-11-27 09:49:01] DBUG stats/modify_node_event update node clients (3)
[2007-11-27 09:49:01] DBUG stats/modify_node_event update node listeners (1)
[2007-11-27 09:49:01] DBUG admin/admin_handle_request Admin request (/admin/stats.xml)
|
|
|
| Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Tue Nov 27, 2007 2:50 pm Post subject: |
|
|
If the intro file option is really set (we can only guess) then you should see the entry mentioned in the error log (even if it fails to open).
karl. |
|
| Back to top |
|
 |
kozlov
Joined: 26 Sep 2006 Posts: 41 Location: Poland, Gdansk
|
Posted: Tue Nov 27, 2007 9:14 pm Post subject: |
|
|
Is your file really compatible with your stream? You should check if file is compiled with use of MPEG-2 or MPEG-4, you shouldn't use Parametric Stereo (or even SBR) if your stream doesn't, you should take care about information tags... hm? _________________ polska dokumentacja serwera Icecast2 / polish documentation of Icecast2 |
|
| Back to top |
|
 |
Anonymous Guest
|
Posted: Wed Nov 28, 2007 8:26 am Post subject: |
|
|
| Quote: |
Is your file really compatible with your stream? You should check if file is compiled with use of MPEG-2 or MPEG-4, you shouldn't use Parametric Stereo (or even SBR) if your stream doesn't, you should take care about information tags... hm?
|
I use exactly the same encoder settings for my stream and for the created intro file (Stereo, ADTS format, 44100, 48 kb/s, SBR implicitly signalled) ADTS is MPEG4 right, maybe I should set that in the <server-type> field, instead of using audio/aacp...
| Quote: |
If the intro file option is really set (we can only guess) then you should see the entry mentioned in the error log (even if it fails to open).
|
I am using libshout 2.2.2 for use by the encoder c++ program. I generate mount points on the fly using this (not static red.), hence I cannot post the configuration of the mount, because it does not exist in the icecast configuration file. The code posted was taken from http://myserver:8000/admin/stats.xml, it was created by the server itself, and it states that the <intro> field is set. For example, if I change the <intro> field in libshout to <Intro>, it is seen on the same page, but it stands above <audio_info>, which is the first xml tag that defines a mount I believe.... |
|
| Back to top |
|
 |
Anonymous Guest
|
|
| Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Wed Nov 28, 2007 3:13 pm Post subject: |
|
|
ok, your icecast xml is generated but that doesn't help us determine much. Your access log does indicate that icecast finds the /introSound/intro.aac file in webroot. You should see a message at level 4 (DBUG) in the error log saying something like
[....] DBUG ... intro file is ....
or maybe a
.... Cannot open intro file
Neither of which has been confirmed or denied
karl. |
|
| Back to top |
|
 |
Anonymous Guest
|
Posted: Wed Nov 28, 2007 3:40 pm Post subject: |
|
|
Tnx for trying to help me out guys.
I'll try to post some more info, here is the code generated in the error.log when the mount is first set-up, I think the problem is originating here, I don't get any messages stating that the intro cannot be opended when a client connects to the stream, I get no messages at all, that's why I think libshout specifies an incorrect format for the <intro> field.... could anyone check into this?
Currently using the format intro= in the <audio_info> field, I already tried to set it up like the bitrate (ice-intro=....) but that does not even show an intro node on the admin page. I think this is the problem, but I cannot find any source code containing how to setup the intro file on the fly. I checked libshout, ezstream, darkice, icegenerator and liquidsoap... but none specify the format.....
Correct me if I am wrong, but I think i am just defining the format wrong, anyone knows how to do it right in the HTTP-request originating from the source?
| Code: |
[2007-11-28 16:26:07] DBUG stats/modify_node_event update node clients (2)
[2007-11-28 16:26:07] DBUG stats/modify_node_event update node connections (4)
[2007-11-28 16:26:07] INFO connection/_handle_source_request Source logging in at mountpoint "/Test2.aac"
[2007-11-28 16:26:07] DBUG connection/connection_complete_source sources count is 1
[2007-11-28 16:26:07] DBUG source/source_apply_mount Applying mount information for "/Test2.aac"
[2007-11-28 16:26:07] DBUG format-mp3/format_mp3_apply_settings mp3 interval -1
[2007-11-28 16:26:07] DBUG source/source_update_settings public set to 0
[2007-11-28 16:26:07] DBUG source/source_update_settings max listeners to -1
[2007-11-28 16:26:07] DBUG source/source_update_settings queue size to 524288
[2007-11-28 16:26:07] DBUG source/source_update_settings burst size to 262144
[2007-11-28 16:26:07] DBUG source/source_update_settings source timeout to 10
[2007-11-28 16:26:07] DBUG source/source_update_settings fallback_when_full to 0
[2007-11-28 16:26:07] DBUG connection/connection_complete_source source is ready to start
[2007-11-28 16:26:07] DBUG fserve/fserve_add_client_callback Adding client to file serving engine
[2007-11-28 16:26:07] DBUG source/source_init Source creation complete
[2007-11-28 16:26:07] DBUG stats/modify_node_event update node sources (2)
[2007-11-28 16:26:07] DBUG stats/process_source_event new source stat /Test2.aac
[2007-11-28 16:26:07] DBUG stats/process_source_event new node public (0)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node server_name (Test stream)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node server_description (Test mobile stream)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node server_url (http://Chicao82.multiply.com)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node genre (Jazz)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node server_type (audio/aac)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node max_listeners (unlimited)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node source_ip (xxx.xxx.xxx.xxx)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node user_agent (AacPlus Encoder v0.1)
[2007-11-28 16:26:07] DBUG stats/modify_node_event update node source_client_connections (2)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node listeners (0)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node bitrate (32)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node samplerate (44100)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node channels (2)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node intro (/introSound/intro.aac)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node audio_info (bitrate=32;samplerate=44100;channels=2;intro=%2fintroSound%2fintro%2eaac)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node listenurl (http://192.168.2.221:8000/Test2.aac)
[2007-11-28 16:26:07] DBUG stats/modify_node_event update node source_total_connections (2)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node slow_listeners (0)
[2007-11-28 16:26:07] DBUG stats/modify_node_event update node listeners (0)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node listener_peak (0)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node stream_start (Wed, 28 Nov 2007 16:26:07 +0100)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node total_bytes_read (0)
[2007-11-28 16:26:07] DBUG stats/process_source_event new node total_bytes_sent (0)
[2007-11-28 16:26:09] DBUG stats/modify_node_event update node total_bytes_read (52295)
[2007-11-28 16:26:09] DBUG stats/modify_node_event update node total_bytes_sent (0)
|
|
|
| Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Wed Nov 28, 2007 3:59 pm Post subject: |
|
|
ah, I see what you are doing. No the intro file setting is in the icecast xml, it is not supplied by the source client. Intro files are only specified by the icecast server because they can apply to both relays and source clients. If you are regenerating the icecast xml then that is where you should add the intro file setting.
I don't think that libshout is aac aware. It can certainly send through aac data but it does no timing (shout_sync) and the content type may very well be limited to ogg and mp3. I haven't heard of anyone doing aac via libshout. Resolving the content type part should be easy enough but timing requires detailed knowledge of the format.
karl |
|
| Back to top |
|
 |
Anonymous Guest
|
Posted: Wed Nov 28, 2007 4:05 pm Post subject: |
|
|
Doing aac via libshout is already built by me;) Timing is built into the encoder, I can set it to real-time streaming, so just sending it as raw data to icecast through libshout works.
Streaming works normally, only problem was the intro file, but I am using random mount-point names, so is there an option in the icecast.xml file where I can put an introfile for all the mount points that will be run upon the server?? |
|
| Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Wed Nov 28, 2007 5:53 pm Post subject: |
|
|
There's no global/default option for it, it wasn't as useful due to the fact that in most cases with multiple mountpoints, they tend to use different formats and/or settings which would make a global intro file setting wrong in one or more cases. The per-mount <intro-file> setting is the what you need to set.
I don't know if it would be useful in your situation but you _could_ avoid the re-writing of the icecast xml by using my branch work (kh27 is latest). You can specify a mount-name like /*.aac and if you wanted to pass source client auth off to a php type script then you can do that via auth url using the stream auth option.
karl. |
|
| Back to top |
|
 |
Anonymous Guest
|
Posted: Thu Nov 29, 2007 11:44 am Post subject: |
|
|
In this thread http://icecast.imux.net/viewtopic.php?t=1156 it is stated that setting:
| Code: |
<mount>
<mount-name>/*.aac</mount-name>
<intro-file>/introSound/intro.aac</intro>
</mount>
|
will also work for all mountpoints containing .aac right?
I have setup an overall broadcast password in the <authentication> fields, which is used be the encoding program and libshout. So authentication for all the mountpoint is done based on the source password set here.
What the difference in using the "normal" icecast and the branch kh27?? |
|
| Back to top |
|
 |
Anonymous Guest
|
Posted: Thu Nov 29, 2007 11:55 am Post subject: |
|
|
Of course the xml
| Quote: |
<intro-file>/introSound/intro.aac</intro>
|
from my previous post should be
| Code: |
| <intro>/introSound/intro.aac</intro> |
|
|
| Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Thu Nov 29, 2007 3:37 pm Post subject: |
|
|
| Sr. Chicao wrote: |
In this thread http://icecast.imux.net/viewtopic.php?t=1156 it is stated that setting:
| Code: |
<mount>
<mount-name>/*.aac</mount-name>
<intro-file>/introSound/intro.aac</intro>
</mount>
|
will also work for all mountpoints containing .aac right?
|
All mountpoints ending in .aac, so /live.aac will match
| Quote: |
I have setup an overall broadcast password in the <authentication> fields, which is used be the encoding program and libshout. So authentication for all the mountpoint is done based on the source password set here.
|
That's fine, the wildcard mount name is just to act as a template for matching several streams with similar settings but obviously authentication can vary.
| Quote: |
What the difference in using the "normal" icecast and the branch kh27?? |
kh27 is more of a settling down release so you should find it very solid. I try out various things in -kh without affecting the trunk code unless I know that a particular feature/bug is resolved. I've already merged a number of things into trunk although a number of items either haven't had enough feedback or are incomplete as-is so those have not been merged. I list any changes to -kh on my site so you will have an idea what those are. While wildcard handling seems without issue, it is still in the not merged but could be pile (I'm not keen on merging it for a 2.3.2 release for instance).
karl. |
|
| Back to top |
|
 |
|