php - 通过 PHP 上传视频并在服务器上编码为 MP4 和/或 WebM?

标签 php html5-video mp4 encode webm

我想上传一个文件(事实上,我已经使用 PHP 和 JQuery 做到了),但我想在上传过程中将其编码为 MP4 和/或 WebM,例如 Youtube 在上传视频时所做的那样。在此过程中是否可以选择在服务器中执行此操作?

我必须先编码然后上传吗?

最佳答案

您可以在文件上传结束时执行此操作,即将文件移动到特定位置(如下代码)之后

move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);

您可以使用名为 FFMPEG 的免费且知名的库,它支持多种格式。请查看这两个链接的示例和更好的解释:

https://www.phpro.org/tutorials/Video-Conversion-With-FFMPEG.html

https://trac.ffmpeg.org/wiki/Using%20FFmpeg%20from%20PHP%20scripts

基本上,您可以像这样从 PHP 调用 FFMPEG 函数

<?php

 /*** convert video to flash ***/
 exec("ffmpeg -i video.avi -ar 22050 -ab 32 -f flv -s 320x240 video.flv");

?>

关于php - 通过 PHP 上传视频并在服务器上编码为 MP4 和/或 WebM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23682393/

相关文章:

video - FFMpeg 水印质量很差

streaming - MP4 大文件慢启动

PHP - Excel 文件下载

php - 为什么 `LIKE` 运算符不适用于整数列?

php - 错误使用 CodeIgniter form_validation() 函数引发 fatal error

javascript - 跨浏览器视频预加载

youtube - 将您的视频管嵌入html5视频标签

javascript - 如何通过 HTML 和/或 JavaScript 设置嵌入的 YouTube 视频的音量?

PHP 5.0 : Call to undefined function mysql_connect()

ios - 如何在iOS中将mp4文件存储为Data或NSData对象?