Форум / Инструменты / Псевдостриминг MP4 без использования потоковых серверов (только PHP)
Псевдостриминг MP4 (h.264), имея на сервере только поддержку PHP? Я задался этим вопросом и полез гуглить. Плавно перешел на зарубежные форумы и там подхватил очень интересную идею — засунуть mp4 файл в контейнер FLV, который, как всем известно, приспособлен для стриминга. Вы получите полноценный файл flv с метаданными и со всеми преимуществами кодека h.264 — это высокое качество при относительно малом размере файла.

Итак, что нам нужно:
1) Поддержка PHP сервером
2) решение xmoov ссылка
3) набор библиотек FFmpeg последней ревизии ссылка
4) инжектор метаданных FLVMDI (скачайте обе программы flvmdi и flvmdigui и положите их экзешники в одну папку) ссылка

Итак берем уже кодированный в mp4 файл, который нормально проигрывается в плеере uppod и кладем в папку с FFmpeg (как пользоваться ffmpeg смотрите здесь ссылка ). В bat файле прописываем следующую строку:
ffmpeg -i имя_исходного_файла.mp4 -vcodec copy -acodec copy имя_получившегося_файла.flv

сохраняем, запускаем. У вас получится файл с расширением FLV и с качеством MP4

Затем нужно добавить метаданные. Запускаем программу FLVMDI GUI. В Input FLV file указываем путь до файла который у нас получился, а в Output FLV file — путь и новое название нашего файла с метаданными. В Options не забываем поставить галочку Include ’keyframes’ object. Жмем кнопочку Run FLVMDI и ждем до появления таблички с надписью Completed.

Закачиваем наш файл на сервер и уже стандартно применяем решение xmoov. Инструкция здесь ссылка

Вот и все.
XenWarriorСсылка на пост (Смотрели 20817)14.12.09 19:54     Ответить
Ваше имя*
 E-mail* (не публикуется)
 
 
Если пишете о проблеме, то приложите, пожалуйста, ссылку на свой плеер отсюда — Плеер: Файл > Код > Ссылка
Вставка кода — [code][/code] дублировать ответы на e-mail
1
Александр COOLer 15.12.09 - 05:03
При этом меняется ли размер файла? И если да, то насколько?
2
XenWarrior 15.12.09 - 06:29
при изменении контейнера размер файла в 310 Мб вырос на 2 Мб, а при добавлении метданных на несколько килобайт. Я думаю это все-таки меньше чем размер оригинального FLV, который при аналогичном качестве занимал бы в два, а то и в три раза больше.
3
Александр COOLer 15.12.09 - 14:22
Очень порадовали. Спасибо!
4
scamp 22.12.09 - 21:38
у меня такая проблема — всё делал по инструкции — при псевдостриминге переходит на нужный ключ, но не работает правильно кэш ( полоса загрузки, %ты не шелевлятся) как только псевдостриминг отключаю — сразу и полоса и проценты работают правильно, но перейти к незагруженному контенту невозможно. кто-нить знает как с этим бороться? уж очень понравился h264
5
XenWarrior 23.12.09 - 01:27
покажите пример
6
scamp 23.12.09 - 20:44
ссылка без псевды
ссылка с псевдой
вся разница, что во второй вариант добавлен файл через xmoov и включена опция стриминга в стиле (байт)
7
andrey95 06.01.10 - 19:09
Напишите, пожалуйста, команду FLVMDI, которую можно запустить в bat-файле и она сделает тоже, самое автоматически, заранее прописав названия исходного и конечного файлов, ну и про Include ’keyframes’ object чтобы помнила. :)
8
andrey95 06.01.10 - 19:21
ссылка
Вот это то самое? Там /k как раз значит Include ’keyframes’ object ?
9
XenWarrior 06.01.10 - 20:15
да, именно это
flvmdi имя_файла.flv /k
10
andrey95 07.01.10 - 03:30
Спасибо. Теперь все до одного клика по bat-нику автоматизировал :) Как удобно получается.
11
tramvay 10.03.10 - 00:26
Здесь сказано что нужна поддержка PHP, скажите, а если сайт на ucoz, но есть другой сервер с поддержкой php который я могу использовать, то смогу ли я на юкозе выводить плеер с такой перемоткой или не реально?
12
XenWarrior 10.03.10 - 10:05
я думаю, что будет работать. попробуйте
13
grimmjow 11.03.10 - 23:54
А как можно понизить битрейт выходящего видео?
14
grimmjow 13.03.10 - 03:29
Заметил то,что при использовании данного метода частота кадров вырастает в 2 раза.Чем это можно объяснить и как вернуть исходное значение?
15
sda-narva.info 13.03.10 - 13:37
странно. ничего подобного не наблюдал
16
grimmjow 13.03.10 - 16:44
Дак вот самому стало интересно =) Любое кодируемое видео,и fps вырастает ровно в 2 раза.
17
sda-narva.info 13.03.10 - 16:56
чем вы меряете fps?
18
grimmjow 13.03.10 - 16:59
В видео плеере высвечивает 47 с чем то.Причем во всех которых смотрю.
19
sda-narva.info 13.03.10 - 21:38
странно. GOM плеер показывает 25 и XviD4PSP показывает 25. Можете кинуть оригинальное видео?
20
PoiSonSonic 15.04.10 - 06:55
Может я что не так делаю….было бы логично :)
При запуске плеера, он определяет и время и если нажать на скачать — идет в хроме видео. Но в плеере мертвяк, ни играет ни с начала ни с середины.

ссылка
21
sda-narva.info 16.04.10 - 12:58
видео играет, но прокрута неправильно определяет положение, возможно метаданные корявые ссылка
22
veronica 01.05.10 - 07:00
Есть такой бесплатный чудо конвертор, со скромным названием SUPER ссылка
В нём можно выбрать кодек H.264 для конвертирования в контейнер FLV, кодек для звука правда уже нельзя выбрать MP3… При этом все нужные данные пакуются в контейнер и перемотка работае нормально. У меня в выходном файле в 300 Мб добавляются те же 2 Мб что и у ТС.
Ну а теперь скажу что я думаю об MP4. Кодек H.264 это ЗЛО, забудьте о нём, если у вас откручивается видео с сервера. Если хотите чтоб ваш сервер застрелился — поставте модуль стреминга H.264! Из за дибильной системы пересчета кадров головки дисков вынуждены елозить по диску, даже при небольшом количестве подключений на сервере 100% загрузка дисковой подсистемы!
Во вторых качество видео при одинаковых низких (300–400 Кбит) битрейтак с кодеком H.263 просто не в какое сравнение не идёт! Дикая зернистость картинки, неприличный муар и постоянное скачки на уменьшение цветовой гаммы… К тому же размер выходного файла у кодека H.263 на треть меньше…
Единственно в чём проигрывает Н.263 это в скорости кодирования, по отношению к кодеку H.264, времени на кодирование тратится раза в три больше.
23
sda-narva.info 01.05.10 - 13:57
Что-то у меня другое мнение насчет H.264. Можно два ролика для сравнения?
24
veronica 01.05.10 - 19:10
Уважаемый, sda-narva.info, зачем вам два моих ролика? Гораздо проще закодировать один ролик конвертором SUPER с одинаковыми парметрами по битрейту и раскадировке, но разными кодеками и вы сами всё увидите довольно наглядно.
25
sda-narva.info 02.05.10 - 09:16
Закодировал в mp4 h.264 ролик весом 624 МБ, а вышел весом в 427 МБ. И это с битрейтом 480 кбпс, против 25000 кбпс у оригинала. Может я чего-то не так поставил, но там особо богатых настроек то и нет. В h.263+ у меня вообще отказался кодировать — ошибка DirectShow. Тем более я кодирую только квантованием, и о битрейтах в моих роликах не знаю. Вобщем, не очень хорошие впечатления на первый взгляд. Мне нравится (да и всем) когда поставил конвертер, настроил и он работает без всяких дополнительных плагинов и ошибок.
26
veronica 02.05.10 - 10:07
Не очень поняла о чем ты говоришь…
Вообщем я кодирую конвертором SUPER со следующими параматрами:
Video: Flash Video, размер кадра 320х176 битрейт 336 Кбит, FPS 14,985
Audio: mp3, 48 Кбит, 22050 Герц, моно
Качество выходного файла можно посмотреть на моём сайтике ссылка
27
veronica 02.05.10 - 10:16
Правда далеко не все фильмы я сама кодировала, но вот например этот точно я кодировала ссылка
28
sda-narva.info 02.05.10 - 15:54
Посмотрите пока на эту картинку. Здесь x264 пока рулит. Я еще не кодировал фильм, но сегодня сделаю. Может вы окажетесь правы…
ссылка
размер конечных файлов естественно одинаковый, кроме оригинала
29
sda-narva.info 02.05.10 - 20:46
Скодировал сегодня фильм "На игре 2". Разницы практически не видно, но на динамичных сценах, квадратичная структура начинает заметно просматриваться. На картинке сравнение вашего видео и моего.
ссылка
Единственное, я не знаю какая нагрузка на жесткий диск после этого. И кодируется он достаточно долго. 2 прохода по 40 минут
30
stavka333 13.02.15 - 05:58
31
sda-narva.info 02.05.10 - 22:33
Окончательные тесты показали что фильм "На игре 2" можно сжать в файл размером в 150 МБ и при этом увеличить качество видео и звука в два раза. Но это, естественно, мое сугубо личное мнение.
32
veronica 03.05.10 - 07:23
Какой программой конвертируете и какие параметры конвертации заданы?
33
XenWarrior 03.05.10 - 21:24
конвертирую XviD4PSP 5.0. параметров конвертации очень много, поэтому даю пресеты ссылка В архиве две папки. Из этих папок нужно положить файлы по этому пути C:\Program Files\Winnydows\XviD4PSP5\presets\encoding\MP4 в в папки с аналогичным названием. В самом конверторе в меню-баре являются важными пункты Видео — Разрешение/Аспект и Интерлейс/Частота кадров, Также важна кнопка "Настроить" под меню баром — там настраивается звук. С пресетами можете экспериментировать на свой вкус — может у вас лучше получится, но не забывайте что для корректного проигрывания в плеере uppod параметр B-frames mode в видео пресете, который находится во вкладке B-frames, должен стоять Spatial.
И на последок видео для сравнения ссылка
34
XenWarrior 09.05.10 - 12:09
Ну как x264 лучше? Не сильно нагружает сервер?
35
veronica 09.05.10 - 18:34
Да я и не пробовала :(((
XviD4PSP у меня не работает под Вистой, одни глюки…
А на сервере у меня райд 10 уровня из 4 терабайтных дисков, он flv то не успевает выдавать, приходится кешировать весь вывод в RAM ( к серверу подключен выделенный гигабитный канал), а если я ещё поставлю модуль стреминга под H264 это окончательно прибьёт дисковую систему. При стреминге начнуть елозить все головки на всех дисках одновременно!
Хотя можно попробовать поставить два отдельных SATA диска, зазеркалировать их и уже с них откручивать mp4, чтоб не дергать весь райд массив.
36
XenWarrior 09.05.10 - 18:59
Пробуйте=) Под семеркой ультимейт это прожка хорошо бегает.
37
abasive 02.10.10 - 13:48
Не поделитесь с кодом uppod?
38
ilyash2 27.09.12 - 15:01
Перешел по ссылке на ваш сайт. Очень интересно стало, на каком хостинге, тарифе у вас сайт или видео. Какая нагрузка.
39
darksun 10.06.10 - 08:41
Перекодировали весь материал в h.264 — теперь плеер виснет периодически при переключении на новый файл из плейлиста ((
Раньше такого не наблюдалось..
40
sda-narva.info 10.06.10 - 15:28
пример?
41
floydback 12.12.10 - 23:31
А как сделать перемотку с файлами mp4 ? (проигрывание с определенного байта или секунда)
Это возможно? Или только с flv так можно
42
sda-narva.info 13.12.10 - 00:06
если имеете доступ софту сервера, то можете установить модуль для Апача — H264 Streaming Module for Apache ссылка

после этого выставите в редакторе стилей, в настройках стриминга плеера, он должен оправлять секунды
43
floydback 13.12.10 - 17:04
Т.е. никаких дополнительных метаданных вписывать не придется? Для flv для этих целей мы использовали yamdi, сейчас этого не нужно?
44
Alexunder60 26.03.11 - 11:07
Здравствуйте!! у меня проблема: сделал все как описано выше, но плеер пишет, что файл не найден (ссылка написана верно), хотя с дропбокса все нормально работает. Это в хостинге дело? пример
ссылка
ссылка
45
sda-narva.info 26.03.11 - 22:51
дропбокс не поддерживает PHP
46
Alexunder60 31.03.11 - 14:54
и из-за этого нормально воспроизводит видео?
47
sda-narva.info 31.03.11 - 17:08
я не совсем понял, какая ссылка к чему относится… у вас в примере 2 ссылки, по одной проигрывается видео, по другой — нет
48
CraZyFroGHuman 30.01.13 - 04:24
ничего не понял,как сделать перемотку…
49
XenWarrior 31.01.13 - 11:37
Все очень доступно написано. Ссылки рабочие. Все остальные люди разобрались. Если вы не можете, попросите того кто может, в ином случае ничем помочь не могу.
50
CraZyFroGHuman 31.01.13 - 17:34
На хостинге это не работает???
51
sda-narva.info 03.02.13 - 11:42
Если у вас на хостинге есть поддержка PHP, то будет работать.
52
CraZyFroGHuman 03.02.13 - 13:06
поддерживает конечно!Это же не юкоз..так значит нужно иметь "PRO" для того что бы использовать Xmoov?Или я не правильно понял..
53
sda-narva.info 03.02.13 - 15:25
да, нужен ПРО
54
CraZyFroGHuman 03.02.13 - 15:30
Не проблема взять Про,ради этого..проблема это то что если я нет гарантии что это будет работать..
55
sda-narva.info 03.02.13 - 15:32
я бы не писал эту инструкцию, если бы это не работало
56
CraZyFroGHuman 03.02.13 - 15:36
ну если работает,то что если я не смогу настроить?Поможет кто?
57
sda-narva.info 03.02.13 - 15:39
что у вас конкретно не работает? Ведь у вас даже нет PRO, чтоб проверить работает или нет.
58
CraZyFroGHuman 03.02.13 - 15:43
ок,значит беру ПРО.
59
CraZyFroGHuman 03.02.13 - 13:09
помогите Кто-нибудь..пожалуйста,с этим,я уже 2 недели ничего сделать не могу,весь интернет перерыл…
60
nomed 10.04.13 - 07:56
подскажите пожалуйста прогу для для добавления метаданных которая может работать с кучей файлов сразу, а то flvmdi ,больше 40 за раз обработать не может и просто зависает
61
sda-narva.info 10.04.13 - 19:32
62
nomed 11.04.13 - 21:09
они конечно работают, но через cmd). подскажите пожалуйста как быть с файлами которые в имени имеют пробелы? flvmdi через gui может их обрабатывать, а как сделать тоже самое через cmd?
63
sda-narva.info 11.04.13 - 21:42
https://www.google.com/search?q=%D0%BF%D1%80%D0%BE%D0%B1%D0%B5%D0%BB+%D0%B2+%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8+%D1%84%D0%B0%D0%B9%D0%BB%D0%B0+%D0%B2+cmd&aq=f&oq=%D0%BF%D1%80%D0%BE%D0%B1%D0%B5%D0%BB+%D0%B2+%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8+%D1%84%D0%B0%D0%B9%D0%BB%D0%B0+%D0%B2+cmd&aqs=chrome.0.57j0.15038j0&sourceid=chrome&ie=UTF-8
64
nomed 11.04.13 - 22:00
ОГРОМНОЕ СПАСИБО! нарисовал свой GUI теперь осталось дождаться завершения преобразования 16 000 файлов )
Сообщить об ошибке на сайте
 Uppod © 2008–2017       Контактная информация   /  Соглашение  /  Twitter  /  Facebook
Сообщить об ошибке на сайте
Если ошибка относится к плееру, а не сайту, либо Вы хотите получить ответ на вопрос —
лучше написать на форуме