Рассказ о том как я создавал онлайн кинотеатр

В этой статье я хочу рассказать свою историю создания онлайн кинотеатра, и все подводные камни с которыми я сталкивался в процессе.

В закладки
Аудио

О себе

Меня зовут Евгений, я студент из Киева, программист-самоучка. В 2018 году я загорелся идеей создать свой собственный онлайн кинотеатр, у меня не было опыта написания и продвижения полноценных сайтов, можно сказать я начинал с нуля.

Как я получал бесплатную базу с фильмами?

Первым делом я задался вопросом где взять базу фильмов, в идее было создать бесплатный онлайн кинотеатр, значит и база с фильмами должна была быть бесплатная. Первое что пришло в голову посмотреть «а как у остальных?», я начал вбивать в гугл «онлайн кинотеатр» и пропуская платные сайты по типу megogo или ivi начал находить сайты в которых я видел более-менее одинаковый видеоплеер для просмотра и я решил посмотреть откуда же они черпают контент.

Спустя недолгие поиски я наткнулся на то, что все они черпают контент с moonwalk.cc. Но как только я перешел по moonwalk.cc я получил заглушку «Contact us at: support@moonwalk.cc» и я начал гуглить что-же это?

Спустя некоторое время я нашел упоминание об http://docs.moonwalk.cc/. Это была документация по тому самому видеоплееру, REST API, а так же документация по настройке модуля для сайтов использующих движок DLE.

Именно то — что нужно, подумал я и начал изучать условия сотрудничества, как получить возможность использовать их видеоплеер и доступ к API. К счастью сервис оказался бесплатным, единственное условие это их реклама в начале каждого видео в плеере.

Получение доступа к базе с фильмами

Для получения доступа к базе от moonwalk.cc необходимо им прислать готовый (или в процессе разработки) сайт на почту hdlight@cryptoheaven.com

Так как у меня еще не было даже главной страницы сайта, я быстро её сделал, купил сервер, оплатил домен и отправил им на почту ссылку на свой сайт.

Через 10 дней мне пришел ответ

Поздравляем, Ваш сайт одобрен!

Для продолжения регистрации перейдите по ссылке http://moonwalk.cc/ссылка_скрыта (ссылка предназначена только Вам!).

Прикрепляете свои домены в разделе "Домены" Личного кабинета, чтобы получить полный доступ ко всем функциям. При сложностях с подтверждением - пишите сюда!

Для входа в Личный кабинет после регистрации используйте ссылку http://ссылка_скрыта

ВАЖНО: При включенных блокировщиках рекламы Личный кабинет может работать с ошибками - отключите их!

Все дальнейшие вопросы следует задавать в Личном кабинете (иконка в правом нижнем углу)

Прежде чем задать вопрос ознакомьтесь с документацией на http://docs.moonwalk.cc/ API ключ(токен) можно найти в разделе "Настройки".

Успехов!

Наконец-то я мог зайти в свой личный кабинет, где получил доступ к настройке плеера, списку материалов и статистики

Создание сайта

И вот, когда главная проблема была решена, я начал думать о том каким будет мой будущий сайт. Первым делом я подумал взять тот же движок DLE, скачать уже готовый шаблон (благо таких куча) и повесить модуль от moonwalk, но я задумался «чем мой сайт будет отличатся от других?» и решил полностью написать сайт с нуля.

Для себя я выделил несколько основных особенностей сайта

  • Легкость сайта
  • Приятный дизайн
  • Полностью резиновый дизайн, для адаптации под каждое устройство

Так как денег на высокопроизводительный сервер у меня не было, начал делать backend на JavaScript, и только один PHP скрипт который был бы неким API.

За основу взял bootstrap, идею для дизайна подсмотрел у megogo. Для большей производительности на сервере поставил связку Nginx + Apache, где Nginx отвечал за весь сайт, а Apache только за API сайта. API сайта работает с MySQL при этом кэшируя ответы с помощью Memcache.

Так же сайт берет информацию о рецензиях и т.д. с сайта Кинопоиск, пришлось писать отдельный парсер для этого.

Авторизацию и регистрацию решил делать через firebase, т.к. не хотел подвергать нагрузки базу данных MySQL на слабом сервере

Сайт не обновляется автоматически, приходится запускать самописный скрипт раз в день из под Windows который в течение 3х часов загружает по 30 000 файлов и вручную загружать их на сайт.

Результат

Спустя около 1 месяца сайт был готов, адаптивный дизайн, скорость загрузки страницы не более 1 секунды, под экраны 2К повышенное качество обложек и т.д.

Скриншот PageSpeed Insights

Продвижение

И вот когда сайт был готов, встал вопрос о продвижении, т.к. опыта у меня не было, а на руках было 100$ я решил заказать продвижение на месяц в сервисе по закупке ссылок, что дало не большой результат (до 2000 посетителей в день), но по истечению месяца деньги закончились, продвижение остановилось.

Продвижение в rookee.ru

Итоги

Сейчас, спустя 1 год, активность сайта не более 1000 пользователей в сутки, эта статистика не меняется уже в течение полугода, на момент написания статьи, а точнее за день до этого (08.04.2019) на сайт был добавлен 1 рекламный блок, который приносит прибыль в 15-20 рублей за 1000 просмотров (не считая обязательного ролика в видеоплеере от moonwalk который не приносит мне никакой прибыли). Сайт живет чисто на энтузиазме. Кому интересно глянуть на сайт — https://kino-baza.net. Буду рад Вашим комментариям и возможно каким-либо советам в этом деле

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Евгений Бреус", "author_type": "self", "tags": [], "comments": 40, "likes": 25, "favorites": 43, "is_advertisement": false, "subsite_label": "tribuna", "id": 63984, "is_wide": false, "is_ugc": true, "date": "Tue, 09 Apr 2019 15:48:38 +0300", "is_special": false }
0
{ "id": 63984, "author_id": 281038, "diff_limit": 1000, "urls": {"diff":"\/comments\/63984\/get","add":"\/comments\/63984\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/63984"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199116, "last_count_and_date": null }
40 комментариев
Популярные
По порядку
Написать комментарий...
8

Очень визуально легкий и приятный сайт, в отличие от большинства вырви глаз пестрящих подобных сайтов.

Ответить
3

ну так на энтузиазме же, а пестрящие сайты зарабатывать хотят)

Ответить
2

Давайте будем честными:
Рассказ о том как я создавал очередную обертку для апи/плеера moonwalk

Ничего общего с созданием собственного онлайн-кинотеатра это не имеет.
(про полную незаконность этого контента и всего этого можно даже не упоминать)

те кто в теме пачками делает это, причем в промышленным масштабах и ровно по такой же схеме: спарсили кинопоиск(возможно немного уникализировали текста), поставили moonwalk, добавили рекламы, собираем сео траф(не нужно никакое продвижение даже, вы с 99% вероятностью выбросили деньги в помойку закупив ссылок, тем более от балды без опыта).
И уже есть готовые движки под это, лого/вёрстку/домен меняют только.

Сайт не обновляется автоматически, приходится запускать самописный скрипт раз в день из под Windows который в течение 3х часов загружает по 30 000 видео файлов и вручную загружать их на сайт.

какие видеофайлы вы там загружаете и куда? Все лежит на moonwalk серверах, даже трейлеры.

Ответить
1

Как некий пет-проект который показывает скилл работы с апи/вёрсткой/еще что может быть даже годно. И должно лежать на гитхабе где-нибудь
Но выкидывать это в паблик непонятно зачем. Тем более что это реально паразитирование на чужом, таких сайтов тысячи в выдаче. И полностью пиратская направленность у сайта.

Ответить
0

"Ничего общего с созданием собственного онлайн-кинотеатра это не имеет."
Т.е. по Вашему написание сайта с нуля, настройка серверной части и т.д. не является созданием собственного сайта?
Если бы я сделал как Вы сказали на готовых движках и т.д. тогда да.
По поводу "30 000 видео файлов", опечатался, 30 000 файлов, файлы - страницы в формате .html

Ответить
0

разработка онлайн кинотеатра это в первую очередь свои сервера с видео, загрузка, обработка видео, кодирование в разные размеры и конечно же стриминг этих видео пользователям.
Это основа онлайн просмотра, и самая затратная/cложная часть.

Спарсить кинопоиск и поставить плеер это работа на один вечер. Ну дизайн накидать одной страницы еще пускай вечер.

Ответить
0

Для нас с Вами это так, но мы же сейчас не на habr.com общаемся чтобы выяснять что есть онлайн кинотеатр, а что нет. Для рядового пользователя который заходит на сайт не имеет значения где хранятся видео, на своих серверах, или на чужих, все что он видит перед собой - онлайн кинотеатр.

Ответить
3

Речь про подмену понятий.
Вы проделали работу на уровне создания блога, а рядовой пользователь думает что вы хакерман и сделать онлайн кинотеатр можно на коленке.
Только между накодить блог(даже не поставить вордпресс, а именно написать с нуля) и накодить онлайн кинотеатр огромная пропасть в объёме работы и вообще всём.

К тому же как я написал выше некоторые занимаются профессионально такими сайтами, так же как арбитражем трафика или созданием доров.
И есть уже готовые скрипты которые как раз умеют всё тоже что и у вас, только больше и гибче скорее всего. А установить их может любой пользователь.

Может вы оттуда и взяли эту идею, а может сами придумали. В любом случае работы гораздо скромнее чем вам кажется, и не стоит выноса в паблик в принципе.
Лучше добавьте рекламы и получайте рублей по 100 в день хотя бы по тихому.

Ответить
1

Спасибо за статью. Иногда задумывался как собирается контент для кинотеатра, а Вы вот просветили )))

Ответить
1

На bhw (blackhatworld) дневники есть людей кто онлайн кинотеатр ведёт под бурж, почитайте, возможно что-то найдёте для себя полезное

Ответить
0

К сожалению не удалось найти ничего

Ответить
1

Сайт и в правду классный!
Решишь проблему с фильмами, которые новые и востребованы и будет больше ЦА. Ты решил - ты реализовал. Молодец в любом случаи, а при желании можно вывести на полностью легальную площадку! Успехов и удачи!

Ответить
1

Попробуй лучше видео балансер videocdn.tv

Ответить
0

Это все нелегально. Как и мунволк.

Хорошо в Киеве жить, гайки не завернуты. Правда, на этом плюсы и заканчиваются, ну да ладно.

На территории рф невозможно левое iptv, зато с ua столько сервисов, ппц просто. Тот же самый диван пару лет назад был полностью нелегальным, например.

Ответить
0

Тот же PageSpeed ругается, что используете jpg, а не png. И вправду, почему?

Ответить
2

PageSpeed ругается на время хранения кеша, т.к. оно выставлено всего лишь на 7 дней (в версии для ПК).
Jpg т.к. использую сжатие изображений для экономии трафика, вот рекомендации из того же PageSpeed (Для изображений в форматах JPEG 2000, JPEG XR и WebP используется более эффективное сжатие, поэтому они загружаются быстрее и потребляют меньше трафика, чем изображения PNG и JPEG).
В мобильной версии для экранов 2К используются изображения без сжатия.

Ответить
0

PageSpeed пишет другое

Ответить
0

Интересно, как реализован парсер с кинопоиска и скрипт по загрузке.
По автоматизации загрузки файлов и вообще всего - посмотрите zennoposter, очень удобный инструмент.
Были ли вопросы от правообладателей фильмов?

Ответить
0

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

Ответить
0

Верстка поехала

Ответить
0

Исправлю. Спасибо.

Ответить
0

сайт мертв :)

Ответить
0

Да, пока что проект заморожен :)

Ответить
0

Посмотрел ваш сайт включил один из последних фильмов (какой-то там рубеж :) )и что я вижу!
Контент недоступен в вашем регионе.
Приносим извинения за неудобства.
Sorry, video was deleted. Error [905]

Ну и за чем мне сюда возвращаться если вы не показываете фильмы которые надо :)
Всем интересны и ищут новые фильмы, а не старье.

Ответить
0

К сожалению я и сервис moonwalk.cc должны удалять материал по требованиям правообладателей, или блокировать его в определенных регионах/странах

Ответить
0

А зачем вообще все эти сайты-кинотеатры, когда вот уже несколько лет существует эта программа?
Ставишь её на свой медиабокс / телефон / компьютер (включая MacOS) и навсегда забываешь про сайты, скачивания и торренты как класс.

Ответить
0

Как называется

Ответить
0

Поддерживаю! Приятный и удобный сайт. Только не начинай жадничать и не захламляй его рекламой... Успехов!

Ответить
0

Статья лет на 5 колонии и штрафов на охуилиард долларов.

Респект за смелость!

Ответить
0

Жестко. Менее тысячи спустя год. Ну с таким то сео оно не удивительно. С таким же сайтом можно более 4 тысяч менее чем за месяц добиться.

Ответить
0

Привет! Как с тобой можно связаться? Хочу переговорить по работе и сотрудничеству.

Ответить
0

Привет :)
Telegram: @forumrulez
E-Mail: forumrulez@gmail.com

Ответить
0

Здравствуйте, я что то не понял, а зачем все это, если можно просто брать с уже подобных сайтов исходный код плеера с фильмом и вставлять себе на сайт, ну только описание к фильмам уникальное писать, вот мой сайт только начал создавать онлайн кинотеатр https://timemovies.ru/ не спам, просто хотел показать как у меня сделано.

Ответить
0

И кстати что будет за такой кинотеатр?

Ответить
0

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

Ответить
0

Шикарный сайт)без всяких шуток,очень приятный шаблон,я вот прямо сейчас заливаю DLE на хост,тоже хочу попробовать,не поделишься кстати какой у тебя плеер??))

Ответить
0

А плееры я копирую из исходного кода тех сайтов с которых беру фильмы

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }