Red5 1.0 RC2 backward compatibility

Latest red5 versions ( Red5 revision > 4326 like 1.0 RC2+) bring changes that make red5 incompatible with older applications.
Changes are required for these applications to work.

Updated VideoWhisper rtmp applications can be downloaded for use or as sample to update other applications.

 

This is covered in Red5 google group:

With revision 4326 you will see problems when building or running your applications with Red5. Most of the problems you’ll run into

are with missing classes; in most cases you can just add the “scope” package to your imports or run “Optimize imports” in Eclipse. Below I have addressed a few items that you may run into.

 

 
1. IScope cannot be resolved to a type

– Update red5 jar or source with latest

– Correct location of IScope is org.red5.server.api.scope.IScope, previously it was org.red5.server.api.IScope

 
2. The import org.red5.server.api.IScope cannot be resolved

– Update red5 jar or source with latest

– Correct location of IScope is org.red5.server.api.scope.IScope, previously it was org.red5.server.api.IScope

 

 
3. WebScope cannot be found

– Open your applications red5-web.xml and change the “web.scope” bean class to

<bean id=”web.scope” class=”org.red5.server.scope.WebScope” init-method=”register”>

instead of this

<bean id=”web.scope” class=”org.red5.server.WebScope” init-method=”register”>

 

 
4. Method signature does not match xxxx.

– For this one the fix is to change your expectation to receive an Iterator and instead make use of a Collection. The scope method

for retrieving scope names now returns a Set as shown here:

 

public Set<String> getScopeNames()

 

 
5. Parameter “type” does not match String.

– For scopes, their type is no longer identified by a string but instead uses an enum of ScopeType. The old method for getting basic

scope names was like so:

 

public Iterator<String> getBasicScopeNames(String type)

 

this is the new version:

 

public Set<String> getBasicScopeNames(ScopeType type)

 

Broadcasting for Mobiles from VideoWhisper Wowza Hosting

 

Different devices require different codecs and settings for the streaming.
Most VideoWhisper Wowza plans come already setup to support various formats but you need to publish in supported formats and playback from supported urls.

Flash applications currently encode in a standard format that is not accessible on most mobiles without flash support. External encoders and publishing multiple streams may be required to support multiple devices. For streaming existing video, these would need to be compressed at different bitrates to support different devices.

 

VideoWhisper Wowza plans come with predefined rtmp addresses for:

  • publishing: rtmp://YourIP/YourAccount
  • low latency chat:  rtmp://YourIP/YourAccount-chat
  • publishing + archiving: rtmp://YourIP/YourAccount-archive
  • recording: rtmp://YourIP/YourAccount-record
  • exporting: rtmp://YourIP/YourAccount-x

Also a web account is provided to access streams by ftp/http as needed and to host website and/or video processing scripts.

Streams are recorded, archived, played back from /home/YourAccount/public_html/streams

 

Read these guides:

 

How to use:

– If you publish a stream StreamName in Apple iOS supported format (with external encoder) use rtmp://YourIP/YourAccount-x and stream should be available with http://YourIP:1935/YourAccount-x/StreamName/playlist.m3u8 .

– To stream a sample.mp4 file to Apple iOS, upload it to /home/YourAccount/public_html/streams , open http://YourIP:1935/YourAccount/mp4:sample.mp4/playlist.m3u8 on iOS.

– For RTSP/RTP encoder only, username and password are provided.

 

Contact VideoWhisper if you need additional assistance.