i have this page (very simple to show what i need) to upload flv files - i read some posts about ffmpeg-php but how to install in on the server if it's the solution and how to use it?
<?php
if(isset($_REQUEST['upload'])){
$tmp_name = $_FILES['video']['tmp_name'];
$name = $_FILES['video']['name'];
$path = "videos/";
move_uploaded_file($tmp_name,$path.$name);
}
else{
?>
<form action="" method="post" enctype="multipart/form-data">
<input name="video" type="file" /> <input name="upload" type="submit" value="upload" />
</form>
<?php
}
?>
and need to create a thumbnail for video uploaded in another folder with the same name any help ? thanks in advance
Create Thumbnails Individually Offline To create the thumbnail, open the image in Paint and then click the "Resize" button at the top of the page. Click the "Pixels" radio button and then enter the horizontal and vertical dimensions for the thumbnail.
You can use ffmpeg-python to create a thumbnail and upload it for use with your video. If you don't want to get into learning FFMPEG, you can also use api. video's endpoint that allows you to pick a time from the video, and have it set as the video thumbnail for you automatically.
Installing ffmpeg should be straightforward. On any Ubuntu/Debian based distro, use apt-get:
apt-get install ffmpeg
After that, you can use it to create a thumbnail.
First you need to get a random time location from your file:
$video = $path . escapeshellcmd($_FILES['video']['name']);
$cmd = "ffmpeg -i $video 2>&1";
$second = 1;
if (preg_match('/Duration: ((\d+):(\d+):(\d+))/s', `$cmd`, $time)) {
$total = ($time[2] * 3600) + ($time[3] * 60) + $time[4];
$second = rand(1, ($total - 1));
}
Now that your $second
variable is set. Get the actual thumbnail:
$image = 'thumbnails/random_name.jpg';
$cmd = "ffmpeg -i $video -deinterlace -an -ss $second -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg $image 2>&1";
$do = `$cmd`;
It will automatically save the thumbnail to thumbnails/random_name.jpg
(you may want to change that name based on the uploaded video)
If you want to resize the thumbnail, use the -s
parameter (-s 300x300
)
Check out the ffmpeg documentation for a complete list of parameters you can use.
Or you can do it in the browser with HTML5's video tag and canvas, see: https://gist.github.com/adamjimenez/5917897
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With