请教视频转码边转边播技术
help.aliyun.com/zh/oss/live-transcoding
需求是这样:视频上传到对象存储之后,能够让用户尽快可播放。 这里涉及到视频转码,有两种主流方案:
1 、离线转码。 视频上传后,利用 ffmpeg 实现离线转码。特点是转码耗时太久,1 小时 1080P 视频完成转码要 45 秒以上(使用 GPU 硬件资源的情况下,如果使用 cpu 更慢)。意味着用户上传完视频之后不能立马播放
2 、实时转码。 用户边播边转,实现几乎零延迟。
目前遇到的问题是:在阿里云不提供服务的国家,像 aws 、google 这些云厂商不提供边转边播能力,只有离线转码。
问题:
1 、如果自建边转边播能力,难度大吗? 有成熟的技术栈吗?
2 、是否有一些其他的付费方案(比如购买一套实时转码服务)可选择?
ffmpeg 本身就能开端口在线转码啊
有些想法可能不太适合,可以参考下:
- 是否可以通过非技术手段,让用户等待下。比如 提示用户转码/审核中?
- 是否可以先转码几分钟,用来做视频预览。等全部转码完毕后,再提供完整播放
- m3u8 那个也不算特别实时吧。之前有个需求要在网页播放 RTSP 视频流,我就用 ffmpeg 转码成 ts 文件播放的。
自建边转边播能力,难度大
这个我感觉难度可能在于并发量和计算资源使用率上面。 我那需求就几个摄像头,CPU 转也没太大压力
github.com/ZLMediaKit/ZLMediaKit
这个试试
搜索下分片技术,可以实现你要的效果
没看懂你这个场景到底是直播还是点播
nginx 有个 rtmp 模块,用它入门最简单了
实现上不复杂,你发的那个链接里就有技术细节,就是生成 hls 格式让播放器播放。
需要在存储系统和播放器之间加一层代理,做 m3u8 的生成和触发 ffmpeg 转 ts
- 播放开始时,根据视频时长,预先把 m3u8 生成吐出来给播放器
播放到哪个 ts 就计算下在视频中的位置,触发这个位置之后的转码
可以把 ts 的大小调到 10s ~ 15s 左右,这样保证每次拖动进度,开播时间在 1s 甚至几百 ms 以内。AWS 不是有 MediaLive 服务可以转码吗
plex 的用户量可能最多,个人喜欢 jellyfin 。看你用户量有多大
楼上说的 m3u8 就是你要的吧。原理是 1 小时 1080P 视频完成转码要 45 秒以上,但是你截取 10s 一小段转码上传不需要 45 秒啊。你就一小段一小段的转
mediamtx 和 ZLMediaKit 可以支持很多协议实时转码
github.com/bluenviron/mediamtx
github.com/ZLMediaKit/ZLMediaKit把视频文件转成直播格式是不是算边转边播,ffmpeg 支持把视屏转成 hls 吧
点播。类似于用户在爱奇艺上传一个视频,上传完成后可立马进行播放
嗯,产品体验层面,产品不需要等待太久
谢谢提供的信息。
AWS Elemental MediaLive 是 AWS 提供的一项 实时视频处理服务,主要用于将实时视频流( live video )进行编码、转码和打包,然后分发给观众。它属于 AWS 媒体服务( AWS Media Services ) 生态的一部分,常用于 直播( live streaming )场景。
说这个常用于直播场景,我们的需求是在线点播,不知道是否是同一种技术?
谢谢,这个看起来也是直播技术。 能详细说一说,要满足我们的实时点播场景的需求,这个开源项目该如何使用吗? 或者有文档吗
支持转成 hls ,问题是这个过程太慢(转成 hls 前要先转码,因为 hls 支持的编码有限,对于不支持的编码必须先转码)
谢谢!思路很好能满足需求,如果有来源实现就好了
先切片再转,如果改不了 m3u8 ,那就转完再合并
网盘支持在线播放都是这么搞的。动态生成 ts 切片。
了解。动态生成 ts 切片,有成熟的开源方案推荐吗
“1 、离线转码。 视频上传后,利用 ffmpeg 实现离线转码。特点是转码耗时太久,1 小时 1080P 视频完成转码要 45 秒以上(使用 GPU 硬件资源的情况下,如果使用 cpu 更慢)。意味着用户上传完视频之后不能立马播放”
不是哥们,这都算慢???????? 那只能切片处理,更不好
感觉这转码的速度还是比较快的,而且业务系统上传的视频可定会有转码、审核的流程
m3u8 或者 fmp4 就可以了
目前情况是,手机双卡已经插满,然后在学校又开了张新卡耗学生身份羊毛。 但是因为已经插满了,所以新卡没法用。 目前对新卡的需求,最好是能放宿舍里搞个 wifi 路由,这样本地多机…
现在不知道什么情况,本来打算睡个觉起来东西就编译好了,早上起来发现电脑是全新的重启了?为啥重启呢?---好像是自动更新了,msmmp “累积更新”,说明 Windows 自己…
工作中免不了屎山,特别是国内所谓的敏捷开发屎山写多了,担心自己变成屎山思维,你会不会想自己做个不屎山的业余项目时间被公司榨干的人应该没空考虑 屎山是规律, 哪怕只有你一个人的…