gpt4 book ai didi

ios - 如何使用 AVPlayer 获取 HLS 流的当前时间?

转载 作者:行者123 更新时间:2023-11-30 12:07:42 25 4
gpt4 key购买 nike

我正在尝试获取 AVPlayer 正在再现的 HLS 流相对于流开头的位置。

我所能得到的是从播放开始的时间(使用 AVPlayer.currentTime())和流开始的日期(使用 AVPlayerItem.currentDate( ))。

我 100% 确定以秒为单位的偏移量已嵌入到每个 MPEG TS 文件中,我只是找不到从 AVPlayer 或 AVPlayerItem 访问该值的方法。

FFProbe 测试 TS block 的输出:

ffprobe version 3.3.4 Copyright (c) 2007-2017 the FFmpeg developers
built with Apple LLVM version 8.1.0 (clang-802.0.42)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-vda
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
Input #0, mpegts, from 'toCharlie.ts':
Duration: 00:00:08.40, start: 16117.400000, bitrate: 1808 kb/s
Program 1
Stream #0:0[0x102]: Data: timed_id3 (ID3 / 0x20334449)
Stream #0:1[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 720x1280, 30 fps, 30 tbr, 90k tbn, 60 tbc
Stream #0:2[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 132 kb/s

以秒为单位的偏移量在那里(开始:16117.400000)。

是否有可能从流开始时获取实际的当前时间?

提前致谢。

编辑:为了清楚起见,HLS 流是直播流,而不是 VOD 流。

最佳答案

您是否尝试过像这样的 AVPlayeraddObserver :

player?.addObserver(self, forKeyPath: "currentItem.loadedTimeRanges", options: .new, context: nil)

并使用函数:

override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {.....

通过 iOS 的 KVO 概念跟踪状态响应

关于ios - 如何使用 AVPlayer 获取 HLS 流的当前时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46489597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com