Воспроизведение видеофайла H.265 с помощью AVPlayer

Я пытаюсь воспроизвести видеофайл H.265 с помощью AVPlayer (оба в iOS 10,11). Ниже приведен код:

 let fileUrl = Bundle.main.url(forResource: "sample-h265-360", withExtension: "mp4")
 player = AVPlayer(url: fileUrl!)
 player?.play()

Аудио воспроизводится нормально, но видео не отображается (я использую AVPlayerViewController). Я читал, что H.265 поддерживается в iOS 11, но результат для меня такой же (звук воспроизводится, но видео не отображается).

Я попытался передать файл и воспроизвести его с помощью других приложений. Он отлично работал с ShareIt. Может ли кто-нибудь предложить библиотеки для воспроизведения этого контента? или какой встроенный музыкальный проигрыватель использует shareIt? Есть ли ошибка в моем коде? Кому-нибудь удалось воспроизвести файл H.265 с помощью AVPlayer?


person Bharath Reddy    schedule 06.03.2018    source источник


Ответы (1)


По какой-то глупой причине Apple будет воспроизводить только файлы hevc mp4, помеченные как «hvc1». Большинство инструментов разработки помечаются как hev1.

Вы можете изменить теги с помощью ffmpeg, но только с очень популярными сборками.

ffmpeg -i input.mp4 -vcodec copy -acodec copy -tag: v hvc1 output.mp4

person szatmary    schedule 06.03.2018
comment
Спасибо за ответ. Я попробую и проверю. - person Bharath Reddy; 07.03.2018
comment
Я создал новый mp4 с тегом, измененным на hvc1. Теперь он отлично работает в macOS с использованием Quick Time Player, но когда я добавил в проект iOS, он все еще не показывает видео. Мне нужно что-то еще? - person Bharath Reddy; 07.03.2018
comment
Он отлично воспроизводится на устройстве iOS 11, но не воспроизводится на устройстве iOS 10. Можем ли мы что-то изменить, чтобы оно могло воспроизводиться даже на устройствах iOS 10? - person Bharath Reddy; 07.03.2018
comment
IOS10 не поддерживает hevc. - person szatmary; 07.03.2018
comment
Тот же видеофайл воспроизводится в приложении shareIt даже на устройстве iOS 10. Вы знаете, как они это делают? - person Bharath Reddy; 08.03.2018
comment
Что ж, спасибо Apple за эту маленькую мину. Лучшую часть дня потратил на то, чтобы найти это. - person Mike; 03.12.2019