Red5, red5-hls-plugin and hls streaming

I’m working on this media streaming project and I decided to use red5. But then I started facing whole lot of problems. I want it to be cross platform supported. Live video streams on browsers.

Flash is not an option as android and iOS is dropping/dropped the support for flash officially. So as a start I tried to setup red5-hls-plugin. I had to gone through alot to set it up. So here’s a little how-to on that. So if you are here, you are probably bit lazy. So first get following

  • red5-1.0.2-SNAPSHOT, link
  • xuggle 5.5 (Ubuntu x64 or Windows x64) link
  • hls-plugin link
  • hls-example-app link
  • oflaDemo war link

Now ,

  1. extract red5-server-1.0.2-SNAPSHOT-server.zip, lets call the location {red5}
  2. put xuggle stuff you downloaded (depending on your platform) into {red5}/plugins folder
  3. put hls-plugin-1.1.jar into the {red5}/plugins folder
  4. put hlsapp-1.1.war into the {red5}/webapp folder
  5. if you need red5 demo application (to start a test stream may be),put oflaDemo-r4472-java6.war into the {red5}/webapp folder

ok almost done, now goto {red5} folder from terminal/bash and run red5.bat/ red5.sh

once red5 started, push a rtmp stream to rtmp://localhost/hlsapp/teststream and you can view it in a hls compatiable player or via html5 player (on ios or android) using http://localhost:5080/hlsapp/teststream.m3u8

feel free to ask any questions, I will try my best to answer them.

red5-hls-plugin source can be found here, https://github.com/Red5/red5-hls-plugin. And there’s a more comprehensive guide with xuggler compiling steps.

Be tuned for more on media streaming, using red5

Advertisements

117 thoughts on “Red5, red5-hls-plugin and hls streaming

  1. Thanks for posting the article, But I am facing a issue while installation of HLS plugin. After following all the steps when I restart my red5 server it is giving me a error :

    [WARN] [main] org.red5.server.ContextLoader – Context destroy failed for: default.context
    org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘default.context’ is defined

    I do not understand where I am doing wrong I have followed the same proceedure that You have mentioned.
    Please help me on this. Any help would be really appreciate..

    • Arjun, I am using hls plugin and i have copied hls .war file to webapps and trying to access it. But i can’t access the video from http . please help me ho to play video in normal browser without rtmp protocal

      • none of the normal browsers support hls. It’s only supported by mobile browsers and some third party desktop players. JW payed version has hls support. In short for desktop streaming still the best option is flash.

      • Dryize, thanks. But i want to use http streaming on mobile. How can I. i have installed hls plugin and deployed hlsapp. where should i put media files (in which folder, streams or somewhere else). can i access with video tag in mobile browser. Please reply. its urgent.

      • it’s same as standard red5 vod. put them in streams folder. Yes you can use video tag on ios or android device to play hls.
        Sorry about the late reply.

      • Dear dryize,
        Actually, I added hls plugin to plugin folders and deployed hls-app.war in webapps. after runnin red5 I got folder as persistance,WEB-INF,index.jsp,ipod.jsp. I want to upload sample.mp4 file to red5 and play. for this where to upload my sample.mp4 ( which folder), and how to play the same. please help me in this.

  2. Thanks for the reply. Now I am getting the JRE fatal error. Here is error log

    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    # SIGSEGV (0xb) at pc=0x66a513a8, pid=8359, tid=1755315008
    #
    # JRE version: 7.0_25-b30
    # Java VM: OpenJDK Server VM (23.7-b01 mixed mode linux-x86 )
    # Problematic frame:
    # C [xuggle2823626964765424544.tmp+0x28e3a8] avio_flush+0x8
    #
    # Core dump written. Default location: /usr/share/red5/core or core.8359
    #
    # If you would like to submit a bug report, please include
    # instructions on how to reproduce the bug and visit:
    # https://bugs.launchpad.net/ubuntu/+source/openjdk-7/
    # The crash happened outside the Java Virtual Machine in native code.
    # See problematic frame for where to report the bug.
    #

    ————— T H R E A D —————

    Current thread (0x69067800): JavaThread “Launcher:/hlsapp” daemon [_thread_in_native, id=8406, stack(0x689af000,0x68a00000)]

    ————— P R O C E S S —————

    Java Threads: ( => current thread )
    0xb6506c00 JavaThread “DestroyJavaVM” [_thread_blocked, id=8362, stack(0xb662e000,0xb667f000)]
    =>0x69067800 JavaThread “Launcher:/hlsapp” daemon [_thread_in_native, id=8406, stack(0x689af000,0x68a00000)]
    0x6905f000 JavaThread “http-0.0.0.0-5080-Acceptor-0” daemon [_thread_in_native, id=8403, stack(0x68bc9000,0x68c1a000)]
    0x6905d400 JavaThread “http-0.0.0.0-5080-ClientPoller-3” daemon [_thread_in_native, id=8402, stack(0x68c1a000,0x68c6b000)]
    0x6904ec00 JavaThread “http-0.0.0.0-5080-ClientPoller-2” daemon [_thread_in_native, id=8401, stack(0x68c6b000,0x68cbc000)]
    0x69040400 JavaThread “http-0.0.0.0-5080-ClientPoller-1” daemon [_thread_in_native, id=8400, stack(0x68cbc000,0x68d0d000)]
    0x69018000 JavaThread “http-0.0.0.0-5080-ClientPoller-0” daemon [_thread_in_native, id=8399, stack(0x68d0d000,0x68d5e000)]
    0x69014400 JavaThread “NioBlockingSelector.BlockPoller-1” daemon [_thread_in_native, id=8398, stack(0x68d5e000,0x68daf000)]
    0x69012400 JavaThread “ContainerBackgroundProcessor[StandardEngine[red5Engine]]” daemon [_thread_blocked, id=8397, stack(0x68daf000,0x68e00000)]
    0x6a3c5000 JavaThread “NioSocketAcceptor-1” [_thread_in_native, id=8396, stack(0x6a40d000,0x6a45e000)]
    0x6a68cc00 JavaThread “net.sf.ehcache.CacheManager@1a6e816” daemon [_thread_blocked, id=8395, stack(0x6a45e000,0x6a4af000)]
    0x6a514000 JavaThread “RMI TCP Connection(2)-192.168.1.114” daemon [_thread_in_native, id=8394, stack(0x6a4af000,0x6a500000)]
    0xb4215800 JavaThread “RMI RenewClean-[192.168.1.114:35675]” daemon [_thread_blocked, id=8393, stack(0x6ac0a000,0x6ac5b000)]
    0x6abfcc00 JavaThread “RMI Scheduler(0)” daemon [_thread_blocked, id=8392, stack(0x6ac5e000,0x6acaf000)]
    0x6c8fbc00 JavaThread “RMI TCP Connection(1)-127.0.0.1” daemon [_thread_in_native, id=8391, stack(0x6ae0d000,0x6ae5e000)]
    0x6ab76800 JavaThread “GC Daemon” daemon [_thread_blocked, id=8390, stack(0x6a90d000,0x6a95e000)]
    0x6ab75000 JavaThread “RMI Reaper” [_thread_blocked, id=8389, stack(0x6a95e000,0x6a9af000)]
    0x6ab74000 JavaThread “RMI TCP Accept-0” daemon [_thread_in_native, id=8388, stack(0x6a9af000,0x6aa00000)]
    0x6ab26800 JavaThread “RMI TCP Accept-9999” daemon [_thread_in_native, id=8387, stack(0x6ae5e000,0x6aeaf000)]
    0x6b1f2000 JavaThread “Red5_Scheduler_QuartzSchedulerThread” [_thread_blocked, id=8386, stack(0x6acaf000,0x6ad00000)]
    0x6b1d9c00 JavaThread “Red5_Scheduler_Worker-10” [_thread_blocked, id=8385, stack(0x6aeaf000,0x6af00000)]
    0x6b1d8400 JavaThread “Red5_Scheduler_Worker-9” [_thread_blocked, id=8384, stack(0x6b00d000,0x6b05e000)]
    0x6b1d6c00 JavaThread “Red5_Scheduler_Worker-8” [_thread_blocked, id=8383, stack(0x6b05e000,0x6b0af000)]
    0x6b1d5000 JavaThread “Red5_Scheduler_Worker-7” [_thread_blocked, id=8382, stack(0x6b0af000,0x6b100000)]
    0x6b1d3800 JavaThread “Red5_Scheduler_Worker-6” [_thread_blocked, id=8381, stack(0x6b34b000,0x6b39c000)]
    0x6b1d2000 JavaThread “Red5_Scheduler_Worker-5” [_thread_blocked, id=8380, stack(0x6b39c000,0x6b3ed000)]
    0x6b1d1000 JavaThread “Red5_Scheduler_Worker-4” [_thread_blocked, id=8379, stack(0x6b50d000,0x6b55e000)]
    0x6b1d0000 JavaThread “Red5_Scheduler_Worker-3” [_thread_blocked, id=8378, stack(0x6b55e000,0x6b5af000)]
    0x6b1cec00 JavaThread “Red5_Scheduler_Worker-2” [_thread_blocked, id=8377, stack(0x6b5af000,0x6b600000)]
    0x6b1cd800 JavaThread “Red5_Scheduler_Worker-1” [_thread_blocked, id=8376, stack(0x6b704000,0x6b755000)]
    0x6c22d400 JavaThread “Service Thread” daemon [_thread_blocked, id=8374, stack(0x6c70d000,0x6c75e000)]
    0x6c22b800 JavaThread “C1 CompilerThread2” daemon [_thread_blocked, id=8373, stack(0x6c0fe000,0x6c17f000)]
    0x6c229c00 JavaThread “C2 CompilerThread1” daemon [_thread_in_native, id=8372, stack(0x6c17f000,0x6c200000)]
    0x6c228000 JavaThread “C2 CompilerThread0” daemon [_thread_blocked, id=8371, stack(0x6c32e000,0x6c3af000)]
    0x6c226400 JavaThread “Signal Dispatcher” daemon [_thread_blocked, id=8370, stack(0x6c3af000,0x6c400000)]
    0xb65dc400 JavaThread “Finalizer” daemon [_thread_blocked, id=8369, stack(0x6c75e000,0x6c7af000)]
    0xb65da400 JavaThread “Reference Handler” daemon [_thread_blocked, id=8368, stack(0x6c7af000,0x6c800000)]

    Memory: 4k page, physical 4116276k(249896k free), swap 4174844k(4169684k free)

    vm_info: OpenJDK Server VM (23.7-b01) for linux-x86 JRE (1.7.0_25-b30), built on Jul 3 2013 13:57:54 by “buildd” with gcc 4.7.2

    time: Fri Jan 3 17:33:24 2014
    elapsed time: 3 seconds

    • This error is caused by xuggler. You are using incompatible xuggler build. Which xuggler version are you using ?
      Seems you are using x86 Linux, since posted xuggler builds are for x64 versions you can’t use them.

  3. Thanks dryize thanks for the instant reply. You are right problem is with xuggler, I have installed invalid plugin of it.

    Now I have copied “xuggle-xuggler-arch-x86_64-unknown-linux-gnu.jar” and “xuggle-xuggler-noarch.jar” in plugin folder and server runnig perfectly.

    I am very thankfully to you for your help. you rock 🙂

  4. Sorry to disturb you again But I need your help. When I am trying to connect with hlsapp, red5 giving me this warning :

    [WARN] [Red5_Scheduler_Worker-9] org.red5.server.net.rtmp.RTMPConnection – Closing RTMPMinaConnection from 192.168.1.114:34215 to 192.168.1.114 (in: 3443 out: 3221), with id -1 due to long handshake

    I am connecting it by passing “rtmp://192.168.1.114/hlsapp/user_id/video_name” , same is working for oflaDemo “rtmp://192.168.1.114/oflaDemo/user_id/video_name”.

    I am doing this when I am recording the video. User will dynamically add the video name.

    Please tell me what I am doing wrong.

    I’ll be really thankfull to you.

  5. Yes I am facing the same issue. When I am trying to connect with hlsapp red5 giving me same warning. I am using google provided flex based recording app and I am passing it my rtmp url rtmp://localhost/hlsapp and user_id.

    Please help me I am really fed up with this

      • Yes Arjun is right the error occurred because the files that we have mentioned in red5-web.xml

        are not available in WEB-INF folder. Like “org.red5.service.httpstream.MuxService”, “org.red5.service.httpstream.SegmenterService” etc

      • yes the files are in hls.plugin.jar, But still the error is here, Red5 showing the same error when I try to start the hls_app. Oflademo is successfully started but when red5 reach on HLS_APP it throws the error.

      • I’ll try to make a fresh build of xuggle on a 12.04 box and post. Meanwhile if you can build it yourself, sure it will sort out this issue.
        Had the same issue while setting up red5 with Redhat6. Had to build xuggle from scratch.

  6. Here is the error log :

    Exception in thread “Launcher:/hlsapp” java.lang.RuntimeException: Failed to load webapplication context class
    at org.red5.server.tomcat.TomcatLoader$1.run(TomcatLoader.java:611)
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘segmenter.service’ defined in ServletContext resource [/WEB-INF/red5-web.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class com.xuggle.ferry.JNIMemoryManager
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
    at org.red5.server.tomcat.TomcatLoader$1.run(TomcatLoader.java:590)
    Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.xuggle.ferry.JNIMemoryManager
    at com.xuggle.mediatool.ToolFactory.setTurboCharged(ToolFactory.java:409)
    at org.red5.service.httpstream.SegmenterService.afterPropertiesSet(SegmenterService.java:132)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)

      • I followed all the steps to install hls plugin on my windows 7 64 bit box and i can’t make it work. Red5 is running fine but when I use FLME to create a live stream and try to connect to hlsapp i can’t. I installed hls plugin jar in plugins and hls war in webapps. I also downloaded xuggler both windows file (.dll and jar) and copied them to plugin folder. Not sure what to do next..

      • Thanks Dryize thanks for your efforts. Now the error is gone, But still RED5 not starting the HLS_APP’s service.
        Here is the error :

        [INFO] [Launcher:/hlsapp] org.quartz.core.QuartzScheduler – Scheduler meta-data: Quartz Scheduler (v2.1.6) ‘null_Scheduler’ with instanceId ‘NON_CLUSTERED’
        Scheduler class: ‘org.quartz.core.QuartzScheduler’ – running locally.
        NOT STARTED.
        Currently in standby mode.
        Number of jobs executed: 0
        Using thread pool ‘org.quartz.simpl.SimpleThreadPool’ – with 2 threads.
        Using job-store ‘org.quartz.simpl.RAMJobStore’ – which does not support persistence. and is not clustered.

        I’ll be thank-full to you If you help me to fix the issue.

        And I have one question, Can we use both rtmp and HLS services on same time. I mean to say Is that possible If i mention the rtmp URL while recording and while playing it I passed the HLS app’s url ??

  7. Yes I am using the xuggle build that you have mentioned in your post and I am using ubuntu 12.04 x86. After so much study I have found that the error occurs because the class file not exist in “hlsapp/WEB-INF” directory that we are mentioned in red5-web.xml .

    • Those classes are in the hls-pluggin1.1.jar. Reason for this error is, you are using incorrect xuggle version. I’ve only posted 64bit version of xuggler. But your system is 32bit. Spring can’t find com.xuggle.ferry.JNIMemoryManager because there isn’t a compatible one in xuggle.jar.
      Xuggle is platform dependent, because it uses native ffmpeg. You either have to use a x64 platform or build xuggle yourself for your platform.

      • Thanks for your reply, Now I have tested it on my x64 bit machine but the same error is occurred

        Exception in thread “Launcher:/hlsapp” java.lang.RuntimeException: Failed to load webapplication context class
        at org.red5.server.tomcat.TomcatLoader$1.run(TomcatLoader.java:611)
        Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘segmenter.service’ defined in ServletContext resource [/WEB-INF/red5-web.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class com.xuggle.ferry.JNIMemoryManager
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
        at org.red5.server.tomcat.TomcatLoader$1.run(TomcatLoader.java:590)
        Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.xuggle.ferry.JNIMemoryManager
        at com.xuggle.mediatool.ToolFactory.setTurboCharged(ToolFactory.java:409)
        at org.red5.service.httpstream.SegmenterService.afterPropertiesSet(SegmenterService.java:132)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)

  8. I am facing the same issue on my ubuntu 12.04 64 bit machine. I have followed the proceedure that you have mentioned in your post, but when I start my red5 server it is throwing the same error.

      • Thanks a lot You saved me. I am very thank-full to you. Now only issue is When I am trying to start Red5 server it is throwing the error i.e :

        [INFO] [Launcher:/hlsapp] org.quartz.core.QuartzScheduler – Scheduler meta-data: Quartz Scheduler (v2.1.6) ‘null_Scheduler’ with instanceId ‘NON_CLUSTERED’
        Scheduler class: ‘org.quartz.core.QuartzScheduler’ – running locally.
        NOT STARTED.
        Currently in standby mode.
        Number of jobs executed: 0
        Using thread pool ‘org.quartz.simpl.SimpleThreadPool’ – with 2 threads.
        Using job-store ‘org.quartz.simpl.RAMJobStore’ – which does not support persistence. and is not clustered.

        I am not able to find the issue, Please help me.

        I really appreciate your consistent efforts.. 🙂

      • This is a small confguration problem in hlsapp/hlspluggin. Still hlsapp starts and works fine. in your log, below these lines you should see

        [INFO] [Launcher:/hlsapp] org.quartz.core.QuartzScheduler – Scheduler null_Scheduler_$_NON_CLUSTERED started.

        and sorry about the late reply.

  9. Hi,
    I followed the guide except for compiling xuggler for a 32bit system based on this guide.
    https://github.com/Red5/red5-hls-plugin/blob/master/README.md
    I am seeing the following error during startup. Any pointers ?
    2014-02-07 22:12:04,558 [Launcher:/] WARN org.red5.server.scope.Scope – Invalid scope was not added: [WebScope@e4acd9 Depth = 1, Path = ‘/default’, Name = ”]
    2014-02-07 22:12:05,219 [Launcher:/hlsapp] ERROR org.ffmpeg – [Eval @ 0x7585c1d8] Invalid chars ‘.71′ at the end of expression ’0.71′
    2014-02-07 22:12:05,219 [Launcher:/hlsapp] ERROR org.ffmpeg – [libx264 @ 0x73609b20] Unable to parse option value “0.71″
    2014-02-07 22:12:05,222 [Launcher:/hlsapp] WARN com.xuggle.xuggler.Configuration – Invalid property on object com.xuggle.xuggler.IStreamCoder@1935711976[codec=com.xuggle.xuggler.ICodec@2057283904[type=CODEC_TYPE_VIDEO;id=CODEC_ID_H264;name=libx264;];time base=1/20;frame rate=0/0;pixel type=YUV420P;width=352;height=288;]; name=”i_qfactor”; value=”0.71″
    2014-02-07 22:12:05,223 [Launcher:/hlsapp] ERROR org.red5.server.scope.Scope – Could not start scope [WebScope@1f21475 Depth = 1, Path = ‘/default’, Name = ‘hlsapp’] java.lang.RuntimeException: Could not configure coder from preset file

    • Try to replace dot by comma in
      red5-hls-plugin/plugin/src/main/resources/org/red5/service/httpstream/mpegts-ipod320.properties
      and recompile plugin.

      Don’t forget restart Red5 after update plugin to new version.

      • i_qfactor=0.71
        qcomp=0.6
        to
        i_qfactor=0,71
        qcomp=0,6

        I think it’s so because of regional difference in parce method.

    • This seems like a issue with your xuggler build. And since you are saying you followed the guide, Im not sure what the problem is. But try following,

      • in terminal run “gcc -v” and “g++ -v” and confirm that default gcc,g++ versions are 4.6. Different compiler version might be the reason
      • Do a “git fetch origin” and “git reset –hard origin/master” on xuggler repo and rebuild. Do a “ant distclean” before build.
    • Hi Dryize, thx for sharing. Do you know is live streaming
      web camera video to ios/android possible using red5, hls? I am not a developer so forgive me if the question was kind of silly? Cheers, geo

      • yes it is.
        ios – fully supported via hls plugging
        android – partially supported via hls plugging. But android doesn’t support hls 100% yet. but you can use flash player too in supported devices. Anyhow you can build a working solution combining hls and flash rtmp streaming

        Im talking about in browser playback

    • What I want to achieve is like live video conference. capture video via webcam and users can watch it lively from PC and mobile device. And advices will be highly appreciated. Thx again Dryize

      • live video conference, it is bit complicated than it sounds. Hope you are considering a application solution. then yes it is possible.
        Adobe AIR application with rtmp streaming. That’s your best bet. and easiest. and I have done it.

    • I have followed the instructions and succeeded in getting Red5 and hlsapp running. RTMP streaming works fine (as it did before) but I can’t seem to get HLS to work. I am pushing an RTMP stream to “livestream”. When I attempt to view http://localhost:5080/hlsapp/livestream.m3u8 in any browser or media player, nothing happens. VLC jumps through the playlist, refusing to play each item. The server is running Ubuntu 12.04 64-bit if that helps.

      • Make sure you are pushing your stream to right path. You should push it to “rtmp://localhost/hlsapp/livestream”
        for further help, I’ll need your red5 log.

        • Hi Dryize,
          I am facing the same issue. In my case i am converting my rtsp stream to rtmp using this link (https://showrav017.wordpress.com/2012/12/12/rtsp-to-rtmp-using-ffmpeg-red5/) . Please see my ffmpeg commnad
          (ffmpeg -i rtsp_url_of_ip_cam -f flv -r 25 -s 640×480 -an rtmp://172.16.22.246:1935/hlsapp/teststream)

          Now it is running successfully that is frame count is going to increase continuously. But i am unable to play stream (http://172.16.22.246:1935/hlsapp/teststream.m3u8) using vlc or any online m3u8 player link (https://www.hlsplayer.net/).
          Is there any issue with my streaming?

          I just want to play .m3u8 stream on iphone and android devices. For this i am following JWPlayer link “http://cdnsun.com/knowledgebase/cdn-live/jw-player-cdn-integration”.

          But unable to play my stream.Waiting for your help and Thanks for a wonderful blog.

        • goto .m3u8 url on a browser to get the m3u8 file. check whether it has the list of segments. if not check red5 log for errors. If segments are there try opening them individually.

    • Hi Dryize,Thx a lot for your quick help. Probably video conference is not a good example. It’s pretty much like http://www.ustream.tv. Just try to figure out a scalable solution of broadcasting live events to a group of audience. After thinking over your advices, I’ve got a idea to use Ruby on Rails, Red5 hls (ios), flash(android) to achieve this. Do you see it is visible? Thx again.Cheers, geo

    • Hi all,

      i did everything step by step, but the hlsapp still not work. I can see the entry form on http://server:5080/hlsapp, but if I try to connect to rmtp://srever/hlsapp, server tell me NetConnection.Rejected, NetConnection.Closed. What could be wrong? I had a couple of problems with maven and compiling the plugin (java version mainly). Could it be the same issue? I have a java 1.7 installed.

        • —————red5.log
          2014-03-08 00:12:39,270 [main] INFO org.red5.server.Launcher – Red5 Server 1.0.0 RC1 $Rev: 4193 $ (http://code.google.com/p/red5/)
          2014-03-08 00:12:39,348 [main] INFO o.s.c.s.FileSystemXmlApplicationContext – Refreshing org.springframework.context.support.FileSystemXmlApplicationContext@26b084a6: startup date [Sat Mar 08 00:12:39 CET 2014]; root of context hierarchy
          2014-03-08 00:12:40,258 [main] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from class path resource [red5.properties]
          2014-03-08 00:12:40,296 [main] INFO o.s.b.f.s.DefaultListableBeanFactory – Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@623199dc: defining beans [placeholderConfig,red5.common,red5.core,context.loader,pluginLauncher,tomcat.server]; root of factory hierarchy
          2014-03-08 00:12:40,340 [main] INFO o.s.c.s.FileSystemXmlApplicationContext – Refreshing org.springframework.context.support.FileSystemXmlApplicationContext@341b6e35: startup date [Sat Mar 08 00:12:40 CET 2014]; root of context hierarchy
          2014-03-08 00:12:40,544 [main] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from class path resource [red5.properties]
          2014-03-08 00:12:40,556 [main] INFO o.s.b.f.s.DefaultListableBeanFactory – Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@44c7c82a: defining beans [placeholderConfig,red5.server,jmxFactory,jmxAgent,serializer,deserializer,statusObjectService,rtmpCodecFactory,rtmptCodecFactory,remotingCodecFactory,streamableFileFactory,filePersistenceThread,sharedObjectService,streamService,providerService,consumerService,schedulingService,warDeployService,remotingClient,object.cache,keyframe.cache,flv.impl,flvreader.impl,mp4reader.impl,mp3reader.impl,org.springframework.beans.factory.config.MethodInvokingFactoryBean#0,org.springframework.beans.factory.config.MethodInvokingFactoryBean#1,streamExecutor,fileConsumer,playlistSubscriberStream,clientBroadcastStream]; root of factory hierarchy
          2014-03-08 00:12:41,652 [main] INFO org.red5.server.service.WarDeployer – War deployer service created
          2014-03-08 00:12:41,768 [main] INFO o.s.c.s.FileSystemXmlApplicationContext – Refreshing org.springframework.context.support.FileSystemXmlApplicationContext@42adef40: startup date [Sat Mar 08 00:12:41 CET 2014]; parent: ApplicationContext ‘red5.common’
          2014-03-08 00:12:41,857 [main] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from class path resource [red5.properties]
          2014-03-08 00:12:41,871 [main] INFO o.s.b.f.s.DefaultListableBeanFactory – Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@6c2e211: defining beans [customEditorConfigurer,placeholderConfig,rtmpMinaConnManager,rtmpHandler,rtmpMinaIoHandler,rtmpTransport,rtmpMinaConnection,rtmptConnManager,rtmptHandler,rtmptServlet,rtmptConnection]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@44c7c82a
          2014-03-08 00:12:41,911 [main] INFO o.r.s.net.rtmp.RTMPMinaTransport – RTMP Mina Transport bound to /0.0.0.0:1935
          2014-03-08 00:12:41,912 [main] INFO o.r.s.net.rtmp.RTMPMinaTransport – RTMP Mina Transport Settings
          2014-03-08 00:12:41,912 [main] INFO o.r.s.net.rtmp.RTMPMinaTransport – Connection Threads: 4
          2014-03-08 00:12:41,912 [main] INFO o.r.s.net.rtmp.RTMPMinaTransport – I/O Threads: 16
          2014-03-08 00:12:41,962 [main] INFO o.r.s.net.rtmp.RTMPMinaTransport – TCP No Delay: true
          2014-03-08 00:12:41,962 [main] INFO o.r.s.net.rtmp.RTMPMinaTransport – Receive Buffer Size: 65536
          2014-03-08 00:12:41,963 [main] INFO o.r.s.net.rtmp.RTMPMinaTransport – Send Buffer Size: 271360
          2014-03-08 00:12:42,075 [main] INFO o.s.c.s.FileSystemXmlApplicationContext – Refreshing org.springframework.context.support.FileSystemXmlApplicationContext@6781fd01: startup date [Sat Mar 08 00:12:42 CET 2014]; parent: ApplicationContext ‘red5.common’
          2014-03-08 00:12:42,211 [main] INFO o.s.b.f.s.DefaultListableBeanFactory – Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@2f24b13a: defining beans [global.clientRegistry,global.serviceInvoker,global.mappingStrategy,global.context,global.handler,global.scope,red5.scopeResolver]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@44c7c82a
          2014-03-08 00:12:42,678 [main] INFO org.red5.server.tomcat.TomcatLoader – Setting connector: org.apache.catalina.connector.Connector
          2014-03-08 00:12:42,678 [main] INFO org.red5.server.tomcat.TomcatLoader – Address to bind: /0.0.0.0:5080
          2014-03-08 00:12:42,679 [main] INFO org.red5.server.tomcat.TomcatLoader – Loading tomcat context
          2014-03-08 00:12:42,679 [main] INFO org.red5.server.tomcat.TomcatLoader – Server root: /home/tomasjavurek/red5
          2014-03-08 00:12:42,679 [main] INFO org.red5.server.tomcat.TomcatLoader – Config root: /home/tomasjavurek/red5/conf
          2014-03-08 00:12:42,733 [main] INFO org.red5.server.tomcat.TomcatLoader – Application root: /home/tomasjavurek/red5/webapps
          2014-03-08 00:12:42,983 [main] INFO org.red5.server.tomcat.TomcatLoader – Starting Tomcat servlet engine
          2014-03-08 00:12:42,983 [main] INFO o.apache.catalina.startup.Embedded – Starting tomcat server
          2014-03-08 00:12:43,304 [main] INFO o.a.catalina.core.StandardEngine – Starting Servlet Engine: Apache Tomcat/6.0.26
          2014-03-08 00:12:44,719 [main] INFO o.a.coyote.http11.Http11Protocol – Initializing Coyote HTTP/1.1 on http-0.0.0.0-5080
          2014-03-08 00:12:44,749 [main] INFO o.a.coyote.http11.Http11Protocol – Starting Coyote HTTP/1.1 on http-0.0.0.0-5080
          2014-03-08 00:12:44,800 [main] INFO org.red5.server.tomcat.TomcatLoader – Dedicated RTMPT server configuration was not specified
          2014-03-08 00:12:44,801 [main] INFO org.red5.server.tomcat.TomcatLoader – Dedicated RTMPS server configuration was not specified
          2014-03-08 00:12:45,147 [Launcher:/] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from ServletContext resource [/WEB-INF/red5-web.properties]
          2014-03-08 00:12:45,171 [Launcher:/vod] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from ServletContext resource [/WEB-INF/red5-web.properties]
          2014-03-08 00:12:45,188 [Launcher:/live] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from ServletContext resource [/WEB-INF/red5-web.properties]
          2014-03-08 00:12:45,191 [Launcher:/oflaDemo] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from ServletContext resource [/WEB-INF/red5-web.properties]
          2014-03-08 00:12:45,192 [Launcher:/installer] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from ServletContext resource [/WEB-INF/red5-web.properties]
          2014-03-08 00:12:45,200 [Launcher:/vod] INFO o.s.b.f.s.DefaultListableBeanFactory – Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@198a6d41: defining beans [placeholderConfig,web.context,web.scope,web.handler]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@2f24b13a
          2014-03-08 00:12:45,202 [Launcher:/] INFO o.s.b.f.s.DefaultListableBeanFactory – Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@d9665e1: defining beans [placeholderConfig,web.context,web.scope]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@2f24b13a
          2014-03-08 00:12:45,226 [Launcher:/live] INFO o.s.b.f.s.DefaultListableBeanFactory – Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@61577848: defining beans [placeholderConfig,web.context,web.scope,web.handler]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@2f24b13a
          2014-03-08 00:12:45,227 [Launcher:/oflaDemo] INFO o.s.b.f.s.DefaultListableBeanFactory – Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5c257082: defining beans [placeholderConfig,web.context,web.scope,web.handler,demoService.service]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@2f24b13a
          2014-03-08 00:12:45,233 [Launcher:/installer] INFO o.s.b.f.s.DefaultListableBeanFactory – Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@320750fe: defining beans [placeholderConfig,web.context,web.scope,web.handler,installer.service]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@2f24b13a
          2014-03-08 00:12:45,429 [Launcher:/hlsapp] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from ServletContext resource [/WEB-INF/red5-web.properties]
          2014-03-08 00:12:45,510 [Launcher:/hlsapp] INFO o.s.b.f.s.DefaultListableBeanFactory – Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@2cdfaddd: defining beans [placeholderConfig,web.context,web.scope,schedulingService,web.handler,mux.service,segmenter.service,segmentExecutor]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@2f24b13a
          2014-03-08 00:12:45,535 [Launcher:/hlsapp] INFO o.s.b.f.s.DefaultListableBeanFactory – Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@2cdfaddd: defining beans [placeholderConfig,web.context,web.scope,schedulingService,web.handler,mux.service,segmenter.service,segmentExecutor]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@2f24b13a
          2014-03-08 00:12:45,637 [Launcher:/installer] INFO org.red5.server.service.Installer – Installer service created
          2014-03-08 00:12:53,991 [NioProcessor-1] INFO o.r.s.n.r.codec.RTMPProtocolDecoder – Action connect
          2014-03-08 00:12:54,000 [NioProcessor-1] INFO o.red5.server.net.rtmp.RTMPHandler – Scope hlsapp/ not found on metazoa.org
          2014-03-08 00:12:58,869 [Red5_Scheduler_Worker-1] WARN o.r.server.net.rtmp.RTMPConnection – Closing RTMPMinaConnection from 194.228.131.102 : 57381 to metazoa.org (in: 3332 out 3257 ), with id 1 due to long handshake

          —————– error.log
          2014-03-08 00:12:58,869 [Red5_Scheduler_Worker-1] WARN o.r.server.net.rtmp.RTMPConnection – Closing RTMPMinaConnection from 194.228.131.102 : 57381 to metazoa.org (in: 3332 out 3257 ), with id 1 due to long handshake

          —————- hlsapp.log
          2014-03-08 00:12:44,364 [main] DEBUG ROOT – Starting up context hlsapp

    • Hi,
      I’ve managed to compile both plugin and hls application but I keep getting couple of errors:
      Any idea?
      I’ve tried every jar and build of xuggle found here and another places but still same error.
      I’ve tested it on Windows 7 64Bit and also on Cloudlinux (RH15) Box 64bit, on Linux I couldn’t compile xuggler so I’ve tested both of your Linux jars but it didn’t loaded.

      This I get for windows:
      [INFO] [Launcher:/hlsapp] org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler – Initializing ExecutorService ‘segmentExecutor’
      [INFO] [Launcher:/hlsapp] org.ffmpeg – [libx264 @ 19B9CDA0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
      [INFO] [Launcher:/hlsapp] org.ffmpeg – [libx264 @ 19B9CDA0] profile High, level3.0
      [INFO] [Launcher:/hlsapp] org.ffmpeg – [mpegts @ 19B96720] muxrate VBR,
      [INFO] [Launcher:/hlsapp] org.ffmpeg – [mpegts @ 19B96720] pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x1cb697c6, pid=5908, tid=3452
      #
      # JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13)

      # Java VM: Java HotSpot(TM) Client VM (24.51-b03 mixed mode windows-x86 )
      # Problematic frame:
      # C [xuggle4402085433566481667.dll+0x1697c6]
      #
      # Failed to write core dump. Minidumps are not enabled by default on client vers
      ions of Windows
      #
      # An error report file with more information is saved as:
      # c:\Red5\hs_err_pid5908.log
      #
      # If you would like to submit a bug report, please visit:
      # http://bugreport.sun.com/bugreport/crash.jsp
      # The crash happened outside the Java Virtual Machine in native code.
      # See problematic frame for where to report the bug.
      #

      And this on Linux:
      Exception in thread “Launcher:/hlsapp” org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘segmenter.service’ defined in ServletContext resource [/WEB-INF/red5-web.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: com/xuggle/mediatool/ToolFactory
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
      at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
      at org.red5.server.tomcat.TomcatLoader$1.run(TomcatLoader.java:593)
      Caused by: java.lang.NoClassDefFoundError: com/xuggle/mediatool/ToolFactory
      at org.red5.service.httpstream.SegmenterService.afterPropertiesSet(SegmenterService.java:132)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
      … 10 more

      • Your windows error is caused by xuggler. Are you using the correct xuggler build? Did you xuggler for windows yourself ? if so try the dll found here

        Linux issue is, hlspluggin can’t find xuggle. Did you copy platofrm specific jar to lib path.

    • Hi,
      Thanks for quick reply.

      I was using both 32 and 64 bit version for windows, I’ve checked java dll cache from user temporary folder and it uses i686-w64-mingw32 dll from xuggle-xuggler-5.4.jar.
      When i’m using libxuggle-5.dll and xuggle-xuggler-noarch.jar (for win64) I get this error:

      Exception in thread “Launcher:/hlsapp” java.lang.RuntimeException: Failed to load webapplication context class
      at org.red5.server.tomcat.TomcatLoader$1.run(TomcatLoader.java:611)
      Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘segmenter.service’ defined in ServletContext resource [/WEB-INF/red5-web.xml]: Invocation of init method failed; nested exception is java.lan
      .NoClassDefFoundError: Could not initialize class com.xuggle.ferry.JNIMemoryManager
      at org.springframework.beans.factory.support.AbstractAutowireCapableBean
      Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBean
      Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBean
      Factory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
      at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
      at org.red5.server.tomcat.TomcatLoader$1.run(TomcatLoader.java:590)
      Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.xuggle.ferry.JNIMemoryManager
      at com.xuggle.mediatool.ToolFactory.setTurboCharged(ToolFactory.java:409)
      at org.red5.service.httpstream.SegmenterService.afterPropertiesSet(SegmenterService.java:132)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethodsAbstractAutowireCapableBeanFactory.java:1514)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)

      I even copied everything in lib/plugins and windows folder
      I’ve also tried to copy dll file inside big jar files from xuggler in i686-w64-mingw32 folder and still same error it couldn’t find segmenter bean.

      I still have to test a few combinations but it seems that those windows special jars gives this error.

      As a side note, I’ve tested this with red5 1.0.0 as well with red5 1.0.2.
      Do you think would be a good idea to try compile xuggler on windows?
      Would be better if I try to compile hlsplugin with win64 xuggler?
      I’ve tried hls plugin and app from here but with same result.

      I’ve tried on Linux box but I get an error in the middle of process.

      • this error means xuggle can’t find necessary/ correct native libraries. You can try building xuggle yourself. I will try to recreate the issue next week. I currently don’t have access to a win7 system or a disk image

        • Hi,
          Thanks again for response.
          Managed to get xuggle built on Linux box, copied everything to lib folder and also to plugin folder but still error that xuggler is missing:

          Exception in thread “Launcher:/hlsapp” org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘segmenter.service’ defined in ServletContext resource [/WEB-INF/red5-web.xml]: Invocation of init method failed;

          This is what I have in xuggle-xuggler/dist/lib/ folder:
          commons-cli.jar
          logback-classic.jar
          logback-core.jar
          slf4j-api.jar
          xuggle-xuggler-arch-x86_64-unknown-linux-gnu.jar
          xuggle-xuggler.jar
          xuggle-xuggler-noarch.jar

          Very strange… I guess next step is to build hls-plugin/app.

        • Hi,
          Only copy,
          xuggle-xuggler-arch-x86_64-unknown-linux-gnu.jar
          xuggle-xuggler-noarch.jar
          to red5 plugins dir. Remove xuggle* from lib folder.

    • Hi. dryize.
      I saw your blog and try using hls plugin on red5 server. but there is an error, I dont know why error is happenned. Can you help me?

      Enviroment
      ——
      OS: ubuntu 13.10 x64
      red5-1.0.3-SNAPSHOT
      xuggle 5.5 (build in Ubuntu x64)
      hls-plugin link(build in Ubuntu x64)
      hls-example-app link(build in Ubuntu x64)
      encoder: flash media encoder
      * H264(baseline 3.0)
      * frame rate: 15.00
      * input size: 320*240
      * mp3: 22050Hz, 48 Kbps
      client: VLC player
      ——-

      Error
      ———–
      [INFO] [RTMPExecutor#6WLHT69RMWBYG-1] org.red5.server.stream.ClientBroadcastStream – Stream start: teststream
      [INFO] [RTMPExecutor#6WLHT69RMWBYG-1] org.red5.hlsapp.Application – W3C x-category:stream x-event:publish c-ip:10.0.2.2 x-sname:d85b3fc7-068e-42a8-9d26-15de52da7c9b x-name:teststream
      [INFO] [Thread-13] org.ffmpeg – [libx264 @ 0x2148c80] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle Cache64
      [INFO] [Thread-13] org.ffmpeg – [libx264 @ 0x2148c80] profile High, level 3.0
      [INFO] [Thread-13] org.ffmpeg – [mpegts @ 0x2143f20] muxrate VBR,
      [INFO] [Thread-13] org.ffmpeg – [mpegts @ 0x2143f20] pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts
      [INFO] [RTMPExecutor#119A7Y9O5BRKC-1] org.red5.hlsapp.Application – W3C x-category:session x-event:connect c-ip:127.0.0.1 c-client-id:1
      [INFO] [null_Scheduler_Worker-1] org.red5.hlsapp.Application – W3C x-category:stream x-event:play c-ip:127.0.0.1 x-sname:a193e3af-2820-4498-a4a8-1a7a1aa4878f
      [INFO] [null_Scheduler_Worker-2] org.red5.hlsapp.Application – W3C x-category:stream x-event:play c-ip:127.0.0.1 x-sname:a193e3af-2820-4498-a4a8-1a7a1aa4878f x-name:teststream
      [INFO] [SegmentExecutor-1] org.ffmpeg – Metadata:
      [INFO] [SegmentExecutor-1] org.ffmpeg – audiocodecid .mp3
      [INFO] [SegmentExecutor-1] org.ffmpeg – videokeyframe_frequency1.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – avclevel 30.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – videodevice HD Pro Webcam C920
      [INFO] [SegmentExecutor-1] org.ffmpeg – keywords
      [INFO] [SegmentExecutor-1] org.ffmpeg – audiosamplerate 22050.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – audiochannels 1.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – width 320.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – videodatarate 200.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – presetname Custom
      [INFO] [SegmentExecutor-1] org.ffmpeg – copyright
      [INFO] [SegmentExecutor-1] org.ffmpeg – audioinputvolume 75.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – creationdate Wed Apr 30 13:50:31 2014
      [INFO] [SegmentExecutor-1] org.ffmpeg – videocodecid avc1
      [INFO] [SegmentExecutor-1] org.ffmpeg – author
      [INFO] [SegmentExecutor-1] org.ffmpeg – audiodevice ޤ� (HD Pro Webcam C920)
      [INFO] [SegmentExecutor-1] org.ffmpeg – avcprofile 66.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – title
      [INFO] [SegmentExecutor-1] org.ffmpeg – audiodatarate 48.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – height 240.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – description
      [INFO] [SegmentExecutor-1] org.ffmpeg – rating
      [INFO] [SegmentExecutor-1] org.ffmpeg – framerate 14.98
      [WARN] [SegmentExecutor-1] org.ffmpeg – [flv @ 0x21439e0] max_analyze_duration 0 reached at 0
      [INFO] [SegmentExecutor-1] org.ffmpeg – [flv @ 0x21439e0] decoding for stream 0 failed
      [WARN] [SegmentExecutor-1] org.ffmpeg – [flv @ 0x21439e0] Could not find codec parameters (Audio: none, 0 channels, 49 kb/s)
      [WARN] [SegmentExecutor-1] org.ffmpeg – [flv @ 0x21439e0] Estimating duration from bitrate, this may be inaccurate
      [ERROR] [SegmentExecutor-1] org.ffmpeg – [h264 @ 0x7f72881582c0] AVC: nal size 21102622
      [ERROR] [SegmentExecutor-1] org.ffmpeg – [h264 @ 0x7f72881582c0] no frame!
      [WARN] [SegmentExecutor-2] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete
      [WARN] [SegmentExecutor-2] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete
      [WARN] [SegmentExecutor-1] org.red5.xuggler.reader.RTMPReader – Exception closing reader
      java.lang.RuntimeException: error Operation not allowed decoding video
      at com.xuggle.mediatool.MediaReader.decodeVideo(MediaReader.java:513) ~[xuggle-xuggler-noarch.jar:5.5.0]
      at com.xuggle.mediatool.MediaReader.readPacket(MediaReader.java:475) ~[xuggle-xuggler-noarch.jar:5.5.0]
      at org.red5.xuggler.reader.RTMPReader.run(RTMPReader.java:158) ~[hls-plugin-1.1.jar:na]
      at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-4.0.3.RELEASE.jar:4.0.3.RELEASE]
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_55]
      at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_55]
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) [na:1.7.0_55]
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) [na:1.7.0_55]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_55]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_55]
      at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]

      ———–

    • 5.17.2014

      Hi thanks for the hard work. Think I almost have this going and ready to test out but this (possibly obvious) step I am unaware of what to ‘try’

      (quote)once red5 started, push a rtmp stream to rtmp://localhost/hlsapp/teststream and you can view it in a hls compatiable player or via html5 player (on ios or android) using http://localhost:5080/hlsapp/teststream.m3u8 (quote)

      Not sure how to do this. I downloaded and have locally working mp4 video (bigbunny) then tried this command

      (win7) > ffmpeg -re -i c:\bigbunny.mp4 -c copy -f flv rtmp://localhost/hlsapp/teststream

      it chugs for a second and errors with “RTMP_Connect0 failed to connect to socket 10061 unknown error” (tried this with firewall on and firewall off — same bad result (also tried with 5080 and 1935 ports specified. Zilch success)

      Any hints on what to try next? Thanks. //GregH

      • you are actually doing correct. Probably a error at red5 end. If you monitor the red5 log/console output you will see the error.
        If you can attach that part of the red5 log, we can help you out.

    • Hello,
      is it possible to make a build of xuggler for windows server 2003 x86?
      i don’t find anythink and i cant build this 😦

      Regards

      Sascha

      • it should be. But I have only tried with win 7. But theoretically it is possible to build xuggler on windows server 2003. Did you try compiling. Are you getting any errors?

        • I didnt try it. But with all versions of xuggler that i found i get the same error when i want to connect with flash media encoder (same on my windows 7 machine local):

          failure to connect to primary server

          and red5 console said:

          2014-06-01 11:03:12,036 [RTMPExecutor#5AEN3SLMDSXHS-1] WARN o.r.server.net.rtmp.RTMPConnManager – Connection not found for 5AEN3SLMDSXHS

          and i dont know where the error is…

    • I am using Adobe flash media live endcoder to push rtmp stream live and using rtmp://localhost/hlsapp/teststream having failure to connect the primary server. can you help?

    • Hello,

      I followed the instruction https://github.com/Red5/red5-hls-plugin and got error:

      2014-06-02 19:47:59,088 [Launcher:/hlsapp] INFO o.s.s.c.ThreadPoolTaskScheduler – Initializing ExecutorService ‘segmentExecutor’
      2014-06-02 19:48:00,019 [Launcher:/hlsapp] ERROR org.ffmpeg – [Eval @ 0x7ff6184b3350] Invalid chars ‘.71’ at the end of expression ‘0.71’
      2014-06-02 19:48:00,020 [Launcher:/hlsapp] ERROR org.ffmpeg – [libx264 @ 0x7ff5c0284aa0] Unable to parse option value “0.71”
      2014-06-02 19:48:00,021 [Launcher:/hlsapp] WARN com.xuggle.xuggler.Configuration – Invalid property on object com.xuggle.xuggler.IStreamCoder@-1071100208[codec=com.xuggle.xuggler.ICodec@-1071196912[type=CODEC_TYPE_VIDEO;id=CODEC_ID_H264;name=libx264;];time base=1/20;frame rate=0/0;pixel type=YUV420P;width=352;height=288;]; name=”i_qfactor”; value=”0.71″
      2014-06-02 19:48:00,022 [Launcher:/hlsapp] ERROR org.red5.server.scope.Scope – Could not start scope [WebScope@7df224cd Depth = 1, Path = ‘/default’, Name = ‘hlsapp’] java.lang.RuntimeException: Could not configure coder from preset file

      After that I downloaded hls-plugin, hls-example-app and xuggle 5.5 from your dropbox, copied them to plugins/webapps folder and tried to start hlsapp again. Unfortunately, ffmpeg error persists.

      Can you help me please?

      Thanks in advance, telle

    • Hello, here is my full red5 log. Now i can connect to the hlsapp with flash media encoder with another “libxuggle-5.dll” as you post here. Then i press “start” and flash media encoder seems to stream. So now when i want connect with example the vlc media player i cant connect to the stream. same with other html5 player… do you see the error in the log ? Thank you very much for your hard work ! 2014-06-03 17:54:11,457 [main] INFO org.red5.server.Launcher – Red5 Server 1.0.2 (http://code.google.com/p/red5/) 2014-06-03 17:54:11,503 [main] INFO o.s.c.s.FileSystemXmlApplicationContext – Refreshing org.springframework.context.support.FileSystemXmlApplicationContext@4c786e: startup date [Tue Jun 03 17:54:11 CEST 2014]; root of context hierarchy 2014-06-03 17:54:11,535 [main] INFO o.s.b.f.xml.XmlBeanDefinitionReader – Loading XML bean definitions from class path resource [red5.xml] 2014-06-03 17:54:11,628 [main] INFO o.s.b.f.xml.XmlBeanDefinitionReader – Loading XML bean definitions from class path resource [jee-container.xml] 2014-06-03 17:54:11,675 [main] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from class path resource [red5.properties] 2014-06-03 17:54:11,691 [main] INFO o.r.spring.Red5ApplicationContext – setApplicationContext: org.springframework.context.support.FileSystemXmlApplicationContext@4c786e: startup date [Tue Jun 03 17:54:11 CEST 2014]; root of context hierarchy 2014-06-03 17:54:11,691 [main] INFO o.r.spring.Red5ApplicationContext – Red5ApplicationContext init 2014-06-03 17:54:11,691 [main] INFO o.r.spring.Red5ApplicationContext – Refreshing ApplicationContext ‘red5.common’: startup date [Tue Jun 03 17:54:11 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@4c786e 2014-06-03 17:54:11,691 [main] INFO o.s.b.f.xml.XmlBeanDefinitionReader – Loading XML bean definitions from class path resource [red5-common.xml] 2014-06-03 17:54:11,753 [main] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from class path resource [red5.properties] 2014-06-03 17:54:11,769 [main] INFO org.quartz.impl.StdSchedulerFactory – Using default implementation for ThreadExecutor 2014-06-03 17:54:11,785 [main] INFO o.quartz.core.SchedulerSignalerImpl – Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl 2014-06-03 17:54:11,785 [main] INFO org.quartz.core.QuartzScheduler – Quartz Scheduler v.2.1.7 created. 2014-06-03 17:54:11,785 [main] INFO org.quartz.simpl.RAMJobStore – RAMJobStore initialized. 2014-06-03 17:54:11,785 [main] INFO org.quartz.core.QuartzScheduler – Scheduler meta-data: Quartz Scheduler (v2.1.7) ‘Red5_Scheduler’ with instanceId ‘NON_CLUSTERED’ Scheduler class: ‘org.quartz.core.QuartzScheduler’ – running locally. NOT STARTED. Currently in standby mode. Number of jobs executed: 0 Using thread pool ‘org.quartz.simpl.SimpleThreadPool’ – with 32 threads. Using job-store ‘org.quartz.simpl.RAMJobStore’ – which does not support persistence. and is not clustered. 2014-06-03 17:54:11,785 [main] INFO org.quartz.impl.StdSchedulerFactory – Quartz scheduler ‘Red5_Scheduler’ initialized from the specified file : ‘D:/Streaming-Server/Red5/conf/quartz.properties’ 2014-06-03 17:54:11,785 [main] INFO org.quartz.impl.StdSchedulerFactory – Quartz scheduler version: 2.1.7 2014-06-03 17:54:11,785 [main] INFO org.quartz.core.QuartzScheduler – Scheduler Red5_Scheduler_$_NON_CLUSTERED started. 2014-06-03 17:54:11,800 [main] INFO o.s.r.rmi.RmiRegistryFactoryBean – Creating new RMI registry 2014-06-03 17:54:11,910 [main] INFO o.s.j.s.ConnectorServerFactoryBean – JMX connector server started: javax.management.remote.rmi.RMIConnectorServer@f50a51 2014-06-03 17:54:11,910 [main] INFO o.s.j.e.a.AnnotationMBeanExporter – Registering beans for JMX exposure on startup 2014-06-03 17:54:11,925 [main] INFO o.s.j.e.a.AnnotationMBeanExporter – Bean with name ‘org.springframework.jmx.support.ConnectorServerFactoryBean#0’ has been autodetected for JMX exposure 2014-06-03 17:54:11,925 [main] INFO o.s.j.e.a.AnnotationMBeanExporter – Bean with name ‘schedulingService’ has been autodetected for JMX exposure 2014-06-03 17:54:11,925 [main] INFO o.s.j.e.a.AnnotationMBeanExporter – Bean with name ‘clientBroadcastStream’ has been autodetected for JMX exposure 2014-06-03 17:54:11,941 [main] INFO o.s.j.e.a.AnnotationMBeanExporter – Located MBean ‘org.springframework.jmx.support.ConnectorServerFactoryBean#0’: registering with JMX server as MBean [org.red5.server:name=org.springframework.jmx.support.ConnectorServerFactoryBean#0,type=RMIConnectorServer] 2014-06-03 17:54:11,941 [main] INFO o.s.j.e.a.AnnotationMBeanExporter – Located MBean ‘schedulingService’: registering with JMX server as MBean [org.red5.server:name=schedulingService,type=QuartzSchedulingService] 2014-06-03 17:54:12,113 [main] INFO org.red5.server.service.WarDeployer – War deployer service created 2014-06-03 17:54:12,129 [main] INFO o.r.spring.Red5ApplicationContext – setApplicationContext: org.springframework.context.support.FileSystemXmlApplicationContext@4c786e: startup date [Tue Jun 03 17:54:11 CEST 2014]; root of context hierarchy 2014-06-03 17:54:12,129 [main] INFO o.r.spring.Red5ApplicationContext – Red5ApplicationContext init 2014-06-03 17:54:12,129 [main] INFO o.r.spring.Red5ApplicationContext – Refreshing ApplicationContext ‘red5.core’: startup date [Tue Jun 03 17:54:12 CEST 2014]; parent: ApplicationContext ‘red5.common’ 2014-06-03 17:54:12,129 [main] INFO o.s.b.f.xml.XmlBeanDefinitionReader – Loading XML bean definitions from class path resource [red5-core.xml] 2014-06-03 17:54:12,160 [main] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from class path resource [red5.properties] 2014-06-03 17:54:12,175 [main] INFO o.r.s.net.rtmp.RTMPMinaTransport – RTMP will be bound to [localhost:1935] 2014-06-03 17:54:12,175 [main] INFO o.r.s.net.rtmp.RTMPMinaTransport – RTMP Mina Transport Settings Acceptor style: default I/O threads: 16 TCP no-delay: true keep-alive: false 2014-06-03 17:54:12,191 [main] INFO o.r.s.net.rtmp.RTMPMinaTransport – Traffic class modification is disabled 2014-06-03 17:54:12,191 [main] INFO o.r.s.net.rtmp.RTMPMinaTransport – Send buffer size: 65536 recv buffer size: 65536 so linger: -1 traffic class: 0 2014-06-03 17:54:12,207 [main] INFO org.red5.server.ContextLoader – ContextLoader init 2014-06-03 17:54:12,207 [main] INFO org.red5.server.ContextLoader – Loading: default.context = ${red5.root}/webapps/red5-default.xml => D:/Streaming-Server/Red5/webapps/red5-default.xml 2014-06-03 17:54:12,207 [main] INFO o.s.c.s.FileSystemXmlApplicationContext – Refreshing org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e: startup date [Tue Jun 03 17:54:12 CEST 2014]; parent: ApplicationContext ‘red5.common’ 2014-06-03 17:54:12,207 [main] INFO o.s.b.f.xml.XmlBeanDefinitionReader – Loading XML bean definitions from file [D:Streaming-ServerRed5webappsred5-default.xml] 2014-06-03 17:54:12,238 [main] INFO org.red5.server.Context – Setting parent bean factory as core 2014-06-03 17:54:12,285 [main] INFO org.red5.server.tomcat.TomcatLoader – Loading tomcat context 2014-06-03 17:54:12,285 [main] INFO org.red5.server.tomcat.TomcatLoader – Server root: D:/Streaming-Server/Red5 2014-06-03 17:54:12,285 [main] INFO org.red5.server.tomcat.TomcatLoader – Config root: D:/Streaming-Server/Red5/conf 2014-06-03 17:54:12,285 [main] INFO org.red5.server.tomcat.TomcatLoader – Application root: D:/Streaming-Server/Red5/webapps 2014-06-03 17:54:12,332 [main] INFO org.red5.server.tomcat.TomcatLoader – Starting Tomcat servlet engine 2014-06-03 17:54:12,410 [main] INFO o.a.c.core.AprLifecycleListener – The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:Streaming-ServerJavajdk1.7.0_60bin;C:WINDOWSSunJavabin;C:WINDOWSsystem32;C:WINDOWS;C:Program Files (x86)NVIDIA CorporationPhysXCommon;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPowerShellv1.0;. 2014-06-03 17:54:12,410 [main] INFO o.a.coyote.http11.Http11NioProtocol – Initializing ProtocolHandler [“http-nio-127.0.0.1-5080”] 2014-06-03 17:54:12,425 [main] INFO o.a.tomcat.util.net.NioSelectorPool – Using a shared selector for servlet write/read 2014-06-03 17:54:12,425 [main] INFO o.apache.catalina.startup.Embedded – Starting tomcat server 2014-06-03 17:54:12,425 [main] INFO o.a.catalina.core.StandardEngine – Starting Servlet Engine: Apache Tomcat/7.0.50 2014-06-03 17:54:16,691 [localhost-startStop-1] INFO o.a.c.c.C.[.[localhost].[/oflaDemo] – No Spring WebApplicationInitializer types detected on classpath 2014-06-03 17:54:19,879 [localhost-startStop-1] INFO o.a.c.c.C.[.[localhost].[/vod] – No Spring WebApplicationInitializer types detected on classpath 2014-06-03 17:54:23,082 [localhost-startStop-1] INFO o.a.c.c.C.[.[localhost].[/hlsapp] – No Spring WebApplicationInitializer types detected on classpath 2014-06-03 17:54:26,161 [localhost-startStop-1] INFO o.a.c.c.C.[.[localhost].[/] – No Spring WebApplicationInitializer types detected on classpath 2014-06-03 17:54:29,177 [localhost-startStop-1] INFO o.a.c.c.C.[.[.[/installer] – No Spring WebApplicationInitializer types detected on classpath 2014-06-03 17:54:32,161 [localhost-startStop-1] INFO o.a.c.c.C.[.[localhost].[/live] – No Spring WebApplicationInitializer types detected on classpath 2014-06-03 17:54:32,161 [main] INFO o.a.coyote.http11.Http11NioProtocol – Starting ProtocolHandler [“http-nio-127.0.0.1-5080”] 2014-06-03 17:54:32,177 [main] INFO org.red5.server.tomcat.TomcatLoader – Dedicated RTMPT server configuration was not specified 2014-06-03 17:54:32,177 [main] INFO org.red5.server.ContextLoader – JEE server was found: TomcatLoader [serviceEngineName=red5Engine] 2014-06-03 17:54:32,177 [Launcher:/vod] INFO o.s.w.c.s.XmlWebApplicationContext – Refreshing Root WebApplicationContext: startup date [Tue Jun 03 17:54:32 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e 2014-06-03 17:54:32,177 [Launcher:/oflaDemo] INFO o.s.w.c.s.XmlWebApplicationContext – Refreshing Root WebApplicationContext: startup date [Tue Jun 03 17:54:32 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e 2014-06-03 17:54:32,177 [Launcher:/installer] INFO o.s.w.c.s.XmlWebApplicationContext – Refreshing Root WebApplicationContext: startup date [Tue Jun 03 17:54:32 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e 2014-06-03 17:54:32,177 [Launcher:/hlsapp] INFO o.s.w.c.s.XmlWebApplicationContext – Refreshing Root WebApplicationContext: startup date [Tue Jun 03 17:54:32 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e 2014-06-03 17:54:32,177 [Launcher:/live] INFO o.s.w.c.s.XmlWebApplicationContext – Refreshing Root WebApplicationContext: startup date [Tue Jun 03 17:54:32 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e 2014-06-03 17:54:32,177 [Launcher:/] INFO o.s.w.c.s.XmlWebApplicationContext – Refreshing Root WebApplicationContext: startup date [Tue Jun 03 17:54:32 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e 2014-06-03 17:54:32,177 [Launcher:/installer] INFO o.s.b.f.xml.XmlBeanDefinitionReader – Loading XML bean definitions from ServletContext resource [/WEB-INF/red5-web.xml] 2014-06-03 17:54:32,177 [Launcher:/hlsapp] INFO o.s.b.f.xml.XmlBeanDefinitionReader – Loading XML bean definitions from ServletContext resource [/WEB-INF/red5-web.xml] 2014-06-03 17:54:32,177 [Launcher:/live] INFO o.s.b.f.xml.XmlBeanDefinitionReader – Loading XML bean definitions from ServletContext resource [/WEB-INF/red5-web.xml] 2014-06-03 17:54:32,177 [Launcher:/oflaDemo] INFO o.s.b.f.xml.XmlBeanDefinitionReader – Loading XML bean definitions from ServletContext resource [/WEB-INF/red5-web.xml] 2014-06-03 17:54:32,177 [Launcher:/vod] INFO o.s.b.f.xml.XmlBeanDefinitionReader – Loading XML bean definitions from ServletContext resource [/WEB-INF/red5-web.xml] 2014-06-03 17:54:32,177 [Launcher:/] INFO o.s.b.f.xml.XmlBeanDefinitionReader – Loading XML bean definitions from ServletContext resource [/WEB-INF/red5-web.xml] 2014-06-03 17:54:32,208 [Launcher:/] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from ServletContext resource [/WEB-INF/red5-web.properties] 2014-06-03 17:54:32,208 [Launcher:/live] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from ServletContext resource [/WEB-INF/red5-web.properties] 2014-06-03 17:54:32,208 [Launcher:/oflaDemo] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from ServletContext resource [/WEB-INF/red5-web.properties] 2014-06-03 17:54:32,208 [Launcher:/vod] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from ServletContext resource [/WEB-INF/red5-web.properties] 2014-06-03 17:54:32,208 [Launcher:/installer] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from ServletContext resource [/WEB-INF/red5-web.properties] 2014-06-03 17:54:32,208 [Launcher:/] INFO org.red5.server.Context – Setting parent bean factory as core 2014-06-03 17:54:32,208 [Launcher:/hlsapp] INFO o.s.b.f.c.PropertyPlaceholderConfigurer – Loading properties file from ServletContext resource [/WEB-INF/red5-web.properties] 2014-06-03 17:54:32,208 [Launcher:/oflaDemo] INFO org.red5.server.Context – Setting parent bean factory as core 2014-06-03 17:54:32,208 [Launcher:/live] INFO org.red5.server.Context – Setting parent bean factory as core 2014-06-03 17:54:32,208 [Launcher:/vod] INFO org.red5.server.Context – Setting parent bean factory as core 2014-06-03 17:54:32,208 [Launcher:/vod] INFO org.red5.server.scope.WebScope – Set server [Server@1c76f7amap[[empty]]] 2014-06-03 17:54:32,208 [Launcher:/oflaDemo] INFO org.red5.server.scope.WebScope – Set server [Server@1c76f7amap[[empty]]] 2014-06-03 17:54:32,208 [Launcher:/live] INFO org.red5.server.scope.WebScope – Set server [Server@1c76f7amap[[empty]]] 2014-06-03 17:54:32,208 [Launcher:/] INFO org.red5.server.scope.WebScope – Set server [Server@1c76f7amap[[empty]]] 2014-06-03 17:54:32,208 [Launcher:/installer] INFO org.red5.server.Context – Setting parent bean factory as core 2014-06-03 17:54:32,224 [Launcher:/installer] INFO org.red5.server.scope.WebScope – Set server [Server@1c76f7amap[[empty]]] 2014-06-03 17:54:32,224 [Launcher:/] INFO org.red5.server.Server – Add mapping global: default host: context: 2014-06-03 17:54:32,224 [Launcher:/] WARN org.red5.server.scope.Scope – Invalid scope rejected: Scope [name=, path=/default, type=APPLICATION, autoStart=true, creationTime=1401810872208, depth=1, enabled=true, running=false] 2014-06-03 17:54:32,224 [Launcher:/] WARN org.red5.server.scope.Scope – Scope not added to parent 2014-06-03 17:54:32,224 [Launcher:/vod] INFO org.red5.server.Server – Add mapping global: default host: context: vod 2014-06-03 17:54:32,224 [Launcher:/live] INFO org.red5.server.Server – Add mapping global: default host: context: live 2014-06-03 17:54:32,224 [Launcher:/oflaDemo] INFO org.red5.server.Server – Add mapping global: default host: context: oflaDemo 2014-06-03 17:54:32,224 [Launcher:/installer] INFO org.red5.server.Server – Add mapping global: default host: localhost context: installer 2014-06-03 17:54:32,224 [Launcher:/oflaDemo] INFO org.red5.server.Server – Add mapping global: default host: localhost context: oflaDemo 2014-06-03 17:54:32,224 [Launcher:/installer] INFO org.red5.server.Server – Add mapping global: default host: localhost:5080 context: installer 2014-06-03 17:54:32,224 [Launcher:/oflaDemo] INFO org.red5.server.Server – Add mapping global: default host: localhost:8088 context: oflaDemo 2014-06-03 17:54:32,224 [Launcher:/oflaDemo] INFO org.red5.server.Server – Add mapping global: default host: 127.0.0.1:8088 context: oflaDemo 2014-06-03 17:54:32,224 [Launcher:/hlsapp] INFO org.red5.server.Context – Setting parent bean factory as core 2014-06-03 17:54:32,224 [Launcher:/oflaDemo] INFO org.red5.demos.oflaDemo.Application – oflaDemo appStart 2014-06-03 17:54:32,224 [Launcher:/hlsapp] INFO org.red5.server.scope.WebScope – Set server [Server@1c76f7amap[‘/vod’ -> ‘default’, ‘127.0.0.1:8088/oflaDemo’ -> ‘default’, ‘/’ -> ‘default’, ‘localhost:5080/installer’ -> ‘default’, ‘localhost/installer’ -> ‘default’, ‘/live’ -> ‘default’, ‘/oflaDemo’ -> ‘default’, ‘localhost:8088/oflaDemo’ -> ‘default’, ‘localhost/oflaDemo’ -> ‘default’]] 2014-06-03 17:54:32,224 [Launcher:/hlsapp] INFO org.red5.server.Server – Add mapping global: default host: context: hlsapp 2014-06-03 17:54:32,224 [Launcher:/installer] INFO org.red5.server.service.Installer – Installer service created 2014-06-03 17:54:32,318 [Launcher:/hlsapp] ERROR org.red5.server.scope.Scope – Could not start scope Scope [name=hlsapp, path=/default, type=APPLICATION, autoStart=true, creationTime=1401810872224, depth=1, enabled=true, running=false] java.lang.UnsatisfiedLinkError: com.xuggle.xuggler.XugglerJNI.ICodec_CODEC_ID_EXR_get()I 2014-06-03 17:54:32,318 [Launcher:/hlsapp] INFO org.quartz.impl.StdSchedulerFactory – Using default implementation for ThreadExecutor 2014-06-03 17:54:32,318 [Launcher:/hlsapp] INFO o.quartz.core.SchedulerSignalerImpl – Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl 2014-06-03 17:54:32,318 [Launcher:/hlsapp] INFO org.quartz.core.QuartzScheduler – Quartz Scheduler v.2.1.7 created. 2014-06-03 17:54:32,318 [Launcher:/hlsapp] INFO org.quartz.simpl.RAMJobStore – RAMJobStore initialized. 2014-06-03 17:54:32,318 [Launcher:/hlsapp] INFO org.quartz.core.QuartzScheduler – Scheduler meta-data: Quartz Scheduler (v2.1.7) ‘null_Scheduler’ with instanceId ‘NON_CLUSTERED’ Scheduler class: ‘org.quartz.core.QuartzScheduler’ – running locally. NOT STARTED. Currently in standby mode. Number of jobs executed: 0 Using thread pool ‘org.quartz.simpl.SimpleThreadPool’ – with 2 threads. Using job-store ‘org.quartz.simpl.RAMJobStore’ – which does not support persistence. and is not clustered. 2014-06-03 17:54:32,333 [Launcher:/hlsapp] INFO org.quartz.impl.StdSchedulerFactory – Quartz scheduler ‘null_Scheduler’ initialized from an externally provided properties instance. 2014-06-03 17:54:32,333 [Launcher:/hlsapp] INFO org.quartz.impl.StdSchedulerFactory – Quartz scheduler version: 2.1.7 2014-06-03 17:54:32,333 [Launcher:/hlsapp] INFO org.quartz.core.QuartzScheduler – Scheduler null_Scheduler_$_NON_CLUSTERED started. 2014-06-03 17:54:59,862 [RTMPExecutor#WUNDATIA1L6WF-1] INFO com.red5.hlsapp.Application – W3C x-category:session x-event:connect c-ip:127.0.0.1 c-client-id:0 2014-06-03 17:55:03,445 [RTMPExecutor#WUNDATIA1L6WF-1] INFO o.r.s.stream.ClientBroadcastStream – Stream start: teststream 2014-06-03 17:55:03,448 [RTMPExecutor#WUNDATIA1L6WF-1] INFO com.red5.hlsapp.Application – W3C x-category:stream x-event:publish c-ip:127.0.0.1 x-sname:6943f1c3-b54b-4c4e-8c9d-318916b6e1b8 x-name:teststream 2014-06-03 18:06:57,367 [http-nio-127.0.0.1-5080-exec-1] INFO o.red5.stream.http.servlet.PlayList – Maximum segment wait time exceeded for teststream 2014-06-03 18:07:08,459 [http-nio-127.0.0.1-5080-exec-2] INFO o.red5.stream.http.servlet.PlayList – Maximum segment wait time exceeded for teststream 2014-06-03 18:07:19,549 [http-nio-127.0.0.1-5080-exec-3] INFO o.red5.stream.http.servlet.PlayList – Maximum segment wait time exceeded for teststream 2014-06-03 18:07:30,141 [RTMPExecutor#WUNDATIA1L6WF-1] INFO o.red5.server.stream.StreamService – closeStream: streamId=1, connection=RTMPMinaConnection from 127.0.0.1 (in: 9479468 out: 3673) session: WUNDATIA1L6WF state: connected 2014-06-03 18:07:30,143 [RTMPExecutor#WUNDATIA1L6WF-1] INFO com.red5.hlsapp.Application – W3C x-category:stream x-event:unpublish c-ip:127.0.0.1 cs-bytes:9479468 sc-bytes:3816 x-sname:6943f1c3-b54b-4c4e-8c9d-318916b6e1b8 x-file-length:746 x-name:teststream 2014-06-03 18:07:31,413 [NioProcessor-2] WARN o.r.s.net.rtmp.RTMPMinaIoHandler – Exception caught on session: 1 id: WUNDATIA1L6WF java.io.IOException: Eine vorhandene Verbindung wurde vom Remotehost geschlossen at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[na:1.7.0_60] at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) ~[na:1.7.0_60] at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[na:1.7.0_60] at sun.nio.ch.IOUtil.read(IOUtil.java:197) ~[na:1.7.0_60] at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379) ~[na:1.7.0_60] at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:271) ~[mina-core-2.0.8-SNAPSHOT.jar:na] at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44) ~[mina-core-2.0.8-SNAPSHOT.jar:na] at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:690) [mina-core-2.0.8-SNAPSHOT.jar:na] at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664) [mina-core-2.0.8-SNAPSHOT.jar:na] at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653) [mina-core-2.0.8-SNAPSHOT.jar:na] at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67) [mina-core-2.0.8-SNAPSHOT.jar:na] at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1113) [mina-core-2.0.8-SNAPSHOT.jar:na] at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) [mina-core-2.0.8-SNAPSHOT.jar:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_60] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_60] 2014-06-03 18:07:31,414 [NioProcessor-2] INFO com.red5.hlsapp.Application – W3C x-category:session x-event:disconnect c-ip:127.0.0.1 c-client-id:0 2014-06-03 18:07:44,989 [RMI TCP Connection(7)-192.168.1.36] INFO org.red5.server.tomcat.TomcatLoader – Shutting down Tomcat context 2014-06-03 18:07:44,990 [RMI TCP Connection(7)-192.168.1.36] INFO o.s.w.c.s.XmlWebApplicationContext – Closing Root WebApplicationContext: startup date [Tue Jun 03 17:54:32 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e 2014-06-03 18:07:44,990 [RMI TCP Connection(7)-192.168.1.36] INFO org.quartz.core.QuartzScheduler – Scheduler null_Scheduler_$_NON_CLUSTERED shutting down. 2014-06-03 18:07:44,990 [RMI TCP Connection(7)-192.168.1.36] INFO org.quartz.core.QuartzScheduler – Scheduler null_Scheduler_$_NON_CLUSTERED paused. 2014-06-03 18:07:44,991 [RMI TCP Connection(7)-192.168.1.36] INFO org.quartz.core.QuartzScheduler – Scheduler null_Scheduler_$_NON_CLUSTERED shutdown complete. 2014-06-03 18:07:45,002 [RMI TCP Connection(7)-192.168.1.36] ERROR o.a.c.loader.WebappClassLoader – The web application [/hlsapp] appears to have started a thread named [null_Scheduler_Worker-1] but has failed to stop it. This is very likely to create a memory leak. 2014-06-03 18:07:45,003 [RMI TCP Connection(7)-192.168.1.36] ERROR o.a.c.loader.WebappClassLoader – The web application [/hlsapp] appears to have started a thread named [null_Scheduler_Worker-2] but has failed to stop it. This is very likely to create a memory leak. 2014-06-03 18:07:45,004 [RMI TCP Connection(7)-192.168.1.36] ERROR o.a.c.loader.WebappClassLoader – The web application [/hlsapp] appears to have started a thread named [AudioMux@hlsapp] but has failed to stop it. This is very likely to create a memory leak. 2014-06-03 18:07:45,005 [RMI TCP Connection(7)-192.168.1.36] ERROR o.a.c.loader.WebappClassLoader – The web application [/hlsapp] appears to have started a thread named [pool-2-thread-1] but has failed to stop it. This is very likely to create a memory leak. 2014-06-03 18:07:45,009 [RMI TCP Connection(7)-192.168.1.36] ERROR o.r.s.t.TomcatApplicationContext – Could not stop context org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_stop]) for component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/hlsapp]] in state [DESTROYED] at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:219) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.red5.server.tomcat.TomcatApplicationContext.stop(TomcatApplicationContext.java:90) ~[tomcatplugin-1.6.jar:na] at org.red5.server.tomcat.TomcatLoader.destroy(TomcatLoader.java:874) [tomcatplugin-1.6.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) [na:1.7.0_60] at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) [na:1.7.0_60] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.7.0_60] at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.7.0_60] at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1427) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:177) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:174) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at sun.rmi.transport.Transport.serviceCall(Transport.java:173) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_60] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_60] 2014-06-03 18:07:45,012 [RMI TCP Connection(7)-192.168.1.36] INFO o.a.catalina.util.LifecycleBase – The destroy() method was called on component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/hlsapp]] after destroy() had already been called. The second call will be ignored. 2014-06-03 18:07:45,013 [RMI TCP Connection(7)-192.168.1.36] INFO o.s.w.c.s.XmlWebApplicationContext – Closing Root WebApplicationContext: startup date [Tue Jun 03 17:54:32 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e 2014-06-03 18:07:45,016 [RMI TCP Connection(7)-192.168.1.36] ERROR o.r.s.t.TomcatApplicationContext – Could not stop context org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_stop]) for component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/live]] in state [DESTROYED] at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:219) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.red5.server.tomcat.TomcatApplicationContext.stop(TomcatApplicationContext.java:90) ~[tomcatplugin-1.6.jar:na] at org.red5.server.tomcat.TomcatLoader.destroy(TomcatLoader.java:874) [tomcatplugin-1.6.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) [na:1.7.0_60] at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) [na:1.7.0_60] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.7.0_60] at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.7.0_60] at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1427) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:177) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:174) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at sun.rmi.transport.Transport.serviceCall(Transport.java:173) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_60] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_60] 2014-06-03 18:07:45,019 [RMI TCP Connection(7)-192.168.1.36] INFO o.a.catalina.util.LifecycleBase – The destroy() method was called on component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/live]] after destroy() had already been called. The second call will be ignored. 2014-06-03 18:07:45,019 [RMI TCP Connection(7)-192.168.1.36] INFO o.s.w.c.s.XmlWebApplicationContext – Closing Root WebApplicationContext: startup date [Tue Jun 03 17:54:32 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e 2014-06-03 18:07:45,023 [RMI TCP Connection(7)-192.168.1.36] ERROR o.r.s.t.TomcatApplicationContext – Could not stop context org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_stop]) for component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/installer]] in state [DESTROYED] at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:219) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.red5.server.tomcat.TomcatApplicationContext.stop(TomcatApplicationContext.java:90) ~[tomcatplugin-1.6.jar:na] at org.red5.server.tomcat.TomcatLoader.destroy(TomcatLoader.java:874) [tomcatplugin-1.6.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) [na:1.7.0_60] at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) [na:1.7.0_60] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.7.0_60] at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.7.0_60] at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1427) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:177) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:174) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at sun.rmi.transport.Transport.serviceCall(Transport.java:173) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_60] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_60] 2014-06-03 18:07:45,026 [RMI TCP Connection(7)-192.168.1.36] INFO o.a.catalina.util.LifecycleBase – The destroy() method was called on component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/installer]] after destroy() had already been called. The second call will be ignored. 2014-06-03 18:07:45,027 [RMI TCP Connection(7)-192.168.1.36] INFO o.s.w.c.s.XmlWebApplicationContext – Closing Root WebApplicationContext: startup date [Tue Jun 03 17:54:32 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e 2014-06-03 18:07:45,030 [RMI TCP Connection(7)-192.168.1.36] ERROR o.r.s.t.TomcatApplicationContext – Could not stop context org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_stop]) for component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/]] in state [DESTROYED] at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:219) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.red5.server.tomcat.TomcatApplicationContext.stop(TomcatApplicationContext.java:90) ~[tomcatplugin-1.6.jar:na] at org.red5.server.tomcat.TomcatLoader.destroy(TomcatLoader.java:874) [tomcatplugin-1.6.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) [na:1.7.0_60] at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) [na:1.7.0_60] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.7.0_60] at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.7.0_60] at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1427) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:177) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:174) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at sun.rmi.transport.Transport.serviceCall(Transport.java:173) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_60] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_60] 2014-06-03 18:07:45,035 [RMI TCP Connection(7)-192.168.1.36] INFO o.a.catalina.util.LifecycleBase – The destroy() method was called on component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/]] after destroy() had already been called. The second call will be ignored. 2014-06-03 18:07:45,035 [RMI TCP Connection(7)-192.168.1.36] INFO o.s.w.c.s.XmlWebApplicationContext – Closing Root WebApplicationContext: startup date [Tue Jun 03 17:54:32 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e 2014-06-03 18:07:45,040 [RMI TCP Connection(7)-192.168.1.36] ERROR o.r.s.t.TomcatApplicationContext – Could not stop context org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_stop]) for component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/oflaDemo]] in state [DESTROYED] at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:219) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.red5.server.tomcat.TomcatApplicationContext.stop(TomcatApplicationContext.java:90) ~[tomcatplugin-1.6.jar:na] at org.red5.server.tomcat.TomcatLoader.destroy(TomcatLoader.java:874) [tomcatplugin-1.6.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) [na:1.7.0_60] at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) [na:1.7.0_60] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.7.0_60] at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.7.0_60] at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1427) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:177) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:174) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at sun.rmi.transport.Transport.serviceCall(Transport.java:173) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_60] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_60] 2014-06-03 18:07:45,043 [RMI TCP Connection(7)-192.168.1.36] INFO o.a.catalina.util.LifecycleBase – The destroy() method was called on component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/oflaDemo]] after destroy() had already been called. The second call will be ignored. 2014-06-03 18:07:45,044 [RMI TCP Connection(7)-192.168.1.36] INFO o.s.w.c.s.XmlWebApplicationContext – Closing Root WebApplicationContext: startup date [Tue Jun 03 17:54:32 CEST 2014]; parent: org.springframework.context.support.FileSystemXmlApplicationContext@c3f50e 2014-06-03 18:07:45,047 [RMI TCP Connection(7)-192.168.1.36] ERROR o.r.s.t.TomcatApplicationContext – Could not stop context org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_stop]) for component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/vod]] in state [DESTROYED] at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:219) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.red5.server.tomcat.TomcatApplicationContext.stop(TomcatApplicationContext.java:90) ~[tomcatplugin-1.6.jar:na] at org.red5.server.tomcat.TomcatLoader.destroy(TomcatLoader.java:874) [tomcatplugin-1.6.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) [na:1.7.0_60] at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) [na:1.7.0_60] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.7.0_60] at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.7.0_60] at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1427) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:177) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:174) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at sun.rmi.transport.Transport.serviceCall(Transport.java:173) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_60] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_60] 2014-06-03 18:07:45,050 [RMI TCP Connection(7)-192.168.1.36] INFO o.a.catalina.util.LifecycleBase – The destroy() method was called on component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/vod]] after destroy() had already been called. The second call will be ignored. 2014-06-03 18:07:45,050 [RMI TCP Connection(7)-192.168.1.36] INFO o.s.c.s.FileSystemXmlApplicationContext – Closing org.springframework.context.support.FileSystemXmlApplicationContext@4c786e: startup date [Tue Jun 03 17:54:11 CEST 2014]; root of context hierarchy 2014-06-03 18:07:45,052 [RMI TCP Connection(7)-192.168.1.36] INFO o.s.c.s.DefaultLifecycleProcessor – Stopping beans in phase 0 2014-06-03 18:07:45,052 [RMI TCP Connection(7)-192.168.1.36] INFO o.red5.server.plugin.PluginRegistry – Destroying and cleaning up 0 plugins 2014-06-03 18:07:45,052 [RMI TCP Connection(7)-192.168.1.36] INFO org.red5.server.tomcat.TomcatLoader – Shutting down Tomcat context 2014-06-03 18:07:45,053 [RMI TCP Connection(7)-192.168.1.36] WARN o.r.s.t.TomcatApplicationContext – Spring context for /hlsapp was not found 2014-06-03 18:07:45,054 [RMI TCP Connection(7)-192.168.1.36] ERROR o.r.s.t.TomcatApplicationContext – Could not stop context org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_stop]) for component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/hlsapp]] in state [DESTROYED] at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:219) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.red5.server.tomcat.TomcatApplicationContext.stop(TomcatApplicationContext.java:90) ~[tomcatplugin-1.6.jar:na] at org.red5.server.tomcat.TomcatLoader.destroy(TomcatLoader.java:874) [tomcatplugin-1.6.jar:na] at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:257) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:540) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:516) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:827) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:533) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:516) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:827) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:485) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:921) [spring-context-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:895) [spring-context-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:841) [spring-context-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.red5.server.tomcat.TomcatLoader.destroy(TomcatLoader.java:878) [tomcatplugin-1.6.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193) [na:1.7.0_60] at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) [na:1.7.0_60] at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) [na:1.7.0_60] at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) [na:1.7.0_60] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.7.0_60] at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.7.0_60] at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1427) [na:1.7.0_60] at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) [na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60] at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:177) [na:1.7.0_60] at sun.rmi.transport.Transport$1.run(Transport.java:174) [na:1.7.0_60] at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_60] at sun.rmi.transport.Transport.serviceCall(Transport.java:173) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) [na:1.7.0_60] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_60] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_60] 2014-06-03 18:07:45,058 [RMI TCP Connection(7)-192.168.1.36] INFO o.a.catalina.util.LifecycleBase – The destroy() method was called on component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/hlsapp]] after destroy() had already been called. The second call will be ignored. 2014-06-03 18:07:45,058 [RMI TCP Connection(7)-192.168.1.36] WARN o.r.s.t.TomcatApplicationContext – Spring context for /live was not found 2014-06-03 18:07:45,059 [RMI TCP Connection(7)-192.168.1.36] ERROR o.r.s.t.TomcatApplicationContext – Could not stop context org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_stop]) for component [StandardEngine[red5Engine].StandardHost[localhost].StandardContext[/live]] in state [DESTROYED] at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:219) ~[tomcat-embed-core-7.0.50.jar:7.0.50] at org.red5.server.tomcat.TomcatApplicationContext.stop(TomcatApplicationContext.java:90) ~[tomcatplugin-1.6.jar:na] at org.red5.server.tomcat.TomcatLoader.destroy(TomcatLoader.java:874) [tomcatplugin-1.6.jar:na] at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:257) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:540) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:516) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:827) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:533) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:516) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:827) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:485) [spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:921) [spring-context-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:895) [spring-context-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:841) [spring-context-4.0.3.RELEASE.jar:4.0.3.RELEASE] at org.red5.server.tomcat.TomcatLoader.destroy(TomcatLoade
    • I htink this is nessesary ?

      2014-06-03 17:54:32,224 [Launcher:/hlsapp] INFO org.red5.server.scope.WebScope – Set server [Server@1c76f7amap[‘/vod’ -> ‘default’, ‘127.0.0.1:8088/oflaDemo’ -> ‘default’, ‘/’ -> ‘default’, ‘localhost:5080/installer’ -> ‘default’, ‘localhost/installer’ -> ‘default’, ‘/live’ -> ‘default’, ‘/oflaDemo’ -> ‘default’, ‘localhost:8088/oflaDemo’ -> ‘default’, ‘localhost/oflaDemo’ -> ‘default’]]
      2014-06-03 17:54:32,224 [Launcher:/hlsapp] INFO org.red5.server.Server – Add mapping global: default host: context: hlsapp
      2014-06-03 17:54:32,224 [Launcher:/installer] INFO org.red5.server.service.Installer – Installer service created
      2014-06-03 17:54:32,318 [Launcher:/hlsapp] ERROR org.red5.server.scope.Scope – Could not start scope Scope [name=hlsapp, path=/default, type=APPLICATION, autoStart=true, creationTime=1401810872224, depth=1, enabled=true, running=false] java.lang.UnsatisfiedLinkError: com.xuggle.xuggler.XugglerJNI.ICodec_CODEC_ID_EXR_get()I
      2014-06-03 17:54:32,318 [Launcher:/hlsapp] INFO org.quartz.impl.StdSchedulerFactory – Using default implementation for ThreadExecutor
      2014-06-03 17:54:32,318 [Launcher:/hlsapp] INFO o.quartz.core.SchedulerSignalerImpl – Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
      2014-06-03 17:54:32,318 [Launcher:/hlsapp] INFO org.quartz.core.QuartzScheduler – Quartz Scheduler v.2.1.7 created.
      2014-06-03 17:54:32,318 [Launcher:/hlsapp] INFO org.quartz.simpl.RAMJobStore – RAMJobStore initialized.
      2014-06-03 17:54:32,318 [Launcher:/hlsapp] INFO org.quartz.core.QuartzScheduler – Scheduler meta-data: Quartz Scheduler (v2.1.7) ‘null_Scheduler’ with instanceId ‘NON_CLUSTERED’
      Scheduler class: ‘org.quartz.core.QuartzScheduler’ – running locally.
      NOT STARTED.
      Currently in standby mode.
      Number of jobs executed: 0
      Using thread pool ‘org.quartz.simpl.SimpleThreadPool’ – with 2 threads.
      Using job-store ‘org.quartz.simpl.RAMJobStore’ – which does not support persistence. and is not clustered.

      2014-06-03 17:54:32,333 [Launcher:/hlsapp] INFO org.quartz.impl.StdSchedulerFactory – Quartz scheduler ‘null_Scheduler’ initialized from an externally provided properties instance.
      2014-06-03 17:54:32,333 [Launcher:/hlsapp] INFO org.quartz.impl.StdSchedulerFactory – Quartz scheduler version: 2.1.7
      2014-06-03 17:54:32,333 [Launcher:/hlsapp] INFO org.quartz.core.QuartzScheduler – Scheduler null_Scheduler_$_NON_CLUSTERED started.
      2014-06-03 17:54:59,862 [RTMPExecutor#WUNDATIA1L6WF-1] INFO com.red5.hlsapp.Application – W3C x-category:session x-event:connect c-ip:127.0.0.1 c-client-id:0
      2014-06-03 17:55:03,445 [RTMPExecutor#WUNDATIA1L6WF-1] INFO o.r.s.stream.ClientBroadcastStream – Stream start: teststream
      2014-06-03 17:55:03,448 [RTMPExecutor#WUNDATIA1L6WF-1] INFO com.red5.hlsapp.Application – W3C x-category:stream x-event:publish c-ip:127.0.0.1 x-sname:6943f1c3-b54b-4c4e-8c9d-318916b6e1b8 x-name:teststream
      2014-06-03 18:06:57,367 [http-nio-127.0.0.1-5080-exec-1] INFO o.red5.stream.http.servlet.PlayList – Maximum segment wait time exceeded for teststream
      2014-06-03 18:07:08,459 [http-nio-127.0.0.1-5080-exec-2] INFO o.red5.stream.http.servlet.PlayList – Maximum segment wait time exceeded for teststream
      2014-06-03 18:07:19,549 [http-nio-127.0.0.1-5080-exec-3] INFO o.red5.stream.http.servlet.PlayList – Maximum segment wait time exceeded for teststream
      2014-06-03 18:07:30,141 [RTMPExecutor#WUNDATIA1L6WF-1] INFO o.red5.server.stream.StreamService – closeStream: streamId=1, connection=RTMPMinaConnection from 127.0.0.1 (in: 9479468 out: 3673) session: WUNDATIA1L6WF state: connected
      2014-06-03 18:07:30,143 [RTMPExecutor#WUNDATIA1L6WF-1] INFO com.red5.hlsapp.Application – W3C x-category:stream x-event:unpublish c-ip:127.0.0.1 cs-bytes:9479468 sc-bytes:3816 x-sname:6943f1c3-b54b-4c4e-8c9d-318916b6e1b8 x-file-length:746 x-name:teststream
      2014-06-03 18:07:31,413 [NioProcessor-2] WARN o.r.s.net.rtmp.RTMPMinaIoHandler – Exception caught on session: 1 id: WUNDATIA1L6WF

    • Hey,

      You’ve mentioned using the oflaDemo to push a stream. Can you explain how one would go about that? I’m assuming this is a very basic question, but I’m very new to Red5, so would appreciate any help. Right now, I have the default streams set up in both oflaDemo and the hlsapp, but I keep getting this in the logs:

      [DEBUG] [http-nio-0.0.0.0-5080-exec-1] org.red5.stream.http.servlet.PlayList – Playlist requested
      [DEBUG] [http-nio-0.0.0.0-5080-exec-1] org.red5.stream.http.servlet.PlayList – Request for stream: hobbit_vp6 playlist
      Printing segmentMap.
      Name =hlsapp-audio facade = hlsapp-audio
      [DEBUG] [http-nio-0.0.0.0-5080-exec-1] org.red5.stream.http.servlet.PlayList – Stream: hobbit_vp6 is not available

      The segmentMap is a log that I put in myself. It seems to only see the hlsapp-audio stream. I have no idea where that comes from either.

    • I have set up the hlsapp under the webapps directory and can visit the jsp files, But I really do not know how to publish a stream to rtmp://localhost/hlsapp/teststream. Would you help to give me a clue on how to do this?

    • I have everything working on Linux Ubuntu 1304, one thing none of the guides mention is you need to have ffmpeg installed which I figured out. My problem is, the play back seems very choppy. This is a brand new state or the art server. Is there settings I need to adjust?

    • tnx for this useful article
      but
      1- red5 snapshot version download link is broken and there is no such version in red5’s offical site !
      2- can you build 32bit xuggler? i can not run red5 service in 64x windows

    • hi,I have set up the hlsapp under the webapps directory and can visit the jsp files, but in the segment directory have no segment. can you tell me why?

    • Hello,

      What do you mean by saying ” push a rtmp stream to rtmp://localhost/hlsapp/teststream and you can view it in a hls compatiable player or via html5 player (on ios or android) using http://localhost:5080/hlsapp/teststream.m3u8“?

      What I understand is I will put a video file into webapps/hlsapp/streams/ folder named teststream, then I can use Iphone and point safari to http://localhost:5080/hlsapp/teststream.m3u8, I can get the playlist and play that video, right?

      But it does not work in my case.

      Can you point out my mistake?

      Thanks,

    • hello,i am learning red5-hls-plugin recently,but when i start red5,the error come like this:
      [Launcher:/hlsapp] INFO o.s.s.c.ThreadPoolTaskScheduler – Initializing ExecutorService ‘segmentExecutor’
      [Launcher:/hlsapp] ERROR org.red5.server.scope.Scope – Could not start scope Scope [name=hlsapp, path=/default, type=APPLICATION, autoStart=true, creationTime=1412773620055, depth=1, enabled=true, running=false] java.lang.NullPointerException
      [Launcher:/hlsapp] INFO org.quartz.impl.StdSchedulerFactory – Using default implementation for ThreadExecutor
      [Launcher:/hlsapp] INFO o.quartz.core.SchedulerSignalerImpl – Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
      [Launcher:/hlsapp] INFO org.quartz.core.QuartzScheduler – Quartz Scheduler v.2.1.6 created.
      [Launcher:/hlsapp] INFO org.quartz.simpl.RAMJobStore – RAMJobStore initialized.
      [Launcher:/hlsapp] INFO org.quartz.core.QuartzScheduler – Scheduler meta-data: Quartz Scheduler (v2.1.6) ‘null_Scheduler’ with instanceId ‘NON_CLUSTERED’
      Scheduler class: ‘org.quartz.core.QuartzScheduler’ – running locally.
      NOT STARTED.
      Currently in standby mode.
      Number of jobs executed: 0
      Using thread pool ‘org.quartz.simpl.SimpleThreadPool’ – with 2 threads.
      Using job-store ‘org.quartz.simpl.RAMJobStore’ – which does not support persistence. and is not clustered.

      [Launcher:/hlsapp] INFO org.quartz.impl.StdSchedulerFactory – Quartz scheduler ‘null_Scheduler’ initialized from an externally provided properties instance.
      [Launcher:/hlsapp] INFO org.quartz.impl.StdSchedulerFactory – Quartz scheduler version: 2.1.6
      [Launcher:/hlsapp] INFO org.quartz.core.QuartzScheduler – Scheduler null_Scheduler_$_NON_CLUSTERED started.

      I have change the xuggle version,but it doesn’t work,I also can’t open the links in the article,anyone can send me the hlsapp1-1.war and the hls-plugin-1.1.jar,many thanks!
      my email:nyac0001651@gmail.com

    • Hello dryize

      Red5 server is running fine before loading xuggle*.jars, hls-pligin.jar and hls*.war, after loading these files when I restart red5 server, its throwing an error.

      tryed: “ulimit -c unlimited” but facing different issue:

      Can you help me to point out my mistake?

      [INFO] [Launcher:/hlsapp] org.ffmpeg – [mpegts @ 0x7fa16c14dca0] pcr every 2 pkt s, sdt every 200, pat/pmt every 40 pkts
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # SIGSEGV (0xb) at pc=0x00007fa145733631, pid=5936, tid=140330668103424
      #
      # JRE version: Java(TM) SE Runtime Environment (7.0_67-b01) (build 1.7.0_67-b01)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (24.65-b04 mixed mode linux-amd64 c ompressed oops)
      # Problematic frame:
      # C [xuggle8808702896202813312.tmp+0x2f0631] avio_flush+0x1
      #
      # Failed to write core dump. Core dumps have been disabled. To enable core dumpi ng, try “ulimit -c unlimited” before starting Java again
      #
      # An error report file with more information is saved as:
      # /home/ubuntu/red5/hs_err_pid5936.log
      Compiled method (c1) 80335 1376 3 java.util.concurrent.CopyOnWrite ArrayList$COWIterator::hasNext (18 bytes)
      total in heap [0x00007fa18c46e210,0x00007fa18c46e5e8] = 984
      relocation [0x00007fa18c46e330,0x00007fa18c46e368] = 56
      main code [0x00007fa18c46e380,0x00007fa18c46e4e0] = 352
      stub code [0x00007fa18c46e4e0,0x00007fa18c46e570] = 144
      oops [0x00007fa18c46e570,0x00007fa18c46e578] = 8
      scopes data [0x00007fa18c46e578,0x00007fa18c46e590] = 24
      scopes pcs [0x00007fa18c46e590,0x00007fa18c46e5d0] = 64
      dependencies [0x00007fa18c46e5d0,0x00007fa18c46e5d8] = 8
      nul chk table [0x00007fa18c46e5d8,0x00007fa18c46e5e8] = 16
      #
      # If you would like to submit a bug report, please visit:
      # http://bugreport.sun.com/bugreport/crash.jsp
      # The crash happened outside the Java Virtual Machine in native code.
      # See problematic frame for where to report the bug.
      #
      Aborted (core dumped)

    • Getting this error:
      2014-10-18 22:17:59,663 [Launcher:/stream] ERROR org.red5.server.scope.Scope – Could not start scope [WebScope@acfe6b Depth = 1, Path = ‘/default’, Name = ‘stream’] java.lang.UnsatisfiedLinkError: com.xuggle.xuggler.XugglerJNI.ICodec_CODEC_ID_EXR_get()I

      cam someone help me ?

    • I am unable to start my server after I did what ever is there in your tutorial. Red5 version 1.0.2, Java 1.6 on Windows Server 8 64 bit. I am just unable to start the red5 services

        • I have used the I am prabath website on RED5 to install the server and configure for hls streaming. I am using windows 7 professional 64 bit version. I install xuggler and hls jar that i downloaded from the links provided in the site. I can’t seem to make it work. My interest is to be able to stream HLS VOD files only. When i try to connect with the encoder to the hlsapp i get an error. I am not sure why it is not working.

    • Thank you so much for writing this guide. I had given up on Red5 HLS a while ago after spending ages building all sorts of GCC++ stuff taking ages and getting nowhere.

      Reading your guide made it sound so easy! OK it didnt work for me so easy because I have CentOS, but I used your guide, and this guide https://github.com/Red5/red5-hls-plugin

      Also I had to build xuggler using this guide, http://www.xuggle.com/xuggler/build
      (the part “Building the 64-bit version of Xuggler” got me for a bit as it had example for MAC and example for Windows but none for Linux. lol…!!! Anyway I tried this:
      ant clobber run-tests
      and it worked!! Well, xuggler got built. Then had to find where it was and copy it to red5 plugin folder. it was in (current build folder)/xuggle-xuggler/dist/lib/

      After getting that xuggler build to work on 64bit cent os, for some reason my java symlink was wrong and red5 wouldnt even start, I managed to point it back to java 1.8 using this command

      ln -s /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.31-1.b13.el6_6.x86_64/bin/java /etc/alternatives/java

      I had to google lots of errors etc, but in the end I got it working.

      I hope this helps someone!

      Regards

      • I should add. At some point or other I had to run this command because a test of the build came up with some “Werror”. This stops it showing as an error…

        grep -rl “Werror” * | xargs sed -i ‘s/Werror/Wno-error/g’

      • get ffmpeg and push any flv file you have using below command,

        ffmpeg -re -i input.flv -acodec copy -vcodec copy -f flv rtmp://localhost/hlsapp/teststream

        If not you can use a tool like adobe media encoder / wirecast

    • Hi dryize,
      Thanks for you great article.
      I can able to generate .ts files in segments folder but while playing hls stream on iphone5/6 it’s displaying as just static image.
      It’s not playing as stream, if i reload the stream on device then getting new image.
      used stream : http://ipaddress:5080/hlsapp/testing.m3u8
      Can you please help on this.

      • just got to .m3u8 url in browser, you should get a text containing list of segments. If you are getting try locating segments and play them individually. Each segment should play few seconds when opened.

    • Hello,

      Thanks for sharing this post.

      I’m trying to creating live streams with an android app.

      I can able successfully sending live streams android to red5.(With RTMP also output is RTMP)
      But i need hls output for mobile devices..

      I saw your post and tried hls plugin(clean insall red5 1.0.2 and all other plugins as you said)

      It didn’t worked :/

      Note : I’m trying publish live rtmp with yasea : https://github.com/begeekmyfriend/yasea/

      When i publish a stream to red5/hlsapp from android app logs ,

      [INFO] [RTMPExecutor#AA4IALERWTW1Y-1] org.red5.server.stream.ClientBroadcastStream – Stream start: test
      [INFO] [RTMPExecutor#AA4IALERWTW1Y-1] com.red5.hlsapp.Application – W3C x-category:stream x-event:publish c-ip:——– x-sname:———— x-name:test
      [INFO] [Thread-11] org.ffmpeg – [libx264 @ 00000000012ed600] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX AVX2 FMA3 BMI1 BMI2
      [INFO] [Thread-11] org.ffmpeg – [libx264 @ 00000000012ed600] profile High, level 3.0
      [INFO] [Thread-11] org.ffmpeg – [mpegts @ 00000000012ec6d0] muxrate VBR,
      [INFO] [Thread-11] org.ffmpeg – [mpegts @ 00000000012ec6d0] pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts
      [INFO] [RTMPExecutor#JGBUJ869LA5MH-1] com.red5.hlsapp.Application – W3C x-category:session x-event:connect c-ip:127.0.0.1 c-client-id:1
      [INFO] [SegmentExecutor-1] org.ffmpeg – Metadata:
      [INFO] [SegmentExecutor-1] org.ffmpeg – duration 0.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – width 384.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – height 640.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – videodatarate 0.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – framerate 0.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – audiodatarate 0.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – audiosamplerate 44100.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – audiosamplesize 16.00
      [INFO] [SegmentExecutor-1] org.ffmpeg – stereo TRUE
      [INFO] [SegmentExecutor-1] org.ffmpeg – filesize 0.00
      [INFO] [null_Scheduler_Worker-2] com.red5.hlsapp.Application – W3C x-category:stream x-event:play c-ip:127.0.0.1 x-sname:aea7f89d-651d-434a-830e-99c99c7900bc
      [INFO] [SegmentExecutor-1] org.ffmpeg – 0 INVALID TYPE 0x05
      [INFO] [SegmentExecutor-1] org.ffmpeg – 1 INVALID TYPE 0x05
      [INFO] [SegmentExecutor-1] org.ffmpeg – 2 INVALID TYPE 0x05
      [INFO] [SegmentExecutor-1] org.ffmpeg – 3 INVALID TYPE 0x05
      [INFO] [SegmentExecutor-1] org.ffmpeg – 4 INVALID TYPE 0x05
      [INFO] [SegmentExecutor-1] org.ffmpeg – 5 INVALID TYPE 0x05
      [INFO] [SegmentExecutor-1] org.ffmpeg – 6 INVALID TYPE 0x05
      [INFO] [SegmentExecutor-1] org.ffmpeg – 7 INVALID TYPE 0x05
      [INFO] [SegmentExecutor-1] org.ffmpeg – 8 INVALID TYPE 0x05
      [INFO] [null_Scheduler_Worker-1] com.red5.hlsapp.Application – W3C x-category:stream x-event:play c-ip:127.0.0.1 x-sname:aea7f89d-651d-434a-830e-99c99c7900bc x-name:test
      [INFO] [SegmentExecutor-1] org.ffmpeg – 9 INVALID TYPE 0x05
      [INFO] [SegmentExecutor-1] org.ffmpeg – length 10.00
      [WARN] [SegmentExecutor-1] org.ffmpeg – [flv @ 0000000012cf1910] max_analyze_duration 0 reached at 0
      [INFO] [SegmentExecutor-1] org.ffmpeg – [flv @ 0000000012cf1910] decoding for stream 0 failed
      [WARN] [SegmentExecutor-3] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete
      [WARN] [SegmentExecutor-2] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete
      [WARN] [SegmentExecutor-2] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete
      [WARN] [SegmentExecutor-2] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete
      [WARN] [SegmentExecutor-4] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete
      [WARN] [SegmentExecutor-4] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete
      [WARN] [SegmentExecutor-4] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete
      [WARN] [SegmentExecutor-4] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete
      [WARN] [SegmentExecutor-4] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete
      [WARN] [SegmentExecutor-4] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete
      [WARN] [SegmentExecutor-4] org.red5.xuggler.writer.HLSStreamWriter – Video packet was not complete

      Also , when i stop publishing from android ,

      [WARN] [NioProcessor-2] org.red5.server.net.rtmp.RTMPMinaIoHandler – Exception caught on session: 1 id: AA4IALERWTW1Y
      java.io.IOException: An existing connection was forcibly closed by the remote host ( sorry for that , i translate it to english )
      at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[na:1.8.0_91]
      at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) ~[na:1.8.0_91]
      at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[na:1.8.0_91]
      at sun.nio.ch.IOUtil.read(IOUtil.java:197) ~[na:1.8.0_91]
      at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380) ~[na:1.8.0_91]
      at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:271) ~[mina-core-2.0.8-SNAPSHOT.jar:na]
      at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44) ~[mina-core-2.0.8-SNAPSHOT.jar:na]
      at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:690) [mina-core-2.0.8-SNAPSHOT.jar:na]
      at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664) [mina-core-2.0.8-SNAPSHOT.jar:na]
      at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653) [mina-core-2.0.8-SNAPSHOT.jar:na]
      at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67) [mina-core-2.0.8-SNAPSHOT.jar:na]
      at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1113) [mina-core-2.0.8-SNAPSHOT.jar:na]
      at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) [mina-core-2.0.8-SNAPSHOT.jar:na]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_91]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_91]
      at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]
      [INFO] [NioProcessor-2] com.red5.hlsapp.Application – W3C x-category:stream x-event:unpublish c-ip:127.0.0.1 cs-bytes:3518 sc-bytes:556541 x-sname:1c0888fa-12a3-41f1-8b9f-c89ae6bab210 x-file-length:28 x-name:test
      [WARN] [RTMPExecutor#JGBUJ869LA5MH-1] org.red5.server.net.rtmp.RTMPHandler – Not connected, closing connection
      [INFO] [NioProcessor-3] com.red5.hlsapp.Application – W3C x-category:session x-event:disconnect c-ip:127.0.0.1 c-client-id:1
      [INFO] [NioProcessor-2] com.red5.hlsapp.Application – W3C x-category:session x-event:disconnect c-ip:192.168.0.13 c-client-id:0
      [WARN] [SegmentExecutor-1] org.red5.xuggler.reader.RTMPReader – Unknown error
      [INFO] [null_Scheduler_Worker-1] com.red5.hlsapp.Application – W3C x-category:stream x-event:stop c-ip:127.0.0.1 cs-bytes:3560 sc-bytes:556541 x-sname:aea7f89d-651d-434a-830e-99c99c7900bc
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] frame I:15 Avg QP:10.84 size: 14602
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] frame P:47 Avg QP:11.78 size: 7021
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] frame B:84 Avg QP:12.87 size: 2786
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] consecutive B-frames: 19.5% 6.7% 4.0% 69.8%
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] mb I I16..4: 11.8% 27.6% 60.6%
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] mb P I16..4: 4.6% 10.4% 11.2% P16..4: 27.6% 25.6% 12.6% 0.0% 0.0% skip: 8.0%
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] mb B I16..4: 0.8% 1.7% 1.5% B16..8: 28.7% 22.9% 4.5% direct:17.5% skip:22.5% L0:44.3% L1:41.0% BI:14.7%
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] final ratefactor: 12.72
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] 8×8 transform intra:34.1% inter:13.1%
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] coded y,uvDC,uvAC intra: 94.2% 74.5% 60.5% inter: 37.7% 19.1% 1.6%
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] i16 v,h,dc,p: 4% 36% 4% 56%
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 3% 70% 6% 2% 2% 1% 8% 1% 6%
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 9% 44% 9% 4% 6% 3% 12% 4% 8%
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] i8c dc,h,v,p: 48% 40% 6% 6%
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] Weighted P-Frames: Y:8.5% UV:4.3%
      [INFO] [SegmentExecutor-3] org.ffmpeg – [libx264 @ 00000000012ed600] kb/s:430.55

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out /  Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out /  Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out /  Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out /  Change )

    w

    Connecting to %s