PDA

View Full Version : AlienBBC improvements



John Gorst
2004-11-25, 13:29
Fast forward of 'listen again'
BBC website says that fast forward is not possible (is that just a
purposfule limitation of the bbc popup application), but it is possible
to skip 5 minutes forward into the programme. Would this be possible
with AlienBBC?

Saving 'timeout' setting of transcoder-proxy
On my system it was necessary to reduce this from 0.001 to 0.1 to get
reasonable idle CPU usage from the transcoder-proxy.pl process. I can
see that every time I upgrade AlienBBC (or even worse if it is ever
included within the slimserver download) I will have to edit this value
manually each time. Maybe this should be editable within the slimserver
web interface, and saved with the slimserver config file?

Cheers

John Gorst
2004-11-25, 14:31
Display of 'listen again' programmes
When 'listen again' programmes are displayed on the softsqueeze display
if there is more than one day that the programee is on it displays these
days underneath the name of the program. However in the web display the
programes are listed in alphabetic order, also sorting all the anmes of
days into alphabetical order. An exaple of this is listen again-->radio
1-->chris moyles

John Gorst
2004-11-25, 14:45
Box to copy and paste audio stream urls into
Using the web interface (standard skin) it is possible to copy and paste
mp3 audio streams into the page http://serverip:9000/html/docs/radio.html
Perhaps a similar box should be present for alienstream. Perhaps on the
same page, or maybe on the specific AlienBBC plugin webpages?

Jules Taplin
2004-11-25, 15:28
Hey John.

Fast Forward and Rewind are not likely to be easy to implement. In
fact... I can't even think of a design for it at the moment.

And as for the timeout on the transcoder proxy... there are moves afoot
which might make this completely irrelevant. At the very least, there's
no real reason why the transcoder can't effectively go to sleep (waking
every half second or so) unless it's got at least one stream that it's
serving. We'll try to get something like that out in the next version.


-- Jules


John Gorst wrote:

>
> Fast forward of 'listen again'
> BBC website says that fast forward is not possible (is that just a
> purposfule limitation of the bbc popup application), but it is
> possible to skip 5 minutes forward into the programme. Would this be
> possible with AlienBBC?
>
> Saving 'timeout' setting of transcoder-proxy
> On my system it was necessary to reduce this from 0.001 to 0.1 to get
> reasonable idle CPU usage from the transcoder-proxy.pl process. I can
> see that every time I upgrade AlienBBC (or even worse if it is ever
> included within the slimserver download) I will have to edit this
> value manually each time. Maybe this should be editable within the
> slimserver web interface, and saved with the slimserver config file?
>
> Cheers
>
>

Jules Taplin
2004-11-25, 15:42
Eek. Trying to work out what you mean there meant I actually ended up
listening to Radio 1 briefly. That's not good!

I do see what you mean, though. Actually... this is slightly annoying,
and not obvious how to do the right thing. The lists on 'listen again'
on the Squeezebox interface are presented in the order in which they are
parsed from the page... but the web interface sorts the entries first. I
could remove the sorting, but then it makes it even harder to navigate
everywhere else. The basic problem is that the listen again pages on the
BBC website don't have a link called: 'Chris Moyles: Mon', or similar...
they'll have some layup, and the actual programmes will have text tags
of things like 'MON', or 'TUE'. This makes the Listen Again parser
appear smarter than it is. Not sure I can do a lot about this.


-- Jules

John Gorst wrote:

>
> Display of 'listen again' programmes
> When 'listen again' programmes are displayed on the softsqueeze
> display if there is more than one day that the programee is on it
> displays these days underneath the name of the program. However in the
> web display the programes are listed in alphabetic order, also sorting
> all the anmes of days into alphabetical order. An exaple of this is
> listen again-->radio 1-->chris moyles
>
>

Jules Taplin
2004-11-25, 15:43
Yup. Could do that. I'm kinda hoping somebody will volunteer to make the
web-page interface less sucky (I only really implemented it as a proof
of concept). Personally... I don't tend to use the web interface for
any of Slimserver - why would I do that when I can talk to the devices
instead?


-- Jules


John Gorst wrote:

>
> Box to copy and paste audio stream urls into
> Using the web interface (standard skin) it is possible to copy and
> paste mp3 audio streams into the page
> http://serverip:9000/html/docs/radio.html
> Perhaps a similar box should be present for alienstream. Perhaps on
> the same page, or maybe on the specific AlienBBC plugin webpages?
>
>

John Gorst
2004-11-25, 16:00
Jules Taplin wrote:
> Hey John.
>
> Fast Forward and Rewind are not likely to be easy to implement. In
> fact... I can't even think of a design for it at the moment.

How about a 'skip 5 minutes' like the bbc has?

kdf
2004-11-25, 16:32
Quoting John Gorst <john_gorst (AT) hotmail (DOT) com>:

> Jules Taplin wrote:
> > Hey John.
> >
> > Fast Forward and Rewind are not likely to be easy to implement. In
> > fact... I can't even think of a design for it at the moment.
>
> How about a 'skip 5 minutes' like the bbc has?

unless you buffer 5 minutes ahead of playing, there is no way to simply jump
forward into a stream you haven't yet recieved. This is the same problem behind
ff/rwd not working for any transcoding in slimserver. The files are being
streamed, and you can't simply jump ahead in time without buffering. You can't
buffer without a delay starting up. So, it will all come down to who is last
person standing in the two camps. Low latency, or ffwd capability.

Transcoding at least has the advantage of locally stored files. For certain
formats, like FLAC it may be possible to jump becuase the FLAC codec utility
has controls for accessing the middle of the file by time index. Internet
streaming, you are restricted to only what has come before.

-kdf

John Gorst
2004-11-25, 16:54
kdf wrote:
> unless you buffer 5 minutes ahead of playing, there is no way to simply jump
> forward into a stream you haven't yet recieved. This is the same problem behind
> ff/rwd not working for any transcoding in slimserver. The files are being
> streamed, and you can't simply jump ahead in time without buffering. You can't
> buffer without a delay starting up. So, it will all come down to who is last
> person standing in the two camps. Low latency, or ffwd capability.
>
> Transcoding at least has the advantage of locally stored files. For certain
> formats, like FLAC it may be possible to jump becuase the FLAC codec utility
> has controls for accessing the middle of the file by time index. Internet
> streaming, you are restricted to only what has come before.
>
> -kdf

I understand where you are coming from there.

However, for AlienBBC only (listen again streams), when the ffwd button
is pressed could it not just start streaming from 5 minutes further into
the programme? It must be possible, atleast using the real audio player,
without buffering the whole five minutes as this is what the bbc radio
player popup does.

Perhaps when the ffwd button is pressed it should ask you to enter the
number of seconds to jump forward by?

Here is the javascript from the bbc player popup - obviously this will
not work with mplayer. But perhaps there is a way to pursuade mplayer to
start streaming from a defined point in hte stream?

<script language="JavaScript" type="text/javascript">
<!--
if(navigator.userAgent.indexOf('Opera')==-1){
if(ismac==false){
document.write('<a href="#" title="Fast forward 5 minutes"
onclick="RealPlayerFF(5);return false;"
onkeypress="RealPlayerFF(5);return false;"></a>');
document.write('<a href="#" title="Fast forward 15 minutes"
onclick="RealPlayerFF(15);return false;"
onkeypress="RealPlayerFF(15);return false;"></a>');
}
}
//-->
</script>

John Gorst
2004-11-25, 17:19
Jules Taplin wrote:
> Hey John.
>
> Fast Forward and Rewind are not likely to be easy to implement. In
> fact... I can't even think of a design for it at the moment.

Rather than fast-forward or rewind we could have 'skip to time...'

As you know a lot better than me the real audio stream is hidden within
the web pages of the bbc radio player. I assume mplayer plays the stream
like for example:
rtsp://rmv8.bbc.net.uk/radio3/worldroutes.ra?start=1:34

You will notice it has a ?start=mins:secs
If you copy this link into real player you can mess round with the mins
and secs and skip to various parts of the stream.

I assume you get to this .ra stream by parsing the .rpm file as I assume
mplayer only likes reading directly from the .ra file?

If this is the case you may be able to add an option to skip to a
specific time within the .ra stream. This oculd be done in two ways:
(1) pressing fwd on the remote whilst playing a listen again stream
causes a 'skip to where' dialouge box to appear. This could be a enter
time box or a scroll box like the volume setting?

(2) if it is too involved to add this to the main slimserver code (as
such a minority use alienbbc) it could be an option when we initially
start playing a stream from the plugin menu? Perhaps pressing the play
button woudl play the highlighted stream from the start, but pressing
the right button would ask you where you want to start the stream from?

kdf
2004-11-25, 17:33
Quoting John Gorst <john_gorst (AT) hotmail (DOT) com>:

> kdf wrote:
> > unless you buffer 5 minutes ahead of playing, there is no way to simply
> jump
> > forward into a stream you haven't yet recieved. This is the same problem
> behind
> > ff/rwd not working for any transcoding in slimserver. The files are being
> > streamed, and you can't simply jump ahead in time without buffering. You
> can't
> > buffer without a delay starting up. So, it will all come down to who is
> last
> > person standing in the two camps. Low latency, or ffwd capability.
> >
> > Transcoding at least has the advantage of locally stored files. For
> certain
> > formats, like FLAC it may be possible to jump becuase the FLAC codec
> utility
> > has controls for accessing the middle of the file by time index. Internet
> > streaming, you are restricted to only what has come before.
> >
> > -kdf
>
> I understand where you are coming from there.
>
> However, for AlienBBC only (listen again streams), when the ffwd button
> is pressed could it not just start streaming from 5 minutes further into
> the programme? It must be possible, atleast using the real audio player,
> without buffering the whole five minutes as this is what the bbc radio
> player popup does.
>
> Perhaps when the ffwd button is pressed it should ask you to enter the
> number of seconds to jump forward by?
>
> Here is the javascript from the bbc player popup - obviously this will
> not work with mplayer. But perhaps there is a way to pursuade mplayer to
> start streaming from a defined point in hte stream?

its more a matter of being able to tell the bbc server to start further along in
teh stream. If the commands that the javascript accesses can be triggered via
an mms: or other protocol request, then there may be a way. AlienBBC would
also have to co-opt the 'now playing' mode so that the ffwd button can be
reassigned, but that's certainly doable. I submitted in a patch some time ago
so that the alarmPlugin could do that.

-kdf

kdf
2004-11-25, 18:04
Quoting John Gorst <john_gorst (AT) hotmail (DOT) com>:

> Jules Taplin wrote:
> > Hey John.
> >
> > Fast Forward and Rewind are not likely to be easy to implement. In
> > fact... I can't even think of a design for it at the moment.
>
> Rather than fast-forward or rewind we could have 'skip to time...'
>
> As you know a lot better than me the real audio stream is hidden within
> the web pages of the bbc radio player. I assume mplayer plays the stream
> like for example:
> rtsp://rmv8.bbc.net.uk/radio3/worldroutes.ra?start=1:34
>
> You will notice it has a ?start=mins:secs
> If you copy this link into real player you can mess round with the mins
> and secs and skip to various parts of the stream.
>
> I assume you get to this .ra stream by parsing the .rpm file as I assume
> mplayer only likes reading directly from the .ra file?
>
> If this is the case you may be able to add an option to skip to a
> specific time within the .ra stream. This oculd be done in two ways:
> (1) pressing fwd on the remote whilst playing a listen again stream
> causes a 'skip to where' dialouge box to appear. This could be a enter
> time box or a scroll box like the volume setting?
>
> (2) if it is too involved to add this to the main slimserver code (as
> such a minority use alienbbc) it could be an option when we initially
> start playing a stream from the plugin menu? Perhaps pressing the play
> button woudl play the highlighted stream from the start, but pressing
> the right button would ask you where you want to start the stream from?

Dean wanted me to look at ways to drop in teh song scanner plugin. Its possible
that this could be a workable way to set the position, and you can set teh
INPUT.Bar callback to make the GET with hte start time params. The only trick
is how to scale the bar without an overall duration. You could then bounce to
INPUT.Bar on play-hold from your plugin, or just play from start on play.

-kdf

John Gorst
2004-11-25, 18:15
John Gorst wrote:
> Jules Taplin wrote:
>
>> Hey John.
>>
>> Fast Forward and Rewind are not likely to be easy to implement. In
>> fact... I can't even think of a design for it at the moment.
>
>
> Rather than fast-forward or rewind we could have 'skip to time...'
>
> As you know a lot better than me the real audio stream is hidden within
> the web pages of the bbc radio player. I assume mplayer plays the stream
> like for example:
> rtsp://rmv8.bbc.net.uk/radio3/worldroutes.ra?start=1:34

The command:
mplayer -cache 32 rtsp://rmv8.bbc.net.uk/radio3/worldroutes.ra?start=1:34

works very well for me, and if I adjust the 1:34 bit I can jump to
differnt parts of the stream.

I obtained the above link by downloading the file
http://www.bbc.co.uk/radio/aod/rpms/worldroutes.rpm
This file was found by looking at the html source of the radio on demand
pop-up which is how I assume alienbbc finds the source.

As a side note i get quite a lot of jumping and skipping with the cache
set at 32 (which is how it is set in transcoder_proxy.pl). Upping it to
64 makes no differnce (on my 300k connection) but makes the stream a lot
smoother.

Roy M. Silvernail
2004-11-25, 22:41
John Gorst wrote:

> John Gorst wrote:
>
>> Jules Taplin wrote:
>>
>>> Hey John.
>>>
>>> Fast Forward and Rewind are not likely to be easy to implement. In
>>> fact... I can't even think of a design for it at the moment.
>>
>>
>>
>> Rather than fast-forward or rewind we could have 'skip to time...'
>>
>> As you know a lot better than me the real audio stream is hidden
>> within the web pages of the bbc radio player. I assume mplayer plays
>> the stream like for example:
>> rtsp://rmv8.bbc.net.uk/radio3/worldroutes.ra?start=1:34
>
>
> The command:
> mplayer -cache 32 rtsp://rmv8.bbc.net.uk/radio3/worldroutes.ra?start=1:34

Following this thread inspired me to try out AlienBBC. I run Gentoo and
discovered that I needed to re-emerge mplayer with USE="network" so it
would take a stream URL After that, success!

--
Roy M. Silvernail is roy (AT) rant-central (DOT) com, and you're not
"It's just this little chromium switch, here." - TFT
SpamAssassin->procmail->/dev/null->bliss
http://www.rant-central.com

Jules Taplin
2004-11-27, 13:04
Hi John.

Hmmm. Yes.. .it might be possible to implement a 'Skip to Time'
function. But... it would mean flushing the buffer, and restarting the
stream from scratch. I'm not sure at the moment that I'm keen to do
that. Apart from anything else... it would mean that playing an AlienBBC
stream would once again be 'magic' in some fashion, while at the moment,
slimserver is completely unaware of any AlienBBC magic, once the stream
itself has been selected for playing.

-- Jules


John Gorst wrote:

> John Gorst wrote:
>
>> Jules Taplin wrote:
>>
>>> Hey John.
>>>
>>> Fast Forward and Rewind are not likely to be easy to implement. In
>>> fact... I can't even think of a design for it at the moment.
>>
>>
>>
>> Rather than fast-forward or rewind we could have 'skip to time...'
>>
>> As you know a lot better than me the real audio stream is hidden
>> within the web pages of the bbc radio player. I assume mplayer plays
>> the stream like for example:
>> rtsp://rmv8.bbc.net.uk/radio3/worldroutes.ra?start=1:34
>
>
> The command:
> mplayer -cache 32 rtsp://rmv8.bbc.net.uk/radio3/worldroutes.ra?start=1:34
>
> works very well for me, and if I adjust the 1:34 bit I can jump to
> differnt parts of the stream.
>
> I obtained the above link by downloading the file
> http://www.bbc.co.uk/radio/aod/rpms/worldroutes.rpm
> This file was found by looking at the html source of the radio on
> demand pop-up which is how I assume alienbbc finds the source.
>
> As a side note i get quite a lot of jumping and skipping with the
> cache set at 32 (which is how it is set in transcoder_proxy.pl).
> Upping it to 64 makes no differnce (on my 300k connection) but makes
> the stream a lot smoother.
>
>

John Gorst
2004-11-28, 05:39
Jules Taplin wrote:
> Hi John.
>
> Hmmm. Yes.. .it might be possible to implement a 'Skip to Time'
> function. But... it would mean flushing the buffer, and restarting the
> stream from scratch. I'm not sure at the moment that I'm keen to do
> that. Apart from anything else... it would mean that playing an AlienBBC
> stream would once again be 'magic' in some fashion, while at the moment,
> slimserver is completely unaware of any AlienBBC magic, once the stream
> itself has been selected for playing.

I see your point. However the skip to time feature could be part of the
plugin, and you can only 'skip to time' before you start the stream.
This would avoid making alienbbc streams different, as far as slimserver
is concerned, once the stream has started.

This could be done as dean suggested previously. When the stream you
want to start is dsplayed you press play to start it as happens at
present. If you want to start at a specific point you press and hold the
play button (or press the search button?) - the alienbbc plugin then
asks you at what point you want to start.

This solution would not need any change in the slimserver code as far as
I can see?

Cheers

Jules Taplin
2004-11-28, 05:52
Ah. Ok. Yeah... I can see that working.

/me will add it to the list.

Actually... at this rate... I actually _AM_ going to have to make a
list. Darn. ;)


-- Jules


John Gorst wrote:

> Jules Taplin wrote:
>
>> Hi John.
>>
>> Hmmm. Yes.. .it might be possible to implement a 'Skip to Time'
>> function. But... it would mean flushing the buffer, and restarting
>> the stream from scratch. I'm not sure at the moment that I'm keen to
>> do that. Apart from anything else... it would mean that playing an
>> AlienBBC stream would once again be 'magic' in some fashion, while at
>> the moment, slimserver is completely unaware of any AlienBBC magic,
>> once the stream itself has been selected for playing.
>
>
> I see your point. However the skip to time feature could be part of
> the plugin, and you can only 'skip to time' before you start the
> stream. This would avoid making alienbbc streams different, as far as
> slimserver is concerned, once the stream has started.
>
> This could be done as dean suggested previously. When the stream you
> want to start is dsplayed you press play to start it as happens at
> present. If you want to start at a specific point you press and hold
> the play button (or press the search button?) - the alienbbc plugin
> then asks you at what point you want to start.
>
> This solution would not need any change in the slimserver code as far
> as I can see?
>
> Cheers
>
>