Problem with playlist example

177 views
Skip to first unread message

munderwo

unread,
Mar 14, 2011, 12:03:04 AM3/14/11
to red5
Hi all,

I've been trying to get this example working

http://wiki.red5.org/wiki/Examples/ServerSidePlaylists

and i've got it to play. But there are a few issues.

1. It gets the following exception trace

[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler -
Connecting to: [WebScope@2b40c3b9 Depth = 1, Path = '/default', Name =
'playlistTest']
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler -
Remembering client buffer on stream: 2000
[ERROR] [NioProcessor-1] org.red5.server.service.ServiceInvoker -
Error executing call: Service: null Method: play Num Params: 1 0:
webtv
[ERROR] [NioProcessor-1] org.red5.server.service.ServiceInvoker -
Service invocation error
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:
1.6.0_24]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39) [na:1.6.0_24]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25) [na:1.6.0_24]
at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_24]
at org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:
200) [red5.jar:na]
at org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:
186) [red5.jar:na]
at org.red5.server.net.rtmp.RTMPHandler.onInvoke(RTMPHandler.java:
395) [red5.jar:na]
at
org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.java:
138) [red5.jar:na]
at
org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIoHandler.java:
180) [red5.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain
$TailFilter.messageReceived(DefaultIoFilterChain.java:713) [mina-
core-2.0.0-RC1.jar:na]
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:
434) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access
$1200(DefaultIoFilterChain.java:46) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl
$1.messageReceived(DefaultIoFilterChain.java:793) [mina-core-2.0.0-
RC1.jar:na]
at
org.red5.server.net.filter.TrafficShapingFilter.messageReceived(TrafficShapingFilter.java:
204) [red5.jar:na]
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:
434) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access
$1200(DefaultIoFilterChain.java:46) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl
$1.messageReceived(DefaultIoFilterChain.java:793) [mina-core-2.0.0-
RC1.jar:na]
at org.apache.mina.filter.codec.ProtocolCodecFilter
$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375) [mina-
core-2.0.0-RC1.jar:na]
at
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:
229) [mina-core-2.0.0-RC1.jar:na]
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:
434) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access
$1200(DefaultIoFilterChain.java:46) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl
$1.messageReceived(DefaultIoFilterChain.java:793) [mina-core-2.0.0-
RC1.jar:na]
at
org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:
119) [mina-core-2.0.0-RC1.jar:na]
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:
434) [mina-core-2.0.0-RC1.jar:na]
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:
426) [mina-core-2.0.0-RC1.jar:na]
at
org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:
638) [mina-core-2.0.0-RC1.jar:na]
at
org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:
598) [mina-core-2.0.0-RC1.jar:na]
at
org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:
587) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access
$400(AbstractPollingIoProcessor.java:61) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoProcessor
$Processor.run(AbstractPollingIoProcessor.java:969) [mina-core-2.0.0-
RC1.jar:na]
at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:
64) [mina-core-2.0.0-RC1.jar:na]
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_24]
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_24]
at java.lang.Thread.run(Thread.java:662) [na:1.6.0_24]
Caused by: java.lang.NullPointerException: null
at org.red5.server.stream.PlayEngine.playLive(PlayEngine.java:488)
[red5.jar:na]
at org.red5.server.stream.PlayEngine.play(PlayEngine.java:392)
[red5.jar:na]
at org.red5.server.stream.PlayEngine.play(PlayEngine.java:286)
[red5.jar:na]
at
org.red5.server.stream.PlaylistSubscriberStream.play(PlaylistSubscriberStream.java:
226) [red5.jar:na]
at org.red5.server.stream.StreamService.play(StreamService.java:294)
[red5.jar:na]
at org.red5.server.stream.StreamService.play(StreamService.java:316)
[red5.jar:na]
... 34 common frames omitted

I think this manifests itself in the stream not playing for a long
time like a couple of minutes. Eventually it will play, but this isnt
that great.


2. ive changed it to use mp3 files instead of flv's which is working
out alright apart from the above problem. Also they mp3's do have id3
meta data but it still says

4/03/2011 11:57:42 AM org.jaudiotagger.audio.AudioFile
checkFilePermissions
INFO: Reading file:path/local/Documents/red5-workspace/red5_server/
dist/webapps/playlist/streams/
UMG_audtrk_00008810328529_01_001_60.mp3:abs:/local/Documents/red5-
workspace/red5_server/dist/webapps/playlist/streams/
UMG_audtrk_00008810328529_01_001_60.mp3
14/03/2011 11:57:42 AM org.jaudiotagger.audio.mp3.MP3File readV1Tag
INFO: No ids3v11 tag found
14/03/2011 11:57:42 AM org.jaudiotagger.audio.mp3.MP3File readV2Tag
INFO: Not enough room for valid id3v2 tag:0

Although the music files do have id3 tags. Red5 then creates an .meta
file in the streams directory which is fine. But the thing is and in
my current workflow I have all this id3 metadata in a database. I was
on irc and chefan was thinking the above problems have something to do
with gathering meta-data from the stream. If this is the case and the
example code is correct (I havent changed the example code) then maybe
I need to somehow override how the meta-data is getting put in the
stream. is this possible or advisable?




Thanks for all your help.

I'm a bit of a newby at this kind of java. I've done simple java
before but not JEE and not all the interfaces etc.. Its quite
confusing for me at the moment..
Reply all
Reply to author
Forward
0 new messages