是否可以在获取http请求时使用ffmpeg将.mp4转换为.ts

问题描述 投票:0回答:1

我搜索了一些文章,告诉我应先转换mp4,然后等待请求并发送ts和m3u8。

但我正在寻找一种方法,即当请求到来时,我将开始转换视频,并在转换未完成时立即发送m3u8。

如果请求到了,但是ts文件没有准备好,那么请等待文件准备就绪并立即发送。

可以这样做吗?或者可以用另一种方式产生同样的效果?

ffmpeg video-streaming html5-video hls mpeg-dash
1个回答
0
投票

当您以单比特率MP4开始并希望将其作为HLS或MPEG-DASH(通常称为DASH)流服务时,您通常会执行以下步骤:

  • 将视频转码为您想要的许多比特率版本
  • 将视频分割成分段或分段格式以允许HLS或MPEG-DASH流
  • “打包”到您要传输到的设备所需的特定流媒体协议中,这些通常是HLS或DASH。

假设视频不是直播流,通常在视频首次摄入系统时最初进行转码和分割。

然后,当用户或客户端请求视频时,“即时”应用包装。请注意,转码和拆分甚至打包可以在一个步骤中组合,一些云编码服务提供完全相同的服务,但是,“及时”打包仍然非常常见。

不做“及时”转码的主要原因还在于转码是处理器密集型的。能够在有足够的计算资源时安排它或者可以让它有足够的时间来完成它通常是最具成本效益的方法。

绝对有可能做“Just In Time”转码 - 这就是Live Streams无论如何都要做的事情。但是,您节省的存储成本可能会因处理成本而被吃掉(有时会多次),因此这是一项商业决策,而不是技术决策。

© www.soinside.com 2019 - 2024. All rights reserved.