Webmaster общности: Predpriemach.com | SearchEngines.bg

    Codeigniter upload на файлове и конвертиране на видео в FLV

    Codeigniter курсове

    Автор: index

    Оригинален сайт , от който е преведен урока. : 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');
    }