Page MenuHomePhabricator

Videos unplayable on Wikipedia app in iOS/iPadOS 15
Open, In Progress, LowPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

  • Use an iPhone or iPad running iOS/iPadOS 15, like iPhone 6s/7 or iPad mini 4th-gen.
  • Install Wikipedia app if you don't have it yet.
  • Open Wikipedia app
  • Browse a page containing a video
  • Play any available video

What happens?:

Videos aren't loading well. Somehow, I see an icon of a slash overlapping the play symbol, meaning a video can't play.

What should have happened instead?:

Videos should run well on devices running iOS/iPadOS 15.

Other information (browser name/version, screenshots, etc.):

  • Wikipedia iOS app's version: 7.4.6 (latest; requires iOS/iPadOS 15.4 or above for support)
  • iOS version: 15.8

IMG_0103.png (2×1 px, 252 KB)

Event Timeline

This was working last month in tests on git build, I'll double check this week

JTannerWMF moved this task from Needs Triage to Bug Backlog on the Wikipedia-iOS-App-Backlog board.

[I suspect what's going on is that iOS 15 doesn't like the HLS packaging after all and some of my compatibility reports were incorrect. We'll confirm this once I get more test devices. In the mobile web the JS automatically detects the failure and fails over to the WebAssembly codec; this isn't done in the app at this time. We can either do the same within the app, if necessary for back-compat, or do an alternate fix of some kind. Keeping this on my claim for this week.]

Obtained a suitable test device (iPhone SE first-gen) which runs iOS 15. Confirmed it will play the MJPEG and MP3 back-compatiblity tracks but it doesn't allow them through the codec filtering in the system HLS player if you list them correctly. Listing a false avc1 codec string works but feels wrong; simply leaving out the "CODECS" key in the playlist seems to be enough to let the HLS player try it on iOS 15, and doesn't appear to interfere with iOS 16 or iOS 17.

Currently testing to see if it'll gracefully fail over from opus to mp3 or if I have to special-case it to only use the mp3 audio for the fallback render.

Change 994810 had a related patch set uploaded (by Brion VIBBER; author: Brion VIBBER):

[mediawiki/extensions/TimedMediaHandler@master] iOS 15 compat fix for HLS .m3u8 playlists

https://gerrit.wikimedia.org/r/994810

Proposed fix appears to be working great in local testing; removes the CODECS marker from *only* the 'jpeg' or 'jpeg,mp4a.6b' sources. This might actually get things working on some older iOS versions than 15 too, I'll see what I've got in my test drawer.

I included a maintenance script to batch-rebuild the playlists, which will run *much* faster than any of these transcoding runs because no recoding is required. ;)

If all looks well in code review, once merged I'll backport it for the next patch deployment window and we can retroactively fix the existing playlists.

Change 994810 merged by jenkins-bot:

[mediawiki/extensions/TimedMediaHandler@master] iOS 10-15 compat fix for HLS .m3u8 playlists

https://gerrit.wikimedia.org/r/994810

Playlist rewrites ran after the code fix went out... and confirmed, this seems to be fixed now. In iOS 15 the app will show low-res videos, but it will show them now. :)

We can improve the resolution of the fallback for older iOS over time, pending legal review of newer codecs.

Sorry, but still doesn't work on iPhone 6s on the mobile web and Wikipedia app without a third-party video player app. Its latest iOS version is 15.8.1

bvibber closed this task as Resolved.EditedMar 19 2024, 6:22 PM

Confirmed working on iOS 15.8.1 (iPhone SE first-gen) in app on [[w:en:Big Buck Bunny]]. If there are specific files still not working, please provide links and reopen.

bvibber changed the task status from Open to In Progress.Mar 22 2024, 7:21 PM

Thanks, it always helps to have specific links. Those are not on Commons, and aren't included in the Commons re-runs (they're on en.wikipedia.org specifically). They should've gotten a batch run before this, but it looks like that didn't happen. I'll add those to the schedule, thanks!

Started a batch run for all missing transcodes on enwiki, probably will churn for up to a day (hard to predict timing)

Haha goddammit I think I see what happened

The batch jobs that ran on all wikis got up to commons and bogged down and some of them never got run on later wikis in alphabetical order on "commonswiki", not reaching "enwiki". >:(

*ahem* allow me to do a force-run of the base formats alone .... >:D

(I had thought I'd worked around that, but apparently not for some formats. Dang! Live and learn.)

enwiki initial low-res batch has completed, i've got a more thorough set running

Full non-commons set has been run. It's possible a few bad transcodes remain on Commons (still running some cleanup batches from the audio track bug) so I'll levae this open a tad longer just in case any remaining ones pop up.

Now unable to view a video on the web of the app like this one on iOS 15.8.3 (recently released) in an iPhone 6s Plus. It's either still loading or unable to view the video. Able to view it on a third-party player app, like VLC.

iOS/iPadOS 17.6.1 (latest) doesn't have this issue. Neither does 16.7.10 (also recent).

Now unable to view a video on the web of the app like this one on iOS 15.8.3 (recently released) in an iPhone 6s Plus. It's either still loading or unable to view the video. Able to view it on a third-party player app, like VLC.

That sounds like the same problem we discussed earlier with iOS 15? This hasn't been resolved yet, I haven't had a chance to deploy the new code or start moving the fallback files over to the alternate format.