Codeigniter upload на файлове и конвертиране на видео в FLV
29-12-2011
Оригинален сайт , от който е преведен урока. : http://www.99points.info/2010/06/codeigniter-tutorials-convert-video-to-flv-using-ffmpeg/


Първото което трябва да направим е да инсталираме ffmpeg не зависимо за коя операционна система.
Проверете дали го има в PHPinfo , като можете да го намерите тук : http://www.ffmpeg.org/


Кода който ще разгледаме е този :

$file = 'video_file'; // името на файла който качваме
$config['upload_path'] = './video_folder/'; // пътя където ще качваме файловете
$config['allowed_types'] = 'mov|mpeg|mp3|avi'; // какви файлове е позволено да качваме
$config['max_size'] = '50000'; // размера на файла.
$config['max_width'] = ''; // този и по-долният ред се отнасят ако искате да има някакви критерий за изображенията които потребителите ще качват
$config['max_height'] = '';

$this->upload->initialize($config); // зареждане на настройките
$this->load->library('upload', $config); // зареждане на библиотеката за качване на файлове

if(!$this->upload->do_upload($file))
{
// Зареждане на съобщение ако има някаква грешка при качването
$err_msgs .= 'Error in Uploading video '.$this->upload->display_errors().'<br />';
}
else
{
// Самият ъплоад алгоритъм
$data=array('upload_data' => $this->upload->data());
$video_path = $data['upload_data']['file_name'];

$directory_path = $data['upload_data']['file_path'];
$directory_path_full = $data['upload_data']['full_path'];
$file_name = $data['upload_data']['raw_name'];

// ffmpeg команда за конвертиране на видеото в FLV

exec("ffmpeg -i ".$directory_path_full." ".$directory_path.$file_name.".flv");
// $file_name държи името на файла който конвертирате. Но може да използвате някакъв алгоритъм за преименуване на файловете. Става малко кофти ако се качат различни видео файлове с едно и също име......

/// Вкарване на файла в база данни
$array = array(
'video' => $file_name.'.'.'flv',
);
$this->db->set($array);
$this->db->where('id',$id); //Таблица в която се записва името и ID-то на файла в базата данни
$query = $this->db->update('user_videos');
}




/ Трябва да сте регистриран за да напишете коментар /
От: Fakeheal
17:38 30-12-2011
Мерси за урочето/кодчето. :*
От: index
17:54 30-12-2011
Моля, пак заповядай :)
1