Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
CJs
»
Тема:
Универсальный видео формат
Новая тема
Ответить
цитата
29/12/15 в 10:56
Securom
Тьюб.600 ТБ за месяц раздаю согласно системе подсчета трафика у моего хостера
цитата
07/01/16 в 05:42
sweetypie
MilkSucker писал:
Да, надо настраивать на сервере отдачу файлов с "промоткой", иначе все-равно чтобы мотать придется выкачать сначала весь файл в кэш.
Админ тебе нужен грамотный, в общем
И доступ на сервер человеческий (root) чтобы выдать админу.
MilkSucker, после долгого кoлдования они наконец сделали так, что -movflags faststart работает, но, похоже, что файлы рендеренные с этой командой, продолжают играть с новой точки медленнее, чем файлы рендеренные без -movflags faststart.
Без -movflags faststart примерно 10 секунд, с -movflags faststart примерно 15 секунд до продолжения просмотра с новой точки.
Но, даже и 10 секунд это слишком долго, тюбы делают это гораздо быстрее.
Подскажите, пожалуйста, как бы добиться быстрого продолжения воспроизведения при смене точки на плеере.
Например, как именно "настраивать" на сервере отдачу файлов с "промоткой"?
цитата
10/01/16 в 07:18
sweetypie
Переход на новый видео формат мне нужен для того, чтобы видео файлы читались стационарными и мобильными устройствами.
Для стационарных устройств контент принято давать в 1080р, а, для мобильных устройств такая резолюция трудна для воспроизведения: или их воспроизведение "застревает", или, просто, пишется, что воспроизведение невозможно.
Значит ли ето, что нужно иметь 2 версии: с высокой, для компютеров, и низкой, для телефонов, и какую то утилиту, которая будет распознавать куда что посылать, или нужно выкладывать 2 варианта с двумя линками?
Но, многие телефоны имеют резолюцию 1080р, каим нужно посылать 1080р версию, или, из за мобильного интернета, всё таки, мобильную, для более стабильного воспроизведения?
И, в каком формате выкладывать?
Просто, mp4 файлы, или flash compatible файлы через flash плеер?
И, есть автоматическое "распознавание" связи с устройством, и высылка именно такого бэндвита какой может воспроизвестись. Или это можно только в Flash плеере?
цитата
10/01/16 в 13:11
S_Flash
sweetypie писал:
Для стационарных устройств контент принято давать в 1080р
Если речь о стриминге, то только в некоторых регионах РФ и Украины твой контент смогут хоть как-то посмотреть без особых тормозов!
sweetypie писал:
Значит ли ето, что нужно иметь 2 версии: с высокой, для компютеров, и низкой, для телефонов, и какую то утилиту, которая будет распознавать куда что посылать, или нужно выкладывать 2 варианта с двумя линками?
Нужно иметь хотябы 3 версии: HiRez для фанов, средняя для обычных и адекватых людей и мобильная.
На странице можно распознать устройство по Useragent-у браузера и показать "правильный" плеер или линк.
sweetypie писал:
Просто, mp4 файлы, или flash compatible файлы через flash плеер?
В голове каша. mp4 файлы не гарантируют того, что внутри именно mpeg или h.264. flash compatible - это не файл, а как раз кодек h.264. flash плеер уже умирает, на него не стоит ориентироваться.
sweetypie писал:
И, есть автоматическое "распознавание" связи с устройством, и высылка именно такого бэндвита какой может воспроизвестись. Или это можно только в Flash плеере?
Распознать устройство можно JavaScrip-ом. С бендвич сложнее. Тут можно попробовать замерить. Опять же если речь именно о псевдо стриминге.
Есть готовые проприетарные плееры (например, jwplayer.com) которые пытались это сделать. Не уврен, что у них получилось. Пока они умеют правильно переключать flash и non-flash версии. С буферизацией всё та же какашка.
цитата
12/01/16 в 03:36
sweetypie
Цитата:
Если речь о стриминге, то только в некоторых регионах РФ и Украины твой контент смогут хоть как-то посмотреть без особых тормозов!
В основном, расчитано на Америку, там скорости интернета в 3 раза ниже (а, цены в 10 раз выше ;) ), чем в Москве, но, Московских тестов пока достаточно.
Цитата:
Нужно иметь хотябы 3 версии: HiRez для фанов, средняя для обычных и адекватых людей и мобильная.
На странице можно распознать устройство по Useragent-у браузера и показать "правильный" плеер или линк.
Один из телефонов, которыми я тестирую, играет 1080 mp4 без проблем (резолюция его экрана меньше 1080), остальные зависают, или пишут, что не могут воспроизвести. Даже, один и тот же 420 файл они играют не всегда. От чего это зависит? То есть, нужна не просто, распознаваемая мобильная версия, а, каие то другие критерии, которые даже для телефона могут подходить, если он, по каким то причинам, играет 1080. Какие, на самом деле, влияют критерии?
Цитата:
В голове каша. mp4 файлы не гарантируют того, что внутри именно mpeg или h.264. flash compatible - это не файл, а как раз кодек h.264. flash плеер уже умирает, на него не стоит ориентироваться.
Эта часть самая интересная.
Для плеера я имел в виду форматы swf и flv, в 2000 году я только их использовал для flash, но, вижу, что сейчас поддерживается и mp4, это хорошая новость.
Но, тогда вопрос: чем отличается воспроизведение mp4 напрямую, и через плеер?
Всё уходит в мобильный траффик: в основном планшеты и телефоны. Если раньше можно было загрузить и смотреть, то, теперь нужен стриминг, настоящий или псевдо.
1tv, cnn, , взрослые тюбы используют плеeры. Если нет в дивайсе flash, то, просят установить. и у них старт и навигация происходят быстро.
Если для рендеринья я использую Ffmpeg на моём сервере, и libx264 как кодек, это даст h.264 тип формата?
Цитата:
Распознать устройство можно JavaScrip-ом. С бендвич сложнее. Тут можно попробовать замерить. Опять же если речь именно о псевдо стриминге.
Есть готовые проприетарные плееры (например, jwplayer.com) которые пытались это сделать. Не уврен, что у них получилось. Пока они умеют правильно переключать flash и non-flash версии. С буферизацией всё та же какашка.
Хвидеос требует flash player, но, на мобильной версии играет и без него. это пример такого переключения?
Лет 5 назад, чтобы просматривать трейлер на одном из моих сайтов, я установил целый тюб в одну из директорий и вывел плеер на фронтальную страницу, и всё это ради того, чтобы не использовать jwplayer , и избежать его вотермарка ))
Лет 8 назад я установил FMS (тогда ещё версия 4), но, не разобрался в нём до конца, а, главное, подумал, что опережаю время, потому, что тогда все платники только работали на даунлоадах. Тогда у меня идея была спрятать FMS за мемберский логин. Может, нужно опять подумать об этом?
Не знаю в чём разница между псевдо стримингом и настоящим, но, может, настоящий даёт такое быстрое соединение и навигацию?
И что такое настоящий стриминг, это который через плеер? Или через FMS?
цитата
13/01/16 в 15:49
S_Flash
sweetypie писал:
В основном, расчитано на Америку, там скорости интернета в 3 раза ниже (а, цены в 10 раз выше ;) ), чем в Москве, но, Московских тестов пока достаточно.
В штатах стримить 1080p бесполезною. Там массово нет таких абонентов.
sweetypie писал:
Один из телефонов, которыми я тестирую, играет 1080 mp4 без проблем (резолюция его экрана меньше 1080), остальные зависают, или пишут, что не могут воспроизвести. Даже, один и тот же 420 файл они играют не всегда. От чего это зависит? То есть, нужна не просто, распознаваемая мобильная версия, а, каие то другие критерии, которые даже для телефона могут подходить, если он, по каким то причинам, играет 1080. Какие, на самом деле, влияют критерии?
Именно так. У каждого "телефона" свои ограничения на разворачивание h.264. В самом простом варианте веерсии кодека разделили на профили:
- Baseline Profile (Базовый профиль)
- Main Profile (Основной профиль)
- High Profile (Высокий профиль)
Так же эти профили имеют ещё промежуточные градации. Это некие стандарты или пресеты констант энкодинга при создании mp4 файла с кодеком h.264.
Большинство устройств имеет в своих спецификациях ограничение на максимально проигрываемый профиль. Например, iPhone 3g мог проигрывать только Baseline Profile, который, если мне не изменяет память, имел множество ограничений на битрейт и разрешение кадра. В элементароном виде поддерживал только
Chroma formats
,
Sample depths
и, главное, не поддерживал
B кадры
,
CABAC
,
Interlace
, что активно считается фишками этого кодека и часто становится проблепой перескока в Main и High профиль, который уже поддерживается более современными устройствами.
Более подробная, но не полная таблица возможностей профилей тут
https://ru.wikipedia.org/wiki/H.264#.D0.9F.D1.80.D0.BE.D1.84.D0.B8.D0.BB.D0.B8
sweetypie писал:
Для плеера я имел в виду форматы swf и flv, в 2000 году я только их использовал для flash, но, вижу, что сейчас поддерживается и mp4, это хорошая новость.
расширение файла не важно. Внутри mp4 может быть тот же кодэк, что и внутри flv. Отсюда множество ошибок.
sweetypie писал:
Хвидеос требует flash player, но, на мобильной версии играет и без него. это пример такого переключения?
да
sweetypie писал:
Не знаю в чём разница между псевдо стримингом и настоящим
Псевдостриминг - это когда ты кладёшь на свой сервер файл в кодеке, поддерживающем воспроизведение при частичной загнрузке. Например h.264. И на сервере настраиваешь отдавать этот файл с позиции определённой в параметре, напрример start. Т.е.
http://mysite.com/myfile.mp4?start=0
- воспроизведёт\загрузит файл сначала, а
http://mysite.com/myfile.mp4?start=100
начнёт загружать файл с 100 байта или 100 милисекунды. Это уже как настроишь свой сервер. По такому принципу работают 99.9% тубов в интернете.
Все остальные варианты, как RTMP, DASH, HLS стриминги я отношу к "не псевдо". Они поддерживают разного рода адаптации под скорость соединения и ещё какие-то плюшки и геморои!
sweetypie писал:
И что такое настоящий стриминг, это который через плеер? Или через FMS?
Что подразумевается под словоами "через плеер". Любому видео для отображения нужен плеер или точнее декодер + GUI c кнопочкой плей. В браузерах встроен свой плеер с минималистичным интерфейсом. На JS его можно разухабить до неких подобий jwplayer, flowplayer или youtubeplayer.
цитата
14/01/16 в 12:39
sweetypie
S_Flash, большое спасибо за Ваш ответ, я, наконец то, что то начал понимать ))
Я перерендериваю оригинальные wmv файлы в mp4 с помощью Ffmpeg, и, к примеру, когда использую -profile:v baseline, из файла в 55Mb получаю mp4 размером 73Mb, но, когда использую -profile:v main, получается 60Mb (меньше, чем baseline), а, с "-profile:v high" получается 62Mb (меньше, чем baseline), то есть, не логично чем выше профайл, тем больше файл, а, как то, не предсказуемо. Не понимаю почему.
На чём основаны профили, на битности и разрешении? И, чем выше профиль, тем битность и разрешение выше?
Если для трасиции к mp4 через Ffmpeg я использую -vcodec libx264, это даст на выходе h.264?
Важный вопрос: при псевдо стриминге файл грузится в память устройства, значит, после просмотра нескольких клипов память небольшого устройства (телефона) будет заполнена, и, у него не будет места загружать новые видео?
Тестдрайвы проведённые с пробным mp4 файлом дают непостоянные результаты: от 3 до 60 секунд для старта или продолжения с новой точки, и, иногда "зависают" на какое то время, хотя, всё подключено к быстрому домашнему wifi, и грузится с того же сервера.
При трансфере в mp4, желательно использовать -movflags faststart для убыстрения старта воспроизведения, или, наоборот, перемещение флагов будет замедлять воспроизведение с середины?
Примеры с "http://mysite.com/myfile.mp4?start=0" и "http://mysite.com/myfile.mp4?start=100" это какая то wildcard "?start=100", которая цепляется сервером к каждому файлу? И, как это настроить?
цитата
14/01/16 в 13:39
S_Flash
Главное и ошибочное мнение, что в конвертации таких кодеков как h.264 используется штук пять параметров в настройках. Типа битрейт, разрешение и частота кадров. Это не так. Их там несколько десятков. Но как правило конвертеры используют те, что не указываешь, как параметры по умолчанию. Осюда модно получить десятки и сотни комбинаций на выходе, а народу кажется, что "типа есть те mp4 которые тута работают, а тута не работают"!
sweetypie писал:
Я перерендериваю оригинальные wmv файлы в mp4 с помощью Ffmpeg, и, к примеру, когда использую -profile:v baseline, из файла в 55Mb получаю mp4 размером 73Mb, но, когда использую -profile:v main, получается 60Mb (меньше, чем baseline), а, с "-profile:v high" получается 62Mb (меньше, чем baseline), то есть, не логично чем выше профайл, тем больше файл, а, как то, не предсказуемо. Не понимаю почему.
Обычно, чем выше профиль - тем меньше файл при лучшем качестве. В этом то и вся фишка, что современные высшие\профили поддерживают алгоритмы, которые потребляют больше процессорных мощностей и за счёт этого дают лучший результат. В этом и обратная сторона медали, маломощные устройста к коим ещё относятся большая часть мобильных, не могут "разворачивать" подобные высокие алгоритмы с нужным fps. Ты уже сам изучай распространённость устройств и их спецификации по поддержке профиля кодека, чтоб охввтить нужную аудиторию. Завысишь профиль и охватиш только быстрые и мощные устройства, следовательно меньшую аудиторию. Профиль сам по себе не имеет смысла, просто определённым наборам параметров конвертации присвоили названия в виде профилей.
sweetypie писал:
На чём основаны профили, на битности и разрешении? И, чем выше профиль, тем битность и разрешение выше?
Та линка, что я давал на wikipedia как раз показывает в таблице, чем отличаются основные профили. Например
B slice
или
B-frames
и
CABAC
. Просто набери в поисковике эти ключевики и увидиш инфу. И таких параметров у данного кодека с несколько десятков. Их можно вводит непосредственно в строку конвертации ffmpeg\x264 или использовать в пресетах. Рекомендую юзать пресеты профилей с теми же названиями : base, main, high ..
sweetypie писал:
Если для трасиции к mp4 через Ffmpeg я использую -vcodec libx264, это даст на выходе h.264?
да, если данный энкодер был установлен при сетапе ffmpeg. Бывает, что ffmpeg идёт без этого кодека. Чтоб узнать кодеры и энкодеры, которые поддерживает ваша сборка надо набрать ffmpeg -codecs или
ffmpeg -decoders -информация по возможным декодерам
ffmpeg -encoders -информация по возможным энкодерам
sweetypie писал:
Важный вопрос: при псевдо стриминге файл грузится в память устройства, значит, после просмотра нескольких клипов память небольшого устройства (телефона) будет заполнена, и, у него не будет места загружать новые видео?
Это зависит от реализации ОС устройства и не должно тебя волновать.
sweetypie писал:
Примеры с "http://mysite.com/myfile.mp4?start=0" и "http://mysite.com/myfile.mp4?start=100" это какая то wildcard "?start=100", которая цепляется сервером к каждому файлу? И, как это настроить?
Это настраивает админ apache или nginx. Если перемотка рабоатет, без полной прогрузки ролика, то это уже настроено, просто это не каждый может увидеть!
цитата
14/01/16 в 22:12
sweetypie
S_Flash, спасибо.
Один из телефонов Android 4.1.1 не играет большинство из моих новых mp4 файлов, но, играет все Хвидеос. Те файлы, которые читаются всеми остальными дивайсами, начинаются с задержкой, и играют с середины с задержкой. Как Хвидеос устроены, что читаются всеми и быстро?
цитата
14/01/16 в 23:14
Sterx
cdn рулит вероятно
цитата
15/01/16 в 02:52
sweetypie
Sterx, что такое cdn?
цитата
15/01/16 в 08:24
Securom
CDN - Content Delivery Network
цитата
15/01/16 в 09:21
sweetypie
Вы счетаете, что Хвидеос, Ххамстер, и т.д. используют cdn?
цитата
17/01/16 в 10:55
sweetypie
Хамстер медленный в Америке, и медленный в России (может, потому, что его давят), но, меня бы такая скорость, пока, устроила.
Это точно, что cdn необходим любому тюбу, или, можно что то сделать, и без него обойтись, и иметь приличные скорости?
Сейчас мои видео в mp4 перематываются, но, старт и перемотка занимают больше времени, чем у тыбов, может, надо установить какой то стриминг модуль для h264, чтобы всё убыстрилось, или скорости от этого не прибавится?
цитата
17/01/16 в 11:31
Securom
Скорости не прибавится,вы забываете о том что в серваках для cdn используются ssd винты и плюс кеширование самых просматриваемых файлов,поэтому и перемотка такая быстрая
цитата
18/01/16 в 09:50
sweetypie
Мои видео разложены на сервере в папки по 8: по 4 HD, и по 4 SD. Я решил не менять их параметры, а, просто, перерендерить в mp4 с libx264 кодеком, такими, как есть.
Чтобы не делать по одному видео, тех саппорт сервера написал мне строчку, которую я ввожу после входа в соответствующий фолдер с помощью Патти:
for f in *.wmv; do nice ffmpeg -i "$f" -acodec libmp3lame -vcodec libx264 -profile:v baseline -threads 1 "${f%.wmv}.mp4"; done
и, всё, как бы, работает, файлы рендерятся, но, новые видео получаются с самым разным битрейтом: HD от 3000 до 7000, SD от 1000 до 2000, с самыми неожиданными цифрами, между этими значениями.
Почему так происходит? Оставить ли как есть, или перерендерить с фиксированными битрейтами?
цитата
18/01/16 в 11:41
Sterx
почитайте про VBR и CBR - вопросов по битрейту не будет
цитата
20/01/16 в 18:51
sweetypie
Как в Ffmpeg указать фиксированный битрейт?
цитата
26/01/16 в 13:36
sweetypie
Когда я использую "-b", рендерится странное видео с какими то "тенями" вместо людей.
Как можно изменить битрейт в ffmpeg, так, чтобы видео осталось тем же, только с меньшим битрейтом?
Команду "-b" я поставил сразу после кодека libx264, важен ли порядок команд в линии?
цитата
26/01/16 в 14:01
Sterx
exec(__FFMPEG_PATH . " -i " . $this->sourceMoviePath . " -acodec libfaac -vcodec libx264 -b " . $this->codecOptions->bitrate . "k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -me_method umh -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt " . $this->codecOptions->bitrate . "k -maxrate 10M -bufsize 10M -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 " . $cut . " " . $crop . " " . $scale . " " . $this->destinationMoviePath, $output, $return_var);
размерность битрейта не перепутал?
порядок ключей(команд) не важен
цитата
26/01/16 в 15:51
sweetypie
Сделал -b 1000, думая, что это будет тотал битрейт, и, примерно, такой же, будет трансфер рейт.
Может, там 1 к 10, или, что нибудь такое?
цитата
26/01/16 в 16:16
Sterx
буковка
K
стоит ?
строку скинь
цитата
26/01/16 в 19:44
sweetypie
for f in *.wmv; do nice ffmpeg -i "$f" -acodec libmp3lame -vcodec libx264 -b 1000 -profile:v baseline -threads 1 "${f%.wmv}.mp4"; done
цитата
26/01/16 в 20:48
Sterx
>-b 1000
это 1 килобит в секунду
средней паршивости битрейт для h264 начинается с 800 kbps
цитата
26/01/16 в 22:27
sweetypie
так, это в байтах...
понятно. Спасибо!
Стр.
« первая
<
1
,
2
,
3
,
4
>
последняя »
Новая тема
Ответить
Эта страница в полной версии