标签: http-live-streaming

hls.js - 如何订阅任何事件

第一次播放播放列表时,我不断收到bufferStalledError

我可以检测到此错误,但是,如果我解决此错误,则视频播放中会发生跳转或跳过,并且它会停止发生。

但是,如果我忽略它,那么它将播放而不会出现明显的中断,并且视频会继续播放。但这个错误将继续出现,但没有任何明显的问题。

但是,有时,相同的错误会导致溢出,并且 hls.js 将无法自动恢复,并且在发生此类故障后不会报告比最后一个bufferStalled 错误更多的错误。

我必须通过destroy 重新启动视频并再次附加恢复播放功能 hls.js 无法自动执行或通过recoverMediaErrors()执行。

唯一的问题是我无法订阅显示视频正在播放或卡住的事件。出现 bufferStalledMediaError 后,hls.js 会毫无故障地自动恢复它,但有时会失败。在这两种情况下都不再报告错误

但是,是否有另一个事件报告说正在播放,但不是错误报告?

是否有 hls.on(Hls.Events.ALL, ... ) 事件?

设置TimeLineController怎么样?这没有记录。

参考: https: //github.com/dailymotion/hls.js/blob/master/API.md

javascript video ffmpeg http-live-streaming

1
推荐指数
1
解决办法
5116
查看次数

VLC 只播放 m3u8 文件的最后一段?

这里我有一个 manifest:index.m3u8和 12 个段。我的问题是 VLC 播放器只播放manifest. 这是我的清单:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:18
#EXTINF:12.960,
sample-0.ts
#EXTINF:10.640,
sample-1.ts
#EXTINF:18.440,
sample-2.ts
#EXTINF:10.000,
sample-3.ts
#EXTINF:12.920,
sample-4.ts
#EXTINF:10.800,
sample-5.ts
#EXTINF:13.400,
sample-6.ts
#EXTINF:12.240,
sample-7.ts
#EXTINF:11.720,
sample-8.ts
#EXTINF:15.320,
sample-9.ts
#EXTINF:13.200,
sample-10.ts
#EXTINF:10.480,
sample-11.ts
#EXTINF:11.800,
sample-12.ts
Run Code Online (Sandbox Code Playgroud)

使用此清单,VLC 从 sample-8.ts 播放。我试图拉出一些片段,离开 sample-0.ts -> sample-7.ts,然后 VLC 从 sample-3.ts 播放。我的清单有什么问题?非常感激你的帮助。

vlc http-live-streaming m3u8

1
推荐指数
1
解决办法
1260
查看次数

ATS 域例外中的通配符?

在我的生产 Xamarin 应用程序中,我们检索不同域中未定义的 HLS 播放列表列表。是否可以在 ATS 异常字典上使用通配符?
我尝试过类似的事情但没有成功:

<key>http://*.domain.com</key>
<dict>
    <key>NSExceptionAllowsInsecureHTTPLoads</key>
    <true/>
    <key>NSIncludesSubdomains</key>
    <true/>
</dict>
Run Code Online (Sandbox Code Playgroud)

xamarin.ios http-live-streaming ios xamarin

1
推荐指数
1
解决办法
1584
查看次数

连接多个 HLS 主播放列表

DASH Manifest 提供了“Periods”的概念来连接多个剪辑——每个剪辑都有自己的轨道信息——在一个清单中。

是否有类似的功能允许在一种“主主”播放列表文件中连接多个主播放列表文件?

video-streaming http-live-streaming

1
推荐指数
1
解决办法
2514
查看次数

获取naturalSize并列出视频分辨率m3u8

我播放 m3u8 视频。

我尝试使用let videoAssetSource = AVAsset(url: videoURL)videoAssetSource.tracks(withMediaType: .video).count总是返回 0。当我使用链接 mp4 时这是成功的。

如何获取列表质量链接 m3u8 支持并在播放视频时更改质量。

http-live-streaming ios swift

1
推荐指数
1
解决办法
2375
查看次数

如何使用 ffmpeg 将音频文件拆分为兼容 HLS 的块?(mp3 格式)

我一直在浏览网络和 StackOverflow,但无法让它发挥作用。我有一个音频文件,我想将其拆分为 mp3 文件并生成相应的 m3u8 文件。

我试过这个,这是最接近的:

ffmpeg -i sometrack.wav -c:a libmp3lame -b:a 256k -map 0:0 -f segment -segment_time 10 -segment_list outputlist.m3u8 -segment_format mpegts 'output%03d.mp3'
Run Code Online (Sandbox Code Playgroud)

但是所有的mp3文件我播放的时候都是乱码。

mp3 ffmpeg http-live-streaming

1
推荐指数
1
解决办法
2724
查看次数

无法使用 Fairplay HLS 从 AVPlayer 获取视频缩略图

我正在尝试为 tvOS 中的视频播放器应用程序构建自定义进度栏,并且希望在用户扫描视频时显示视频的缩略图。

我正在使用AVPlayerFairplay HLS 来播放远程视频文件。我尝试使用两种方法来做到这一点。一个用AVAssetImageGenerator's copyCGImage,另一个用AVPlayerItemVideoOutput'scopyPixelBuffer方法。两者都返回零。

当我尝试使用本地视频文件时,第一种方法有效。

方法一:

let imageGenerator = AVAssetImageGenerator(asset: playerItem.asset)
let progressSeconds = playerItem.duration.seconds * Double(progress)
let time = CMTime(seconds: progressSeconds, preferredTimescale: 5)
if let imageRef = try? imageGenerator.copyCGImage(at: time, actualTime: nil) {
   image = UIImage(cgImage:imageRef)
}
Run Code Online (Sandbox Code Playgroud)

方法二:

let videoThumbnailsOutput = AVPlayerItemVideoOutput(pixelBufferAttributes: [String(kCVPixelBufferPixelFormatTypeKey): NSNumber(value: kCVPixelFormatType_32BGRA)])
player?.currentItem?.add(videoThumbnailsOutput)

if let pixelBuffer = videoThumbnailsOutput.copyPixelBuffer(forItemTime: time, itemTimeForDisplay: nil) {
   let ciImage = CIImage(cvPixelBuffer: pixelBuffer)
Run Code Online (Sandbox Code Playgroud)

有什么想法我做错了吗或者还有其他方法吗?

谢谢!

avfoundation fairplay http-live-streaming swift tvos

1
推荐指数
1
解决办法
1912
查看次数

Shaka 播放器无法在谷歌浏览器上加载 HLS

我正在尝试在 shaka 播放器上加载 VOD。这是我的网址:

https://5b48f8f32d3be.streamlock.net/023a27950bd44774/mp4:22436e792e8b42de_HD.0.mp4/playlist.m3u8


我一直在控制台中收到 4032 错误,我已经对其进行了一些搜索。在 shaka 文档中,4032 错误提到为 CONTENT_UNSUPPORTED_BY_BROWSER。但是,当我在 shaka 播放器测试 URL 上测试我的 URL 时,一切正常。

https://shaka-player-demo.appspot.com/demo/#asset=https://storage.googleapis.com/shaka-demo-as​​sets/angel-one/dash.mpd;lang=en-US;build =未编译

如果我的浏览器有问题,它也不应该在测试 URL 上播放。我应该怎么做才能支持 HLS?

streaming google-chrome http-live-streaming reactjs shaka

1
推荐指数
1
解决办法
3987
查看次数

AWS MediaConvert CMAF 格式 HLS 不起作用

我正在使用AWS Elemental MediaConvert编码为CMAF,据我了解,这将允许单一格式流式传输到所有设备。但是,我在让 HLS 流媒体与任何播放器一起使用时遇到问题。

达世币正在运行:

https://bitmovin.com/demos/stream-test?format=dash&manifest=https%3A%2F%2Fstream-test1234.s3.amazonaws.com%2Fpreview%2F05f3e320-c5b6-11e9-97ce-35297279db3d.mpd

HLS 不是:

https://bitmovin.com/demos/stream-test?format=hls&manifest=https%3A%2F%2Fstream-test1234.s3.amazonaws.com%2Fpreview%2F05f3e320-c5b6-11e9-97ce-35297279db3d.m3u8

获取明显错误:

1210/SOURCE_HLS_STREAM_ERROR
1202/SOURCE_MANIFEST_INVALID
Run Code Online (Sandbox Code Playgroud)

我对宣传 CMAF 支持的shaka 播放器也遇到了类似的问题:

https://codesandbox.io/s/pedantic-haze-y6qxq(取消注释manifestUri以测试 HLS)

错误似乎也与清单有关:

HLS playlist has both Master and Media/Segment tags.
Run Code Online (Sandbox Code Playgroud)

.m3u8 文件的内容:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=1231785,AVERAGE-BANDWIDTH=1214202,VIDEO-RANGE=SDR,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=1280x720,FRAME-RATE=25.000,AUDIO="program_audio_0"
05f3e320-c5b6-11e9-97ce-35297279db3d.m3u8
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="program_audio_0",LANGUAGE="eng",NAME="Alternate Audio",AUTOSELECT=YES,DEFAULT=YES,URI="05f3e320-c5b6-11e9-97ce-35297279db3d.m3u8"

Run Code Online (Sandbox Code Playgroud)

关于出了什么问题有什么想法吗?我只是使用 MediaConvert 提供的默认 CMAF 设置。

amazon-web-services http-live-streaming mpeg-dash aws-media-convert

1
推荐指数
1
解决办法
1519
查看次数

在播放器中使用 HLS 和 DASH + DRM 的推荐方法是什么?

我正在使用 VideoJS 播放器并有一个 CMAF 视频,所以我使用的是 HLS 和 DASH。我也在使用所有 3 种类型的 DRM。Fairplay 适合 hls、widevine 和 playready 适合冲刺。

我的问题是我是否应该在播放器中同时包含 hls 和 dash 源,并让玩家决定播放哪一个?或者我是否检测浏览器并仅基于此插入正确的网址?DRM也是一样的。我可以将所有 DRM 添加到播放器吗?或者我应该只添加适用的一项?

drm fairplay http-live-streaming video.js mpeg-dash

1
推荐指数
1
解决办法
2655
查看次数