Purpose:
To support the Accessibility Act.
A local city theatre is wanting to be able to have hearing impaired people bring their own mobile devices (iOS/Android) and watch a live stream of sub-text+sign language that matches the live theatre event on-stage at the same time.
Challenge:
I need to attain the lowest possible latency for live streaming. Near real-time.
Platform: OS X / mobile
I’ve tried Wirecast and am now on to Flash Media Live Encoder (FMLE) + Wowza (v3.6.2).
Currently my setup consists entirely on my MacBook Pro (Localhost). For some quick testing I managed to get a 240p video stream (using onboard camera) to encode+broadcast viewable through the FlashRTMPPlayer example using Firefox/Chrome.
Although it works, the latency is ~4-5 seconds. Which is strange given that it all exists on the localhost machine and has more than enough CPU/RAM resources to push it faster.
So after much more reading of Wowza articles and other bits and pieces, I still cannot get this latency down. Everything I do seems to have no effect.
If my localhost browser can’t view it with <1 second latency, mobile devices have no chance at all to do any better.
Yet this must be possible given that internet chatting (skype, webex, facetime) manage to get better latency.
So I must be doing something incorrectly because I’m certain this type of situation must have already been solved in some fashion. Do I need to code my own custom iOS app to accomplish this somehow?
Below is my own Application.xml
[HTML]
<!-- Uncomment to set application level timeout values
60000
12000
8000
0
60000
25
–>
true
<!–
StorageDir path variables
${com.wowza.wms.AppHome} - Application home directory
${com.wowza.wms.ConfigHome} - Configuration home directory
${com.wowza.wms.context.VHost} - Virtual host name
${com.wowza.wms.context.VHostConfigHome} - Virtual host config directory
${com.wowza.wms.context.Application} - Application name
${com.wowza.wms.context.ApplicationInstance} - Application instance name
–>
live-lowlatency
${com.wowza.wms.context.VHostConfigHome}/content
${com.wowza.wms.context.VHostConfigHome}/keys
cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer
sanjoseChunkDurationTarget
1000
Integer
sanjoseMaxChunkCount
10
Integer
sanjosePlaylistChunkCount
3
Integer
sanjoseRepeaterChunkCount
3
Integer
flushInterval
2
Integer
onFlushNotifyClients
true
Boolean
behindDropDFrames
1000
Integer
behindDropPFrames
2000
Integer
behindDropKFrames
3000
Integer
behindDropAudio
3000
Integer
${SourceStreamName}.xml,transrate.xml
${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles
${com.wowza.wms.context.VHostConfigHome}/transcoder/templates
0
${com.wowza.wms.context.VHostConfigHome}/dvr
append
vodcaptionprovidermp4_3gpp
cupertinostreaming,smoothstreaming,sanjosestreaming
-1
*
*
*
*
digest
none
senderreport
12000
75
90000
0
0.0.0.0
127.0.0.1
*
interleave
base
Base
com.wowza.wms.module.ModuleCore
logging
Client Logging
com.wowza.wms.module.ModuleClientLogging
flvplayback
FLVPlayback
com.wowza.wms.module.ModuleFLVPlayback
[/HTML]