[FFmpeg-trac] #9470(avformat:new): m3u8 keepalive does not work between domains and DV + Atmos fails

FFmpeg trac at avcodec.org
Sat Oct 23 15:19:09 EEST 2021


#9470: m3u8 keepalive does not work between domains and DV + Atmos fails
------------------------------------+------------------------------------
             Reporter:  Balling     |                    Owner:  (none)
                 Type:  defect      |                   Status:  new
             Priority:  normal      |                Component:  avformat
              Version:  git-master  |               Resolution:
             Keywords:  hls         |               Blocked By:
             Blocking:              |  Reproduced by developer:  1
Analyzed by developer:  0           |
------------------------------------+------------------------------------
Description changed by Balling:

Old description:

> 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. Maybe  Issue was
> here: https://github.com/yt-dlp/yt-dlp/issues/771#issuecomment-918152831
>
> Now in practive it fails after parsing all ~200 streams but... Also, why
> IS hls.js so much faster than ffmpeg??? See: https://tv.apple.com/us/show
> /the-morning-show/umc.cmc.25tn3v8ku4b39tr6ccgb8nl6m (yeah, it is from
> there. FFmpeg has all the same.
> 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.

New description:

 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. Maybe  Issue was
 here: https://github.com/yt-dlp/yt-dlp/issues/771#issuecomment-918152831

 Now in practise it fails after parsing all ~200 streams but... Also, why
 IS hls.js so much faster than ffmpeg??? See: https://tv.apple.com/us/show
 /the-morning-show/umc.cmc.25tn3v8ku4b39tr6ccgb8nl6m (yeah, it is from
 there. FFmpeg has all the same.
 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.

--
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/9470#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list