FAQ  •  Register  •  Login

Native Playback on iOS

<<

Xmantium

User avatar

DLNA master

Posts: 1396

Joined: Sat Jul 23, 2011 2:12 pm

Location: Manchester, UK

Post Sun Jan 05, 2014 10:38 pm

Native Playback on iOS

zip wrote:
Xmantium wrote:What type of videos can play natively (or remuxed) on iPad Safari/Chrome MediaBrowser?

Check the iOS profile, mostly mp4/h264/aac with level 1.3, 1 ref frame

@zip, On this link it suggests:
Encode video using H.264 compression
H.264 Baseline 3.0: All devices
H.264 Baseline 3.1: iPhone 3G and later, and iPod touch 2nd generation and later.
H.264 Main profile 3.1: iPad (all versions), Apple TV 2 and later, and iPhone 4 and later.
H.264 Main Profile 4.0: Apple TV 3 and later, iPad 2 and later, and iPhone 4S and later
H.264 High Profile 4.0: Apple TV 3 and later, iPad 2 and later, and iPhone 4S and later.
H.264 High Profile 4.1: iPad 2 and later and iPhone 4S and later.

Does this mean on my latest iPad i can edit the application-profiles.xml to
  Code:
<!-- only play mp4/h264(main3 and less)/aac natively -->
         <Video targetContainer="applehttp" targetVCodec="h264" targetACodec="aac" forceStereo="true" forceVTranscoding="true">
            <Matches container="*" vCodec="h264" profile="high" />
            <Matches container="*" vCodec="h264" profile="high" levelGreaterThan="4.1"/>
         </Video>
Sony Bravia 2010 52NX803 - Sony PS3 - Xbox 360
Serviio running on QNAP NAS 639 Pro - 1.6 Intel Dual Core - 2GB RAM and QNAP NAS 121 - 2Ghz ARM Marvell - 1GB RAM
Console using ServiiDroid for Android, ServiiMetro and ServiiWP for Windows Phone and WebUI for iOS
<<

zip

User avatar

Serviio developer / Site Admin

Posts: 17212

Joined: Sat Oct 24, 2009 12:24 pm

Location: London, UK

Post Mon Jan 06, 2014 8:04 am

Re: Native Playback on iOS

Only the second matched should be needed. Might also add some matching for other audio codec, like ac3, if it's not in the profile further down yet.
<<

Xmantium

User avatar

DLNA master

Posts: 1396

Joined: Sat Jul 23, 2011 2:12 pm

Location: Manchester, UK

Post Mon Jan 13, 2014 12:25 am

Re: Native Playback on iOS

Thanks, the following profile works great on my iPad mini:
  Code:
<Video targetContainer="applehttp" targetVCodec="h264" targetACodec="aac" forceStereo="true" forceVTranscoding="true">
            <Matches container="*" vCodec="h264" profile="high" levelGreaterThan="4.1"/>
         </Video>


There should be an option for users to choose their Apple device that they will use for MediaBrowser in the remote tab.
- All Devices
- iPhone 3G and later, and iPod touch 2nd generation and later.
- iPad (all versions), Apple TV 2 and later, and iPhone 4 and later.
- Apple TV 3 and later, iPad 2 and later, and iPhone 4S and later.
- iPad Mini, iPad 2 and later and iPhone 4S and later.
Sony Bravia 2010 52NX803 - Sony PS3 - Xbox 360
Serviio running on QNAP NAS 639 Pro - 1.6 Intel Dual Core - 2GB RAM and QNAP NAS 121 - 2Ghz ARM Marvell - 1GB RAM
Console using ServiiDroid for Android, ServiiMetro and ServiiWP for Windows Phone and WebUI for iOS
<<

DenyAll

DLNA master

Posts: 2257

Joined: Fri Mar 08, 2013 11:16 pm

Location: Adelaide, Australia

Post Tue Jan 14, 2014 1:54 am

Re: Native Playback on iOS

Xmantium - my kids and I thank you, it allows so many more video's to be played natively on our iPad 2 and iPad Mini's, which provides a better experience (scrubbing, pausing etc all work seamlessly) and less overhead on the server.

There should be an option for users to choose their Apple device
@zip: Not sure how profiles are selected for applications (suspect its hard coded), but one approach if possible would be to do it automatically based on the http user agent of the device. See http://www.enterpriseios.com/wiki/Compl ... nt_Strings which provides a list of user agents for iDevices - although a lot of them a regex could be used to match up easily enough.
DenyAll
Panasonic Viera FX800A | Panasonic Viera CS610A | Sony PS4 | Sony PS3 | Panasonic DMP-BD79 | Yamaha RX-V500D | iPad | Windows 10 | Serviio 1.10.1 Pro
WinHelper | MediaInfo

Beta Tester, Moderator
Please do not PM me for support as any solution cannot be shared with others.
<<

Xmantium

User avatar

DLNA master

Posts: 1396

Joined: Sat Jul 23, 2011 2:12 pm

Location: Manchester, UK

Post Wed Jan 15, 2014 9:15 pm

Re: Native Playback on iOS

DenyAll wrote:Xmantium - my kids and I thank you, it allows so many more video's to be played natively on our iPad 2 and iPad Mini's, which provides a better experience (scrubbing, pausing etc all work seamlessly) and less overhead on the server.
Least you got more than one iPad. My kids are sharing one but i do have ServiiGo on my phone!

one approach if possible would be to do it automatically based on the http user agent of the device. See http://www.enterpriseios.com/wiki/Compl ... nt_Strings which provides a list of user agents for iDevices - although a lot of them a regex could be used to match up easily enough.
This will be so much better.

I think the default should be High 4.1 as 95%+ iPad users would have iPad 2 or newer (my "Day One" iPad 1 just stopped working after 2 years!)
Edit: http://www.dazeinfo.com/2013/12/09/appl ... hare-study - Suggests 99%+ have iPad 2 or newer
Sony Bravia 2010 52NX803 - Sony PS3 - Xbox 360
Serviio running on QNAP NAS 639 Pro - 1.6 Intel Dual Core - 2GB RAM and QNAP NAS 121 - 2Ghz ARM Marvell - 1GB RAM
Console using ServiiDroid for Android, ServiiMetro and ServiiWP for Windows Phone and WebUI for iOS
<<

camstar

Serviio newbie

Posts: 3

Joined: Tue Jul 26, 2016 7:51 pm

Post Tue Jul 26, 2016 8:07 pm

Re: Native Playback on iOS

Hi guys, please excuse me for arousing an old thread, but this was the most suitable one and I was really curious about my issue. Here is my story:
I built a Debian based Linux server with Serviio on it. The server has the fancy (!) specs of 1GHz CPU, 512 MB RAM and 40GB HDD. The beautiful thing is that I could run Serviio successfuly on it!
I can watch all my movies without any lags on my Panasonic smart TV (2013 gen.). HOWEVER; I can't do the same on my iOS VLC Player. With the same server settings, and the same video file, video plays with great lags and delays.
So, why does this happen? Is it simply therefore, that the transcoding for ios takes more horse power than the transcoding for the Panasonic? So, would I get a perfect experience if I just upgrade the server? (which I don't want of course ;) )
<<

DenyAll

DLNA master

Posts: 2257

Joined: Fri Mar 08, 2013 11:16 pm

Location: Adelaide, Australia

Post Wed Jul 27, 2016 8:19 am

Re: Native Playback on iOS

This thread was more to do with iOS and Mediabrowser and getting more files playing natively (rather than transcoding) but none the less:

I presume you are connecting via the DLNA/Media Server capabilities of VLC on your iOS device. If that is the case, then it is likely that Serviio is not doing any transcoding (have you assigned a profile for the IP Address associated with your iOS device in Serviio Console, Status tab). Serviio will by default assign the Generic DLNA Profile which doesn't do any transcoding. If this is the case then the problem lies within your iOS device - it may not have the grunt to play the file natively. What device/generation is it? What type of file are you trying to play.

Some things to try:
  • Have you tried using MediaBrowser from your iOS device (http://<serviio IP address>:23424/mediabrowser)? Will probably be laggy but try it if you can (must be a Pro or Evaluation user).
  • You could create a profile that transcodes the video and limits the video frame height and/or bitrate (I'd be concerned that your server may not have the grunt for this);
  • You could try other apps on your iOS device (I prefer 8Player or Infuse. Both have free versions). These players have their own decoders which may be more efficient than the VLC one (?). Probably try this first as it is the easiest.
DenyAll
Panasonic Viera FX800A | Panasonic Viera CS610A | Sony PS4 | Sony PS3 | Panasonic DMP-BD79 | Yamaha RX-V500D | iPad | Windows 10 | Serviio 1.10.1 Pro
WinHelper | MediaInfo

Beta Tester, Moderator
Please do not PM me for support as any solution cannot be shared with others.
<<

camstar

Serviio newbie

Posts: 3

Joined: Tue Jul 26, 2016 7:51 pm

Post Thu Jul 28, 2016 4:27 pm

Re: Native Playback on iOS

Dear DenyAll,

Sorry for the wrong thread. I thought 'native' means native app and not HTML5 :geek:

Here are the details of my setup:
1) Your guess is correct . I use the DLNA capability of VLC iOS version. However, my ultimate goal is to watch the movies on the app 'Mobile VR Station'. This app has also DLNA capability but not a great codec support like VLC. It can only run the videos what iOS supports (eg standard mp4). Therefore I needed Serviio to transcode all my files (in different codecs like divx, xvid, mpeg2 etc) to this standard format.
2) Sure, I have activated the iOS profile and assigned it to the IP of my device. The first trials did not work at all. But after changing the target codec from applehttp to mpegts I could get picture on my IOS device.
3) My iOS device is an iPhone 6 Plus. So it has even more CPU power than my server :) I don't think that it should have a problem to play the videos. At least, by using SMB share instead of DLNA I don't have any problems.
4) Using the media browser does not help me much, since I am not a pro user yet and I aim to user Serviio in connection with the Mobile VR Station app.
5) I tried the 8Player. But it did not play the file at all. VLC was better, since it can at least play with lags. :)

Well, my last rescue seems to be bitrate and height change. Any suggestions for that? Or any other point to check like the FFmpeg version? It is currently 3.1.

Regards,
camstar

DenyAll wrote:This thread was more to do with iOS and Mediabrowser and getting more files playing natively (rather than transcoding) but none the less:

I presume you are connecting via the DLNA/Media Server capabilities of VLC on your iOS device. If that is the case, then it is likely that Serviio is not doing any transcoding (have you assigned a profile for the IP Address associated with your iOS device in Serviio Console, Status tab). Serviio will by default assign the Generic DLNA Profile which doesn't do any transcoding. If this is the case then the problem lies within your iOS device - it may not have the grunt to play the file natively. What device/generation is it? What type of file are you trying to play.

Some things to try:
  • Have you tried using MediaBrowser from your iOS device (http://<serviio IP address>:23424/mediabrowser)? Will probably be laggy but try it if you can (must be a Pro or Evaluation user).
  • You could create a profile that transcodes the video and limits the video frame height and/or bitrate (I'd be concerned that your server may not have the grunt for this);
  • You could try other apps on your iOS device (I prefer 8Player or Infuse. Both have free versions). These players have their own decoders which may be more efficient than the VLC one (?). Probably try this first as it is the easiest.
<<

DenyAll

DLNA master

Posts: 2257

Joined: Fri Mar 08, 2013 11:16 pm

Location: Adelaide, Australia

Post Fri Jul 29, 2016 2:55 am

Re: Native Playback on iOS

Sure, I have activated the iOS profile and assigned it to the IP of my device
I presume you activated the IOS profile in applications-profile.xml by making the profile selectable. I've seen other posts suggesting this and I'm not a fan - while it works, that profile is specific to MediaBrowser. I think its better to create your own... but anyway:
Even after changing this profile to use the mpeg-ts container it is still transcoding video to h264. This may be your issue - transcoding to h264 is processor intensive and your server may be having a heart attack. Try changing it to targetVCodec="mpeg2video" which is far less processor intensive. Relies on VLC accepting mpeg2 video (likely it should).
Well, my last rescue seems to be bitrate and height change.
You can see examples of this in the IoS profile - under the <AlternativeQualities> section you can see what needs to be added to the transcoding target (eg. add "maxVBitrate="1000" maxHeight="480" to your transcoding statement).
I tried the 8Player. But it did not play the file at all.
Surprising - what file type are you playing. Must admit I'm not a fan of VLC on IOS - last time I looked at it it was klunky. I use 8Player extensively, it supports most codecs natively (without transcoding). If you want to keep trying, this is my current 8Player profile (which you add to the profiles.xml file - theres an example of the maxheight statement there too):

  Code:
   <Profile id="iPad8" name="iPad 8Player" extendsProfileId="1">
      <!-- DenyAll -->
      <Detection>
         <HttpHeaders>
            <User-Agent>.*8player.*</User-Agent>
         </HttpHeaders>   
      </Detection>
      <Transcoding>
         <Video targetContainer="mpegts" targetVCodec="mpeg2video" maxHeight="1080" targetACodec="ac3" aBitrate="384">
            <Matches container="*" vCodec="h265" />            
         </Video>
         <Video targetContainer="mpegts" targetACodec="ac3" aBitrate="384">
            <Matches container="*" aCodec="dca" />
         </Video>
      </Transcoding>
      <ThumbnailsResolution>HD</ThumbnailsResolution>
   </Profile>
The only thing getting transcoded is H265 videos (Infuse plays these natively btw) and DTS audio.
DenyAll
Panasonic Viera FX800A | Panasonic Viera CS610A | Sony PS4 | Sony PS3 | Panasonic DMP-BD79 | Yamaha RX-V500D | iPad | Windows 10 | Serviio 1.10.1 Pro
WinHelper | MediaInfo

Beta Tester, Moderator
Please do not PM me for support as any solution cannot be shared with others.
<<

camstar

Serviio newbie

Posts: 3

Joined: Tue Jul 26, 2016 7:51 pm

Post Sat Jul 30, 2016 9:36 am

Re: Native Playback on iOS

Hi denyall,
I tried the mpeg2video and it did the charm. :) With the profile below I had success! On VLC for iOS all my movies with different encodings run flawlessly.
However, I have realized that this is not the case for the app Mobile VR Station; and I need targetContainer=applehttp & targetVCodec=h264 as my setting. If I set the profile to this I cannot watch anything. Different than the settings below, with the applehttp & h264 settings, I got a .M3U8 file on the client site, and this file never works. :( Also, when I take look at the server side, I see under /tmp an endless file creation for the video segments.

I use the latest ffmpeg ver 3.1. What do I wrong?

  Code:
  <Profile id="iPhone" name="iPhone" extendsProfileId="1">
      <!-- DenyAll -->
      <Detection>
         <HttpHeaders>
            <User-Agent>.*Apple-iPhone.*</User-Agent>
         </HttpHeaders>   
      </Detection>
      <Transcoding>
         <Video targetContainer="mpegts" targetVCodec="mpeg2video" maxHeight="1080" maxVBitrate="40000" targetACodec="aac" aBitrate="128" forceStereo="true" forceVTranscoding="true">
         <Matches container="*" profile="high" levelGreaterThan="4.1" />
         <Matches container="3gp" />
         <Matches container="asf" />
         <Matches container="avi" />
         <Matches container="flv" />
         <Matches container="matroska" />
         <Matches container="mpeg" />
         <Matches container="mpeg" />
         <Matches container="mpegvideo" />
         <Matches container="ogg" />
         <Matches container="rm" />
         <Matches container="wtv" />
         <Matches container="mp4" vCodec="mpeg4" />
         <Matches container="mp4" vCodec="msmpeg4" />
         <Matches container="mp4" aCodec="ac3" />      
         </Video>
       <Audio targetContainer="mp3" aBitrate="128">
         <Matches container="*"/>
         <Matches container="flac" />
         <Matches container="ogg" />
         <Matches container="lpcm" />
         <Matches container="adts" />
         <Matches container="asf" />
         <Matches container="wavpack" />
         <Matches container="mpc" />
         <Matches container="ape" />
         <Matches container="dsf" />
         </Audio>
    </Transcoding>
   <Subtitles>
      <HardSubs>
         <TextBased supported="true" />
      </HardSubs>
   </Subtitles>
      <ThumbnailsResolution>HD</ThumbnailsResolution>
   </Profile>

Return to Transcoding

Who is online

Users browsing this forum: No registered users and 16 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.