Video not working on 16.4 simulator

I'm testing a video stream (HLS) with AVPlayer. On XCode 14.3 and simulators running iOS 16.4, there is no video image, only black screen. The audio is playing normally, also progress/duration of the video is showing as expected. The problem does not occur on same XCode version with earlier versions of the simulator. Is this a simulator bug? I've also tested it on real device with iOS 16.4 - no problem there.

I'm having the exact same problem on tvOS, iPadOS, and iOS. Not on macOS (non-Catalyst).

The video is also "black with sound" on real devices, too.

Exact same code works perfectly fine when generated from Xcode 14.2

The problem seems to be with AVPlayer.

You can test this quite easily. Start a new Xcode project in Xcode 14.3, put this in your ContentView.swift:

import AVKit
import SwiftUI

let avPlayer = AVPlayer(url: URL(string: "https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_ts/master.m3u8")!)

struct ContentView: View {
    var body: some View {
        VideoPlayer(player: avPlayer)
            .onAppear { avPlayer.play() }
    }
}

...and witness the darkness! You could replace VideoPlayer(player:) with a represented AVPlayerViewController or whatever you like, always black video with sound.

I have the same issue, just upgraded XCode yesterday and voila! my tvOS app video does not show on the 16.4 version of the simulator. Makes one wonder - how does this get behavior past Apple's test team?

Bumping this. Same issue. Same configs.

Same issue here after upgrading Xcode to 14.3. HLS and mp4 files aren't showing the video, only playing audio. Strangely in some situations it does play fine, but I couldn't figure out exactly how.

Same issue. I went through a whole bunch of permuations - and it seems this is limited to any 16.4 tvOS simulator - tested both 3rd gen and 2nd gen with 16.4 and both show black screen for video.

Note that older versions of the simulator (16.1, 16.0) work just fine.

So far, video seems to be working on real device with 16.4.1

Same here. Was working until I upgraded. Been playing the same videos for years.

Has anyone put out a bug report yet? I forget how to do that.

Can reproduce and was confused with just black screen on the simulator. Works perfectly fine on older simulators (Tested on iOS 15.5)

Same here. black screen on videos. Is there any workaround?

Same issue in all 16.4 Simulators, HLS video is black, audio is fine. Tested on e.g. 14.1 simulators and the video plays as it should. What's weird is this (16.4 simulators) was working fine until today and I'm pretty certain I've not updated since a few weeks ago (all automatic updates are off).

Same issue

Xcode 13.4.1. Simulator can show image and all others but video, videoplayer.

Same issue

Xcode 13.4.1. Simulator can show image and all others but video, videoplayer.

I actually got feedback from Apple via the feedback-assistant: They say "DRM content is not supported in Simulator and so it is expected to show blank screen." Very strange feedback, given that the same HLS-videos run perfectly fine on any other simlulator (below 16.4). Guess I’ll need to stick with a 16.2 simulator until the real issue gets fixed.

Exactly, it runs fine on other versions. Also, the video I'm seeing this with isn't DRM content.

Interestingly, the pixels from an HLS stream are available in the 16.4 Simulator(s), i.e. it's possible to get a valid (loaded w/ the video frame and not black) CVPixelBufferRef from the stream, even though video won't display on screen. Att: Apple, please hurry up with a fix on this! It makes developing streaming video applications a pain i.e. not being able to actually program and text the latest OS on anything other than connected devices (rendering the Simulators pretty much useless for developing our application).

I too have the same issue and it is mega frustrating. How does Apple expect us to develop video streaming applications ....

Same here, DRM is not the issue, the simulator is clearly borked - I hope someone with real power gets on them about it, otherwise it will never be fixed.

I have a 1on1 WWDC lab session scheduled @ 2PM PT today with a member of the XCode team, and hope to get us all participating in this thread more clarity on the issue. Will report back here later today.

Hi all! Has anyone filed a FeedBack issue for this problem yet that you could reference here? If not, could someone please file one now, using Feedback Assistant? It would be best if you could attach a simple repro project that demonstrates the problem, and capture the results of a xcrun simctl diagnose after reproducing. TIA!

(And here's what was filed with Feedback-Assistant ID# FB12264845)

Xcode 14.3 and Simulator 16.4 HLS/m3u8 video playback issue

Please see the following thread: https://developer.apple.com/forums/thread/727288?login=true&page=1&r_s_legacy=true#754122022

This BUG REPORT is in response to a conversation earlier via WWDC Lab ID 7873788389, i.e. reporting the bug described in the above forum feed, and as follows:

HLS video is no longer playing beginning with XCode 14.3 and in Simulator 16.4. I've isolated example code below. Note that .mp4 video plays fine, however HLS/m3u8 video does not (stream loads but only audio plays). This bug is only in the Simulator (16.4); i.e. on device (and in previous Simulators) m3u8 video plays fine. Please see the forum thread for more details and other developer reports. Thank you.

Example code:

/* Supporting includes, variables, etc.
#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>
@property (nonatomic, strong) AVPlayer *player;
@property (nonatomic, strong) AVPlayerViewController *playerViewController; */
    
// Initialize AVPlayer
// .mp4; note mp4 plays fine, i.e. video appears.
//NSURL *videoURL = [NSURL URLWithString:@"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"];
// m3u8; note HLS/m3u8 VIDEO DOESN'T APPEAR, however file "successfully" loads and e.g. audio plays.
NSURL *videoURL = [NSURL URLWithString:@"https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8"];
self.player = [AVPlayer playerWithURL:videoURL];
    
// Initialize AVPlayerViewController
self.playerViewController = [[AVPlayerViewController alloc] init];
self.playerViewController.player = self.player;
self.playerViewController.view.frame = self.view.bounds;
[self.view addSubview:self.playerViewController.view];
    
// Play the video
[self.player play];

Same problem here:

  • Xcode 14.3.1
  • on tvOS 16.4 in simulator only sound, no video
  • on tvOS 16.1 in simulator everything works fine

I got another answer on my feedback assistant (FB12136006) asking me to verify this issue with Xcode 15 beta. Has anyone tested this in Xcode 15 beta?

Confirmed after testing on my side, the HLS / m3u8 video (not appearing) bug described in this thread is fixed and longer an issue with Xcode 15 beta and Simulator 17. Thank you, Apple Developer Tools team.

Video not working on 16.4 simulator
 
 
Q