Понедельник, 01 Август 2011 14:04

Как конвертировать видео файлы с помощью PHP на сервере Ubuntu

Автор 
Оцените материал
(2 голосов)

При написании видео портала возникла ситуация когда нужно показывать видео для платных и бесплатных пользователей в разных качествах. Для решении данной ситуации был выбран способ конвертации оригинального видео файла в два файла: первый видео файл — видео файл хорошего качества для показа платным пользователям и второй видео файл — удовлетворительного качества для показа бесплатным пользователям.

Так как портал был развернут на сервере с ОС Ubuntu 10.10 опишу подробно как это было реализовано.

Весь процесс был разбит на два этапа:

  • установка нужного ПО для конвертации видео файлов на сервере
  • написание скрипта PHP который проводил саму конвертацию

Установка необходимого ПО на сервер.

1. Установка кодеков х264.

2. Установка ffmpeg (программа для конвертации видео файлов)

 

На этом установка нужного ПО окончена. Перейдём к созданию самого скрипта.

PHP скрипт для конвертации

Скрипт представлял собою крон который каждые 10 минут делал запрос в базу данных и получал путь к файлу который нужно конвертировать. После этого скрипт запускал конвертацию с помощью ffmpeg.

Создание файла для бесплатных пользователей

exec('ffmpeg -i ' . $res['path'] . ' -ar 22050 -ab 32k -f flv -b 700k -s 320x200 -ac 2 -y ' . $res['free'])

где 

$res['path']

путь к оригинальному файлу с именем файла и 

$res['free']

путь к файлу с именем файла для бесплатных пользователей (удовлетворительное качество видео);

 

Создание файла для платных пользователей

exec('ffmpeg -i ' . $res['path'] . ' -ar 22050 -ab 32k -f flv -b 700k -ac 2 -y ' . $res['premium']

где 

$res['path']

путь к оригинальному файлу с именем файла и 

$res['premium']

путь к файлу с именем файла для платных пользователей (хорошие качество видео)

 

Последнее изменение Пятница, 13 Январь 2012 15:28
Другие материалы в этой категории:
Как правильно организовать цикл по датам »

Оставить комментарий

Убедитесь, что вы вводите (*) необходимую информацию, где нужно
HTML-коды запрещены

 

Вам нужно больше информации?

Мы проконсультируем Вас бесплатно.

Звоните нам: +380 (44) 384 16 37

Подать запрос

Если Вам нужна еще информация, заполните, пожалуйста, этот формуляр.Мы свяжемся с Вами немедленно.
*Обязательные поля

Почему клиенты выбирают именно нас?

  • Отправка запроса и создание предложения у нас бесплатны
  • Мы ценим Ваши персональные данные
  • Соответствие цены и качества услуг
  • Наши консультации основываются на многолетнем опыте
  • Прозрачный процес работы над проектом и открытая коммуникация
  • Качественные услуги на основе современных технологий
  • Длительная поддержка