Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Video issues on iOS (missing audio) #43

Closed
urthling opened this issue Jun 7, 2018 · 4 comments
Closed

Video issues on iOS (missing audio) #43

urthling opened this issue Jun 7, 2018 · 4 comments

Comments

@urthling
Copy link

urthling commented Jun 7, 2018

The following plays properly on iPhone X and Android

Video is OK but the audio is missing on: iPhone 5S, iPhone 7+, iPhone 8+ (no other iPhone tested)

Tested using AIr 27 through 30

Testing using ffmpeg encode settings:

mp4 libfdk_aac 128000 44100 libx264 1200000 1024x768

I also found a test stream that you can use to reproduce the issue described above: https://content.jwplatform.com/manifests/yp34SRmf.m3u8

Taken from here: https://developer.jwplayer.com/tools/stream-tester/?playerversion=7

There's also this taken from another bug related to video on this forum: https://s3.amazonaws.com/flaxbinpic/bunny.mp4

protected function test_triggeredHandler(event:Event):void
{
  vidClient = new Object();
  vidClient.onMetaData = onMetaData;
  nc = new NetConnection();
  nc.connect(null);
  ns = new NetStream(nc);
  ns.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
  ns.client = vidClient;
  videoTexture=Texture.fromNetStream(ns , Starling.current.contentScaleFactor , onTextureComplete)
  ns.play("https://somevideo.mp4");
}
  private function onTextureComplete():void
  {
       videoImage = new Image(videoTexture)
       this.addChild(videoImage)
  }
  private function onMetaData():void
  {
       trace('on net onMetaData');
  }
  private function onNetStatus(event:NetStatusEvent):void
  {
       trace('on net status');
  }

https://tracker.adobe.com/#/view/AIR-4198668

@urthling
Copy link
Author

urthling commented Jun 8, 2018

I can't be the only one seeing this.. Can someone else please confirm you're seeing the same issue?

@tuarua
Copy link

tuarua commented Jun 8, 2018

Do you get audio if you open the video in the native video player on those phones?
Video and audio encoding is not as simple as just running through FFmpeg with any old settings.

You are using libfdk_aac for example which is a proprietary version of AAC.
I suggest you use Handbrake which has presets for targeting certain devices, or do an internet search for encoding settings for iOS

@urthling
Copy link
Author

urthling commented Jun 8, 2018

The setting was a preset called "ipad-high" (transloadit) - so i assumed this was an optimal setting for iOS. That and the fact that every other .mp4 I can find, fails to play - figured this had to be a bug.

So, in answer to your question, actually no, using a native player (distriq MediaPlayer) - the streams do not play. Ok, this is fantastic - so, just a codec change should fix this..

Ty for taking the time to respond, much appreciated. Perhaps we need to change solutions. Do you know of any transcoding solutions that work?

We're using these guys:
https://transloadit.com/docs/transcoding/#video-presets

Do you know what audio codec we should be using with FFMPEG?
https://transloadit.com/docs/transcoding/#audio-presets

It seems there are two AAC codecs available to ffmpeg - I've sent a request to see if I can use the other aac codec.

@urthling
Copy link
Author

Ok, using libmp3lame worked for us. Not iPhone 5 - but I can live with that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants