使用youtube-dl PHP和ffmpeg下载youtube视频时长

时间:2016-07-20 00:11:29

标签: php youtube ffmpeg youtube-dl

使用PHP中的youtube-dl和ffmpeg,是否有更有效的方法可以在特定的开始和结束时间下载YouTube视频。

我目前有这个,它确实有效,它首先将整个视频下载到一个mp3文件,然后将该文件裁剪到我使用ffmpeg设置的范围,但是当我只需要30秒左右的20分钟视频时等待完整的视频下载似乎不是最好的方法。

<?php
require __DIR__ . '/vendor/autoload.php';

use YoutubeDl\YoutubeDl;

$dl = new YoutubeDl([
    'extract-audio' => true,
    'audio-format' => 'mp3',
    'audio-quality' => 0, // best
    'output' => 'videoname.%(ext)s',
]);
$dl->setDownloadPath('C:\youtubevideos');
$video = $dl->download('https://www.youtube.com/watch?v=oDAw7vW7H0c');

$start = 60; // Start 60 seconds in to the video
$duration = 30; // Get 30 seconds after $start
$fullVideo = "C:\youtubevideos\videoname.mp3";
$shortVideo = "C:\youtubevideos\short\shortversion.mp3"; // create 30 seconds
exec("ffmpeg -ss $start -i $fullVideo -t $duration -c copy $shortVideo");
exec("DEL $fullVideo");

我正在使用youtube dl PHP https://github.com/norkunas/youtube-dl-php

0 个答案:

没有答案