国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

php-FFMpeg視頻轉(zhuǎn)碼成m3u8,為什么只能播放最后幾個(gè)切片?

yoyo_admin

問(wèn)題描述

使用webman下使用PHP-FFMpeg,將mp4轉(zhuǎn)碼為m3u8格式,轉(zhuǎn)碼完成后,有40個(gè)ts文件和一個(gè)m3u8目錄文件
但是播放器播放只能播放出最后5個(gè)ts切片
環(huán)境:php8.0 \ ffmpeg7.0 \ PHP-FFMpeg v1.2
(原視頻差不多兩分鐘)

$ffmpeg = FFMpeg::create([
'ffmpeg.binaries' => getenv('FFMPEG_PATH'),
'ffprobe.binaries' => getenv('FFMROBE_PATH'),
'timeout' => 3600, // 設(shè)置超時(shí)時(shí)間
'ffmpeg.threads' => 12, // 設(shè)置線程數(shù)
]);
$format = new \FFMpeg\Format\Video\X264();
// 打開(kāi)要轉(zhuǎn)換的 MP4 文件
$video = $ffmpeg->open($vo['save_path']);

            $format
                ->setKiloBitrate(1000)
                ->setAudioChannels(2)
                ->setAudioKiloBitrate(256);

            $dir = dirname($vo['save_path']);
            // 保存 M3U8 文件
            if (!is_dir($dir)) {
                // 目錄不存在,嘗試創(chuàng)建目錄
                mkdir($dir, 0777, true); // 第三個(gè)參數(shù)設(shè)置為 true 以創(chuàng)建多級(jí)目錄
            }
            $video_name = 'new_video';
            $res = $video->save($format,$dir.DIRECTORY_SEPARATOR.$video_name . '.m3u8');
1119 1 0
1個(gè)回答

wocall

把你的帖子發(fā)給Gemini,它回復(fù)如下:

根據(jù)你提供的代碼,我發(fā)現(xiàn)了一個(gè)潛在的問(wèn)題:

$res = $video->save($format,$dir.DIRECTORY_SEPARATOR.$video_name . '.m3u8');

在這個(gè)代碼中,你只保存了 M3U8 文件,但是沒(méi)有保存對(duì)應(yīng)的 TS 分片文件。

要生成完整的 M3U8 格式視頻,你需要使用 saveFromSameFile 方法,如下所示:

$res = $video->saveFromSameFile($format,$dir.DIRECTORY_SEPARATOR.$video_name . '.m3u8');

這樣,PHP-FFMpeg 就會(huì)自動(dòng)生成 TS 分片文件并將其保存在指定的目錄中。

另外,你還可以通過(guò)設(shè)置以下選項(xiàng)來(lái)優(yōu)化轉(zhuǎn)碼過(guò)程:

  • hlsManifestType: 指定 M3U8 清單類(lèi)型(例如,HLS_MANIFEST_TYPE_VOD
  • hlsTime: 指定每個(gè) TS 分片的持續(xù)時(shí)間(以秒為單位)
  • hlsSegmentCount: 指定 M3U8 清單中包含的分片數(shù)量

例如:

$format
    ->setHlsManifestType(FFMpeg\Format\Video\X264::HLS_MANIFEST_TYPE_VOD)
    ->setHlsTime(5)  // 5 秒的分片持續(xù)時(shí)間
    ->setHlsSegmentCount(40);  // 40 個(gè)分片

這些設(shè)置將有助于生成更適合播放的 M3U8 格式視頻。

  • yoyo_admin 2024-07-08

    TS分片文件都有,40個(gè),播放時(shí)只能播放36~40
    Gemini、kimi、gpt都問(wèn)過(guò)了,它們回答的使用方法,都試過(guò)了,還是這樣,我的ffmpeg版本是6.1

  • wocall 2024-07-09

    你看看m3u8文件里,是不是不全,或者指錯(cuò)了

  • 小W 2024-07-11

    有沒(méi)有可能m3u8只有最后5個(gè)列表

??