playback on IOS 11

Gabriel T

Member
hello, i'm making tries on safari with IOS 11 beta. publishing from ios is working correctly, but playback on my ipad is not working. changed the codec priority to vp8, h264, still same result. any idea ? have you been able to playback live streams on ios devices with ios 11 ?

thank you
 

Max

Administrator
Staff member
Hello
We did not test playback with iOS 11 beta, Safari.
Once we have any results, I will update this thread.
 

Gabriel T

Member
no prob i will keep u updated...so far,publishing is very good....guess playback is related to ios and not to wcs but its interesting process
 

Gabriel T

Member
here is the error message in server folder when stream should be played on ios (publishing from chrome/windows):
06:00:47,361 INFO MediaHandler - WSS-pool-9-thread-1 playStream - Stream{mediaSessionId='81d61040-6aa4-11e7-98e6-4ff5c1de03f3'name='2-Gab2^596c358e1f250^ok^fr-74f3', status='PENDING', sdp='v=0
o=- 7992786800357927554 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS
', remoteMediaElementId='null', hasVideo='true', hasAudio='true'}Context{custom={custom={name=2}}, nodeId='null', appKey='roomApp', sessionId='/IP:49301/IP:8443'}
06:00:47,361 INFO Codecs - WSS-pool-9-thread-1 codecs: opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,vp8,h264,mpv
06:00:47,361 INFO Codecs - WSS-pool-9-thread-1 load codec: opus priority: 9900
06:00:47,361 INFO Codecs - WSS-pool-9-thread-1 load codec: alaw priority: 9800
06:00:47,362 INFO Codecs - WSS-pool-9-thread-1 load codec: ulaw priority: 9700
06:00:47,362 INFO Codecs - WSS-pool-9-thread-1 load codec: g729 priority: 9600
06:00:47,367 INFO Codecs - WSS-pool-9-thread-1 load codec: speex16 priority: 9500
06:00:47,367 INFO Codecs - WSS-pool-9-thread-1 load codec: g722 priority: 9400
06:00:47,367 INFO Codecs - WSS-pool-9-thread-1 AAC codec loaded, pt 102 sr 48000
06:00:47,368 INFO Codecs - WSS-pool-9-thread-1 AAC codec loaded, pt 103 sr 44100
06:00:47,368 INFO Codecs - WSS-pool-9-thread-1 AAC codec loaded, pt 104 sr 32000
06:00:47,368 INFO Codecs - WSS-pool-9-thread-1 AAC codec loaded, pt 105 sr 24000
06:00:47,368 INFO Codecs - WSS-pool-9-thread-1 AAC codec loaded, pt 106 sr 22050
06:00:47,368 INFO Codecs - WSS-pool-9-thread-1 AAC codec loaded, pt 107 sr 16000
06:00:47,368 INFO Codecs - WSS-pool-9-thread-1 AAC codec loaded, pt 108 sr 12000
06:00:47,368 INFO Codecs - WSS-pool-9-thread-1 AAC codec loaded, pt 109 sr 11025
06:00:47,368 INFO Codecs - WSS-pool-9-thread-1 AAC codec loaded, pt 110 sr 8000
06:00:47,368 INFO Codecs - WSS-pool-9-thread-1 load codec: vp8 priority: 9200
06:00:47,368 INFO Codecs - WSS-pool-9-thread-1 load codec: mpv priority: 9000
06:00:47,368 INFO Codecs - WSS-pool-9-thread-1 codecs: [opus [], PCMA [], PCMU [], G729 [A annexb:no], speex [], G722 [], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], VP8 [], H264 [A packetization-mode:1, A profile-level-id:42e01f], H264 [A packetization-mode:0, A profile-level-id:42e01f], MPV []]
06:00:47,369 ERROR MediaHandler - WSS-pool-9-thread-1 playStream exception
java.lang.NullPointerException
at gov.nist.javax.sdp.SessionDescriptionImpl.getConnection(SessionDescriptionImpl.java:652)
at com.flashphoner.media.D.A(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.MediaHandler.setRemoteSDP(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.MediaHandler.createMediaSession(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.MediaHandler.playStream(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.MediaHandler.playStream(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.WCS4Handler.playStream(Unknown Source)
at sun.reflect.GeneratedMethodAccessor84.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.flashphoner.server.ws.B.A(Unknown Source)
at com.flashphoner.server.ws.B.messageReceived(Unknown Source)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(Unknown Source)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(Unknown Source)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(Unknown Source)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(Unknown Source)
at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(Unknown Source)
at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(Unknown Source)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.read(Unknown Source)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(Unknown Source)
at org.jboss.netty.channel.socket.nio.DeadlockAwareNioWorker.run(Unknown Source)
at org.jboss.netty.util.ThreadRenamingRunnable.run(Unknown Source)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
 

Gabriel T

Member
just tested, same error:

12:43:49,563 INFO Codecs - WSS-pool-9-thread-6 codecs: [opus [], PCMA [], PCMU [], G729 [A annexb:no], speex [], G722 [], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], mpeg4-generic [A profile-level-id:1, A mode:HBR], VP8 [], H264 [A packetization-mode:1, A profile-level-id:42e01f], H264 [A packetization-mode:0, A profile-level-id:42e01f], MPV []]
12:43:49,565 ERROR MediaHandler - WSS-pool-9-thread-6 playStream exception
java.lang.NullPointerException
at gov.nist.javax.sdp.SessionDescriptionImpl.getConnection(SessionDescriptionImpl.java:652)
at com.flashphoner.media.D.A(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.MediaHandler.setRemoteSDP(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.MediaHandler.createMediaSession(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.MediaHandler.playStream(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.MediaHandler.playStream(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.WCS4Handler.playStream(Unknown Source)
at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.flashphoner.server.ws.B.A(Unknown Source)
at com.flashphoner.server.ws.B.messageReceived(Unknown Source)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(Unknown Source)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(Unknown Source)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(Unknown Source)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(Unknown Source)
at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(Unknown Source)
at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(Unknown Source)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.read(Unknown Source)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(Unknown Source)
at org.jboss.netty.channel.socket.nio.DeadlockAwareNioWorker.run(Unknown Source)
at org.jboss.netty.util.ThreadRenamingRunnable.run(Unknown Source)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
 

Gabriel T

Member
hello, anything new about IOS playback ? as of ios 11 beta 4, still not working apparently and same error message

also, i updated wcs this morning and it looks like audio and video are now out of sync on desktop browser (about 2 seconds difference between audio and video)
it also appear that while video broadcast from ios 11 safari is ok, there is no audio anymore
 

Gabriel T

Member
i've changed the codec priority from vp8 to h264, so now when publishing from chrome h264 is used. still no success on ios playback
 

Max

Administrator
Staff member
Hello
It works for us with some changes.
Currently we are able to play streams. And we have some issues with publishing (out of sync, bitrate).
We plan to release iOS 11 Safari support next week.
 

Max

Administrator
Staff member
If we have a simple tweak/fix for playback, I will share it with you.
 

Gabriel T

Member
hi there

its improving. since latest update (both ios beta and wcs) playback on ios safari is working in the demo. i replace in my apps with new files (flashphoner no flash min and utils), and its...almost working, as it simply crash the ipad and make it totally unresponsive...but its getting better...publishing is not working any more also on my app (but ok in the demo) beside utils and flashphoner.js, any other files to change ? (i didnt change conference.js as it seems there are no specific updates in this file
 

Gabriel T

Member
edit: ok the crash happened only one time, now its ok and publishing as well...but i cant get no sound (when publishing from ipad)...any idea ? (sound is ok in the demos)
 

Max

Administrator
Staff member
Hello,

Thank you for information. Support for iOS Safari 11 beta remains under development. Will let know when there's an update.
 

SLM

Member
I just tested playback in Safari on iOS 11.0 (not the beta, but the production release) and it doesn't work 'out of the box'. Neither does the demo player or the demo embed player. I don't know if it has something to do with changing this keepalive setting (https://forum.flashphoner.com/threads/wsplayer-stops-stream-after-60-seconds.11110/) since I only tested it after changing that setting.

Safari on iOS 10 plays back normally.

A workaround for iOS11 seems to be to force mediaProvider = "WSPlayer". The demo player also works when you disable the other mediaproviders (which has the same effect of course)
 

Max

Administrator
Staff member
Hello
We are working on iOS 11 WebRTC playback. I will inform through this thread once it is done.
 

SLM

Member
Thanks, I will test it soon. By the way, where can I find a version log for the server application and web-sdk ?
 

Max

Administrator
Staff member
We publish server release notes periodically.
Next publish coming soon.
You can subscribe on our blog using any RSS feed reader like feedly.com. Once it is released you will see it.
https://flashphoner.com/blog/
As you can see, latest report from July 2017
https://flashphoner.com/wcs-key-releases-2017-april-july/

Web SDK commits available from here:
https://github.com/flashphoner/flashphoner_client/commits/wcs_api-2.0

Web SDK builds here:
https://flashphoner.com/downloads/builds/flashphoner_client/wcs_api-2.0

You can match commits and builds by hash. Example: fb4a0ed220c495e0c604cdcd342da957c522a9a3
https://flashphoner.com/downloads/b...4a0ed220c495e0c604cdcd342da957c522a9a3.tar.gz
 
Top