如何在视频上传时创建缩略图? [php/codeigniter]
Posted
技术标签:
【中文标题】如何在视频上传时创建缩略图? [php/codeigniter]【英文标题】:how to create a thumbnail, at the time of video upload ? [php / codeigniter] 【发布时间】:2016-09-14 09:22:43 【问题描述】:我正在尝试为我上传的视频创建缩略图。寻找在视频上传本身时生成缩略图的最简单方法。我认为如果有些人在不使用 ffmpeg 的情况下提供代码将对我来说是救命的。因为我在 windows wamp 上运行我的代码或任何其他替代方法也欢迎。
我的真实代码在 CodeIgniter 中,不知道怎么做。
$postname = $this->input->post('post-name');
$configVideo['upload_path'] = './video';
$configVideo['max_size'] = '1000000024';
$configVideo['allowed_types'] = 'avi|flv|wmv|mp4';
$configVideo['overwrite'] = TRUE;
$configVideo['remove_spaces'] = TRUE;
$ext = get_mime_by_extension($_FILES['video']['name']);
$video_name = str_replace(' ', '_', $postname);
$configVideo['file_name'] = $video_name;
$this->load->library('upload', $configVideo);
$this->upload->initialize($configVideo);
if (!$this->upload->do_upload('video'))
$msg = $this->upload->display_errors();
$this->session->set_flashdata('error', $msg);
else
$videoDetails = $this->upload->data();
【问题讨论】:
为什么要避开ffmpeg
?
因为我正在使用 godaddy 托管可能是一个商业计划,你不支持 ffmpeg。即使我不知道它可以在我的本地 wamp 服务器上运行 Windows 7 64 位。如果有任何解决方案,请提供此类教程的 UR。所以,我可以得到任何关于问题的解决方案。谢谢你!
您可能可以download a ffmpeg
binary 并在您的服务器上使用它。
大概是什么人??我想要完整的解决方案。我没有告诉任何人为我编码。但是,可以给出一个指定的解决方案或链接,我可以在其中只遵循 php 和 codeigniter 的过程。 :)
【参考方案1】:
我认为您会发现很难在开源世界中找到不使用 ffmpeg 的视频处理解决方案。即使您可以找到专门用于缩略图的内容,您将来也可能会发现您想做其他事情,例如压缩、添加音轨等,而 ffpmeg 对这些事情会很有用。
好消息是,在 windows 服务器上使用 PHP 的 ffmpeg 是一种常见的解决方案,并且有一个使用良好且受支持的 PHP ffmpeg 库可供您使用:
https://github.com/PHP-FFMpeg/PHP-FFMpeg这包括指向一组 ffmpeg 构建的链接,您可以将其下载到 Windows 服务器上,因此您无需自己构建 ffmpeg。
看看 'frame' 方法在视频中的特定时间捕获静止图像以用作缩略图:
$video
->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10))
->save('frame.jpg');
【讨论】:
以上是关于如何在视频上传时创建缩略图? [php/codeigniter]的主要内容,如果未能解决你的问题,请参考以下文章