$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)) { // If there is any error $err_msgs .= 'Error in Uploading video '.$this->upload->display_errors().' '; } 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 command to convert video exec("ffmpeg -i ".$directory_path_full." ".$directory_path.$file_name.".flv"); // $file_name is same file name that is being uploaded but you can give your custom video name after converting So use something like myfile.flv. /// In the end update video name in DB $array = array( 'video' => $file_name.'.'.'flv', ); $this->db->set($array); $this->db->where('id',$id); // Table where you put video name $query = $this->db->update('user_videos'); }