ここは私の問題です。私のウェブサイトでは、どのタイプのビデオをアップロードしてもかまいません。 HTML5タグでは、.mp4ビデオしか使用できません。 だから私は、ユーザーがMP4に提出するビデオの任意のタイプを変換し、そのパスをデータベースに追加したいと思う。ビデオをMP4に変換する
私はFFmpegについて何かを読んだことがありますが、私はそれを使用する方法を理解できません。私はshell_exec( "ffmpeg -i"。$ vid。 "-vcodec libx264 -crf 20 out.mp4 2> &")を使ってみました。
HTML
<form method="post" enctype="multipart/form-data" name="form" action="post.php">
\t \t \t
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t
\t <input type="file" name="media-vid" class=" file_multi_video" accept="video/*">
\t \t \t \t \t \t \t \t \t \t \t \t \t \t
</form>
PHPスクリプト:
if(file_exists($_FILES['media-vid']['tmp_name']) && is_uploaded_file($_FILES['media-vid']['tmp_name']))
\t {
\t \t
\t \t
\t \t
\t \t $targetvid = md5(time());
\t \t $target_dirvid = "videos/";
\t \t $target_filevid = $targetvid.basename($_FILES["media-vid"]["name"]);
\t \t $uploadOk = 1;
\t \t $videotype = pathinfo($target_filevid,PATHINFO_EXTENSION);
\t
\t \t
\t \t \t
\t \t if ($_FILES["media-vid"]["size"] > 500000000) {
\t \t $uploadOk = 0;
\t \t echo "Sorry, your file is too large.";
\t \t }
\t
\t // Check if $uploadOk is set to 0 by an error
\t if ($uploadOk == 0) {
\t \t echo "Sorry, your video was not uploaded.";
\t // if everything is ok, try to upload file
\t \t } else {
\t \t
\t \t $target_filevid = strtr($target_filevid,
\t \t \t 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
\t \t \t 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
\t \t $target_filevid = preg_replace('/([^.a-z0-9]+)/i', '_', $target_filevid);
\t
\t \t if (!move_uploaded_file($_FILES["media-vid"]["tmp_name"], $target_dirvid. $target_filevid)) {
\t \t
\t \t \t echo "Sorry, there was an error uploading your file. Please retry.";
\t \t }else{
\t \t \t
\t \t \t $vid= $target_dirvid.$target_filevid;
\t
\t \t \t shell_exec("ffmpeg -i ".$vid." -vcodec libx264 -crf 20 out.mp4 2>&1");
\t \t
\t \t \t }
\t \t }
\t }
\t
\t
'shell_exec'の結果を見ることはできません。あなたはそれを試してみませんか? – mario
実際に何もしていません。私はそれを正しく使用していますか? – Dilak
再度:関数の結果を出力します。 – mario