Opened 3 months ago

Last modified 3 months ago

#9470 new defect

m3u8 keepalive does not work between domains and DV + Atmos fails

Reported by: Balling Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: hls
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description (last modified by Balling)

Summary of the bug:

Apple TV+ has very good trailers in Dolby Vision profile 5 using IPTPQc2 and Dolby Atmos. Yet, since audio is supposed to be streaming from a different CDN than video (on both CDNs both video and audio is available though). Keepalive fails though between two domains vod-ap2-aoc.tv.apple.com:-1 != vod-ak-aoc.tv.apple.com:-1. Issue was here: https://github.com/yt-dlp/yt-dlp/issues/771#issuecomment-918152831

Now in practise it fails only after parsing all ~200 streams in 5 minutes but... So, why IS hls.js so much faster than ffmpeg??? See: https://tv.apple.com/us/show/the-morning-show/umc.cmc.25tn3v8ku4b39tr6ccgb8nl6m (yeah, m3u8 stream is from there). FFmpeg has all the same. I will also point out that you can extract eac3 audio and hevc Dolby Vision stream with -c copy -stric unofficial and it will work on my LG C9.
How to reproduce:

% ffplay.exe "https://play.itunes.apple.com/WebObjects/MZPlay.woa/hls/subscription/playlist.m3u8?cc=US&svcId=tvs.vds.4105&a=1580273278&isExternal=true&brandId=tvs.sbd.4000&id=337246031&l=en-US&aec=UHD&xtrick=true&webbrowser=true"
ffplay.exe "https://play.itunes.apple.com/WebObjects/MZPlay.woa/hls/subscription/playlist.m3u8?cc=US&svcId=tvs.vds.4105&a=1580273278&isExternal=true&brandId=tvs.sbd.4000&id=337246031&l=en-US&aec=UHD&xtrick=true&webbrowser=true"
ffplay version N-104341-g933765aa0e-20211013 Copyright (c) 2003-2021 the FFmpeg developers
  built with gcc 10-win32 (GCC) 20210408
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-shared --disable-static --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --enable-vulkan --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libglslang --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20211013
  libavutil      57.  7.100 / 57.  7.100
  libavcodec     59. 12.100 / 59. 12.100
  libavformat    59.  6.100 / 59.  6.100
  libavdevice    59.  0.101 / 59.  0.101
  libavfilter     8. 14.100 /  8. 14.100
  libswscale      6.  1.100 /  6.  1.100
  libswresample   4.  0.100 /  4.  0.100
  libpostproc    56.  0.100 / 56.  0.100
[hls @ 00000228e4d07600] Skip ('#EXT-X-VERSION:7')sq=    0B f=0/0
[hls @ 00000228e4d07600] Skip ('#EXT-X-INDEPENDENT-SEGMENTS')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.advisory-info.count",VALUE="0"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.display-ratings-overlay",VALUE="true"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.title",VALUE="Bombshell: Season 2",LANGUAGE="en-US"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.poster",VALUE="https://is3-ssl.mzstatic.com/image/thumb/S4hvyopZQCav14Oag70Mhg/{w}x{h}bb.{f}",LANGUAGE="en-US"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.genre",VALUE="Drama",LANGUAGE="en-US"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.feature.adam-id",VALUE="1580273278"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.feature.duration",VALUE="148.148"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.pre-roll.count",VALUE="0"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.pre-roll.duration",VALUE="0.000"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.mid-roll.count",VALUE="0"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.skip.count",VALUE="0"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.post-roll.count",VALUE="0"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.post-roll.duration",VALUE="0.000"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.keys",VALUE="W10="')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.format",VALUE="HD,4K"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.quality",VALUE="DV,HDR,Atmos"')
[hls @ 00000228e4d07600] Skip ('#EXT-X-SESSION-DATA:DATA-ID="com.apple.hls.accessibility",VALUE="CC,SDH,AD"')
[hls @ 00000228e4d07600] Can't support the subtitle(uri: https://vod-ap2-aoc.tv.apple.com/itunes-assets/VideoPreview125/v4/6f/37/47/6f374738-bd20-2673-6421-df03c3fdf6a8/P337246031_A1580273278_ar_subtitles_V1.m3u8)
***

[https @ 00000228eba2c040] Cannot reuse HTTP connection for different host: vod-ap2-aoc.tv.apple.com:-1 != vod-ak-aoc.tv.apple.com:-1
[hls @ 00000228e4d07600] keepalive request failed for 'https://vod-ak-aoc.tv.apple.com/itunes-assets/VideoPreview125/v4/b7/a5/a6/b7a5a620-9977-e5f6-f242-7cb3939de3d3/P337246031_A1580273278_en_audio_gr32-.m3u8' with error: 'Invalid argument' when parsing playlist
[hls @ 00000228e4d07600] Opening 'https://vod-ak-aoc.tv.apple.com/itunes-assets/VideoPreview125/v4/b7/a5/a6/b7a5a620-9977-e5f6-f242-7cb3939de3d3/P337246031_A1580273278_en_audio_gr32-.m3u8' for reading

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Change History (3)

comment:1 by Balling, 3 months ago

Description: modified (diff)

comment:2 by Balling, 3 months ago

Description: modified (diff)

comment:3 by Balling, 3 months ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.