СоХабр закрыт.

С 13.05.2019 изменения постов больше не отслеживаются, и новые посты не сохраняются.

| сохранено

H Что нужно для создания сервиса видео хостинга за 15 минут в черновиках Из песочницы

Все думал про что же выложить свою первую публикацию. Речь пойдет о создании видеохостинга. Я полностью объясню как настроить apache2, а также способы установки утилит для видеохостинга. Также постараюсь максимально точно все объяснить и пройтись утюгом орфографии, для максимально понятной речи:

Что нам понадобится


1. Если вы начинающий «web» программист, то думаю написать целый скрипт видеохостинга вы не в силах, поэтому скачайте готовый скрипт;
2. Нам понадобится машина (сервер), я буду рассматривать действия под «LINUX (Ubuntu 15.10)»;
3. И самое главное — мозги.

Установка и настройка «Web сервера»


1. Нужно установить Web-сервер, я выбрал «Lamp-Server», для его установки вводим в терминал следующие команды (если вы не хотите устанавливать «Lamp-Server», вы можете устанавливать все утилиты web-сервера самостоятельно):

sudo apt-get install tasksel
sudo tasksel install lamp-server

2. Устанавливаем «phpmyadmin», выполняем следующую команду:

sudo apt-get install phpmyadmin

Если вы хотите, чтобы ваш «phpmyadmin» был по адресу «ip/phpmyadmin», то нужно добавить следующую строку в настройках «apache» (настройки apache2 находятся по адресу /etc/apache2/apache2.conf):

Include /etc/phpmyadmin/apache.conf

После выполнить:

sudo service apache2 restart

3. Скачиваем скрипт нашего видеохостинга. Почти все видео скрипты требуют включения в apache опции «MultiViews» и «rewrite», для её включения в опциях хоста пишем «MultiViews.» Пример настройки хоста:

<VirtualHost *:80>
    ServerName host1
    DocumentRoot /var/www/host1
    <Directory /var/www/host1>
	Options Indexes FollowSymLinks MultiViews
        AllowOverride All
	Order allow,deny
	allow from all
    </Directory>
</VirtualHost>

После убедитесь, работает ли ваш хост: переходим по ссылке «host1» — если все работает, значит вы выполнили все правильно.

4. Включаем «mod_rewrite» (по умолчанию он не включен), делается это по следующей команде:

sudo a2enmod rewrite

После выполняем рестарт «apache2», выполняется это по следующей команде:

sudo service apache2 restart

На этом настройка Web-сервера закончена, и он готов к работе.

Установка утилит для видеохостинга


1. Загружаем ваш скрипт. После установки скрипт требует утилиты «Mencoder, Mplayer, FFmpeg, flvtool2, yamdi, MediaInfo, Upload-Progress, GPAC MP4Box, x264 Library.»

2. Устанавливаем «FFmpeg.» Выполняем следующую команду:

sudo apt-get install ffmpeg 

3. Устанавливаем «yamdi.» Выполняем следующую команду:

sudo apt-get install yamdi.

5. Устанавливаем «MPlayer.» Выполняем следующую команду:

sudo apt-get install mplayer.

6. Устанавливаем «mediainfo». Выполняем следующую команду:

sudo apt-get install mediainfo.

7. Устанавливаем «Mencoder». Выполняем следующую команду:

sudo apt-get install mencoder.

Если у вас он не устанавливается, есть выход добавляем US хранилища Linux в Sources.list. Он находится по директории /etc/apt:

Mencoder
deb us.archive.ubuntu.com/ubuntu precise main universe

После добавления выполняем в терминале:

sudo apt-get update
sudo apt-get install mencoder


8. Устанавливаем «FLVTool2». Выполняем следующую команду, если у вас не найден пакет FLV, то эта проблема решается добавлением того же самого US хранилища.

sudo apt-get install flvtool2

FLVTool2
deb us.archive.ubuntu.com/ubuntu precise main universe

После Добавления выполняем:

sudo apt-get update
sudo apt-get install flvtool2


9. Установка «MP4Box.» Для «Linux» он обозначается как grap выполняем следующую команду:

sudo apt-get install grap

10. Устанавливаем «neroAacEnc.» Выполняем следующие команды:

mkdir AAC
cd AAC/
wget http://ftp6.nero.com/tools/NeroAACCodec-1.5.1.zip
unzip -j NeroAACCodec-1.5.1.zip
sudo install -m 0755 neroAacEnc /usr/bin/
sudo apt-get install gpac

11. Устанавливаем «x264.» По-умолчанию он есть во всех системах, если его нет выполняем следующую команду:

sudo apt-get install x264 

12. Устанавливаем «UploadProgress.» Выполняем следующие команды:

sudo apt-get install php-pear
sudo apt-get install php5-dev
sudo pecl install uploadprogress

Если же у вас ошибка, то установите: «build-essential»:

sudo apt-get install build-essential

После выполнения этих команд, вводим следующие строки в php.ini:

extension=uploadprogress.so

sudo service apache2 restart

Вывод


Вот и все, ваш видеохостинг готов. В следующей теме сделаю урок, как создать с нуля сам скрипт видеохостинга. А так же другие интересные темы.

комментарии (17)

+5
zim32 ,  
да и не забыть установить apt-get install 100Gbit-bandwidth
+3
joann ,  
Без sudo не сработает :)
+1
Amet13 ,  
LINUX (Ubuntu 15.10)

Я то думал, что может быть хуже, а потом бац и оказывается что публикация сводится к банальному:
apt install <package_name>
0
A1estro ,  
В 15.10 вернули ffmpeg, да и в 14.04 кроме ffmpeg'а, все пакеты есть.
0
Ernado ,  

Я участвовал в разработке нескольких медиа-проектов, но прочитав вашу статью, так и не понял что именно вы хотели сказать, о каких скриптах речь и что вообще вы вкладываете в понятие "видеохостинга". Если простую раздачу видео по http, то связка Azure Blob Storage /Amazon S3 + Akamai CDN делает это все гораздо проще. И никакие сервера настраивать и поддерживать не нужно.

–4
Denis_Minin ,   * (был изменён)
Речь идет о скриптах хостингов, которые конвертируют все видео в определенный формат. Увы таких материалов я не нашел в интернете, но нашел много вопросов, «как установить эти пакеты» и решил дополнить этот недостаток
+5
thunderspb ,  
«дополнить недостаток» это очень правильно сказано :)
+1
webmoder ,  
Теперь недостатка еще больше.

Ну а по факту, статья не содержит никакой реализации, о каком видео хостинге идет речь?
тут банально скачивание разных пакетов и настройка виртуал хоста.

Зачем Apache?
Зачем PhpMyAdmin?

Такое ощущение что собираем не видео хостинг, а обычный shared…

Да и зачем все эти пакеты? я вот не понял.
Хотелось бы подробнее услышать, что и для чего.
0
Denis_Minin ,  
1. Говорится о создании видео-хостинга с нуля «Требуемые утилиты для видео хостинга, это вступительная часть.
2. Зачем Apache? настройки Apache для „видео-хостинга“
3. Phpmyadmin это уже к части настройки Веб-сервера
0
GamePad64 ,   * (был изменён)
LINUX (Ubuntu 15.10)


Как-то ни то ни сё. На сервер LTS надо накатывать. 16.04, вот, вышел недавно.
0
Denis_Minin ,  
Я обновлю публикацию, сделав на LTS 16.04
0
zenn ,  
Прочитал статью, так и не понял каким боком она относится к разделам веб-разработка и «php». Со скрепом зубов ее можно за уши натянуть к «linux»…
Почему бы сразу было не описать программный код, взаимодействуя с которым и достигалась бы реализация «веб-хостинга», а то что тут можно смело было вкинуть под спойлер из 10 строк с 5 комментариями…
–1
Denis_Minin ,  
Они относятся к этим разделам, так как следующая публикация будет идти по этой же линии, как собрать с нуля скрипт видео хостинга, а это вступительная часть. в том же уроке опишу «программный код с которым и достигалась бы реализация» «веб-хостинга».
0
GamePad64 ,  

Это можно прочитать к любому "циклу статей": "Это только вступление, интересно будет дальше."
А я хочу, чтобы интересно было сейчас, чтобы поставить вам жирный плюс за статью, подписаться на вас и ждать новые части статьи.

0
GamePad64 ,  
я буду рассматривать действия под «LINUX (Ubuntu 15.10)»;
deb us.archive.ubuntu.com/ubuntu precise main universe

В худшем случае, вы полностью сломаете систему.

sudo apt-get install ffmpeg
sudo apt-get install yamdi
sudo apt-get install mplayer

А теперь правильный вариант:
sudo apt install ffmpeg yamdi mplayer
+2
AllexIn ,  
Пожалуйста не надо таких мануалов писать. НИКОГДА.
Если вы хотите рассказать как что-то сделать — объясните что надо сделать.
Мануалы вида «скопипасьте вот этот кусок текста в конфиг» — самое хреновое что есть на просторах интернета.
Они не дают знаний, они быстро устаревают, они не покрывают все кейсы, они засоряют эфир.

Мануал, который рассказыват что и зачем делается — оставляет понимание происходящего. Оставляет знаение. И даже если знание устареет — принцип останется и пользователь сможет модифицировать свое знание под новую ситуацию.
–1
+1 –2
Denis_Minin ,  
Виноват, все таки это моя первая тема, прошу прощения за плохую тему, я не знал с чего начать, я полностью переделаю тему, исправлю все недочеты, которые вы высказали в комментариях, впредь буду учитывать все эти факторы, спасибо вам