chrisyue/mala

将m3u8视频转换为http直播流频道

1.0.2 2016-03-20 10:39 UTC

This package is auto-updated.

Last update: 2024-09-25 15:13:17 UTC


README

v1.0.2

将m3u8视频转换为http直播流频道

SensioLabsInsight

Latest Stable Version License Build Status Scrutinizer Code Quality Code Coverage StyleCI

安装

$ composer require 'chrisyue/mala'

用法

建议您检查mala-demo以获取更多详细信息。

假设您已经实现了Model和Manager命名空间下的所有接口,那么您可以

使用m3u8视频生成EPG并生成hls播放列表(计划中的媒体段)

// $epgManager = Chrisyue\Mala\Manager\EpgManagerInterface;
// $videoManager = Chrisyue\Mala\Manager\VideoManagerInterface;
$epgScheduler = new \Chrisyue\Mala\EpgScheduler($epgManager, $videoManager);

// $channel = Chrisyue\Mala\Model\ChannelInterface;

// generate tomorrow's epg
$epgScheduler->schedule($channel, new \DateTime('tomorror midnight'), new \DateTime('tomorrow 23:59:59'));

// generate playlist
// $mediaSegmentManager = ...;
$parser = new \Chrisyue\PhpM3u8\Parser();
$playlistScheduler = new \Chrisyue\Mala\PlaylistScheduler($parser, $epgManager, $mediaSegmentManager);
$playlistScheduler->schedule($channel, new \DateTime('tomorror midnight'), new \DateTime('tomorrow 23:59:59'));

从计划中的EPG和播放列表生成当前的hls m3u8

// $mediaSegmentManager = ...;
$options = ['target_duration' => 10, 'version' => 3];
$m3u8Generator = new M3u8Generator($mediaSegmentManager, $options);

// $channel = ...;
$m3u8 = $m3u8Generator->generate($channel[, $playsAt]); // or can you specify the play time as the 2nd parameter

// $dumper = ...;
$dumper->dump($m3u8);

您可以检查mala-demo以获取更多关于实现模型/管理接口的详细信息和建议