Войти
ПрограммированиеФорумОбщее

Как сделать воспроизведение роликов (скачанных ютуба, в т.ч. в webm) в своём движке? [C++, DirectX9] (2 стр)

Страницы: 1 2 3 Следующая »
#15
13:49, 11 июля 2021

kkolyan

>PS: а, ты про то, что по лицензии мы должны исходники ffmpeg прикладывать к игре?

Нет, сложно ли кинуть ссылку на гитхаб. Про то как коряво обычно собираются программы на С/С++ под линукс. Слишком много наружу торчит специфических зависимостей, для удовлетворения которых зачастую нужно настолько обновлять ОС что это равно переустановке. Для винды могут же нормально собрать, а для линукса устроено так, чтобы задействовать побольше зависимостей самых последних версий. Ибо игрок бесплатно играющий в тетрис должен при этом тоже бесплатно тестировать кучу нужных для бизнеса либ и ядро. Так эта бесплатность работает.


#16
14:00, 11 июля 2021

Skvoznjak
> Для винды могут же нормально собрать, а для линукса устроено так, чтобы задействовать побольше зависимостей самых последних версий.
Очевидно, что никакой принципиальной разницы в этом вопросе между линуксом и форточками нет.
Можно точно так же собрать ffmpeg статически, без зависимостей.

Но, как уже писали, ffmpeg целиком — это оверкилл, вполне хватит отдельных библиотек для конкретных форматов.

#17
(Правка: 17:46) 17:33, 11 июля 2021

}:+()___ [Smile]
>Очевидно, что никакой принципиальной разницы в этом вопросе между линуксом и форточками нет.
В других программах именно что есть, не всё хорошо собирается статически. И это не модно. Считается что что вкомпиленная статически либа является потенциальной дырой для вирусов. Там же при нахождении очередной системной уязвимости трубят о ней на весь мир, объясняют как использовать и включают клич: обновляйся на новые версии либ кто может. А статическую либу в игрушке не обновишь, через тетрис всю систему теоретически хакнуть можно:)
А в винде обновил антивирус и спи спокойно. С десяткой только проблемы, если к интернету подключена.

#18
18:30, 11 июля 2021

Skvoznjak
> не всё хорошо собирается статически.
Т. е. не осилил. Так и надо говорить.

В линуксе, если что, разницы между статическими и динамическими либами гораздо меньше, чем в виндах.
#19
(Правка: 14:58) 14:57, 14 июля 2021

Ух-ха, скокка понастрописали. Неожиданно.

Так-с...

lookid
> https://gamedev.net/forums/topic/581287-solvedplaying-video-filea…
> 01221/?page=2
> Скопируй с семплов или исходников какогонить сталкера.
Я начал этим заниматься, но в середине процесса начались проблемы и забил.
В общем, я попробовал сделать чтение AVI через WinAPI. С роликами из виндосовской папкуи прокатило, со скачанными с ютуба (кажется там кодек 267 но я в кодеках почти не шарю) -- нет. Наверное не все кодеки поддерживаются но я не собрался загуглить каким критериям должен соответствовать ролик чтоб чтение без ошибок.
|
(Могу скинуть получившийся код + exe-шник + 2 тестовых ролика)

tie_fighter
> Silen#ID
> > Во-первых, даны ссылки на ролики на ютубе, но вероятно меня распнут, если
> > юзеру
> > придётся что-то скачивать с инета, так что придётся скачать их за него...
> Почему-бы просто не включить ролики в дистрибутив?
Дело в том, что ссылки на ютуб -- не равно сами роликфайлови. Хотя их можно скачать, но ущё надо решить в каком формате. Хотя, вероятно это будет скажет mp4 в качестве 1080p, но пока ещё не факт.

Чёт я пока не в форме кодить... Да и отвечать тоже...

tie_fighter
> > Но тогда возникает вопрос: в каком формате?
> Если влючить ролики в дистр то можно в любом, в той-же theora.
А, это... я на всякий включу режим зануды и попробую узнатьтьь вкак сделать правильную скачку с ютуба. Нармер чтобы поменьше конвертироваться. Вот.
theora? Вроде знакоме слово. Я в кодеках не очень.

gamedeveloper01
> Насколько я знаю видео всегда проигрывается с помощью библиотеки libogg.
> Качаешь с ютуба, конвертируешь в формат ogg, проигрываешь у себя в игре. Может
> что то поменялось я хз.
Учту.

gamedeveloper01
> Если нужно сразу с ютуба проигрывать, то нужно юзать встроенный webbrowser,
> который есть в том же UE4, какие там для него библиотеки нужны я точно не знаю.
Нет, полжалуй не стоит делать привязку к онлайну, поэтому не сразу с ютуба, а скачать сперва. Ну или зщакешировть. Короче чтобы не пришлось ничего качать юзеру игры они такого не любят.

gamedeveloper01
> с помощью библиотеки libogg.
А можно пример кода чтобы читатоь ролики с ней?

ИПавлов
> на ютубе аудио хранится в формате опус. а видео в формате мп4 и вебм
Ты мне весь мозг доломал. Вобще не парсится, хотя слова все кроме "опус" знакомыу.

Zab
> Чем avi не устраивает? У тебя же все чисто виндовое, переносимость не требуется. Вот и проигрывай штатными средствами.
Ты мне? Мне пофигу, я штатными средствами не умею.

Zab
> А почему завязка на dx9? Чтобы WinXP поддерживать? Это кому-нибудь сегодня нужно? WinXP не мертва? Под ней же даже по интернету уже не полазать, половину сайтов просмотреть не сможешь, включая ютуб.
Потому что неосиляторп даже dx9 не до конца осилил, а остальное совсем никак :(
И да, хочу ХР , не приципиально но сильно хочу -- у меня на виртуальной машине он стоит на нём и прогаю исторически сложилось...
Хех, надо попробовать полазить по ютубу из-зпод ХР))

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

kkolyan
> но в моем случае (короткие зацикленные ролики с небольшим разрешением) работало
> прекрасно.
У меня где-то 720p 30ФПС минуты по 2. Короче это клипы с ютуба которые хочу вместо заглушки роликов интро и в главном мпню, заодно хотел ковырнуть как оно вообще встраивать видосы в движок.

Кстати, всем спасибо за ответы. Позхже постараюсь всё прочесть.

#20
14:59, 14 июля 2021

Silen#ID
> надо попробовать полазить по ютубу из-зпод ХР
Браузер - Яндекс, другие откажутся.

#21
(Правка: 15:12) 15:11, 14 июля 2021

Mikle
Оффтоп конечно, но браузер Vivaldi проверял? У них вроде всё сильно переделанное под себя, не просто рескин хромиума.
P.S.: сижу щас изплднего, хотя ОСь Вин8.1.

#22
15:41, 14 июля 2021

Silen#ID
> Vivaldi проверял?
Нет, экзотику не пробовал.

#23
(Правка: 16:31) 16:24, 14 июля 2021

не ну если тебе некогда почитать ответы на свою тему в две страницы то ты это. может не задавай вопросов тогда
при том, что еслибы сразу прочитал первые 5 то и второй страницы небылобы.

#24
8:26, 15 июля 2021

как идея - а что если встроить в приложение - отображение html страницы, используя либы того же встроенного в винду интернет эксплорера. И при запуске просто грузить страницу с видео развернутым на весь экран.

кстати на счет ffmpeg, можно при установке предложить пользователю устанавливать vlc плеер. Он содержит в себе все необходимые библиотеки. Если не установил - то видео он не увидит. Установил - сиди наслаждайся))

#25
8:30, 15 июля 2021

gambit_oz
Ты ролик в браузере или VLC плеере будешь крутить в меню на фоне? Как?

#26
10:47, 15 июля 2021

gambit_oz
> как идея - а что если встроить в приложение - отображение html страницы,
> используя либы того же встроенного в винду интернет эксплорера. И при запуске
> просто грузить страницу с видео развернутым на весь экран.
Mikle
> gambit_oz
> Ты ролик в браузере или VLC плеере будешь крутить в меню на фоне? Как?
Именно: в том числе, надо чтобы один из роликов крутился на фоне главного меню. (Типа, видеотекстура.) Наврядли для этого случая получится совместить "отображение html страницы" и рендеринг главного меню через GAPI.
(Кстати, я как-то пробовал рендерить через DX9 и WinAPI -- рендерится через кадр и мерцает чёрным... подоробностей уже не помню. Но короче просто так совместить разные способы рендеринга не сработает -- нудны либо костылми либо какие-то хитрые способы, навроде рендеринг сперва в Битмеп на виртуальном канвасе, а потом копирование матрицы цветиов из битмепа в тектуру и рендеринг текстуры.)
|
Но, в принципе, для первого ролика -- который в роли стартового ролика (при запуске игры, перед рендерингом главного меню) -- может и проканать. Но меня смушает что в новых версиях винды (Win7  и выше, мой скринсервер, в котром через "отображение html страницы" на весь экран тайлится гифка мерцающих звёзд ночного неба... в общем там через раз появляется меседжбокс мол обновите эксплорер... Боюсь народ может нарваться на этот косяк эксплорера.

gambit_oz
> кстати на счет ffmpeg, можно при установке предложить пользователю
> устанавливать vlc плеер. Он содержит в себе все необходимые библиотеки. Если не
> установил - то видео он не увидит. Установил - сиди наслаждайся))
Имхо, это уже издивательство над пользователем, поэтому нет. Тмхо, я б на месте этого пользователя после такого предложения послал бы устеновку куда-подальше.

Так, ббб лин всё никак не дойдут руки норм занчяться текмой а наров всё пишет...

Предварительные выводы:

+ Показать

#27
11:11, 15 июля 2021

Silen#ID
> для первого ролика -- который в роли стартового ролика (при запуске игры, перед
> рендерингом главного меню) -- может и проканать.
Не проще через Active Move воспроизвести? Ничего обновляться не предложит.

#28
(Правка: 13:48) 13:45, 15 июля 2021

Silen#ID
> Хех, надо попробовать полазить по ютубу из-зпод ХР))
Броузер, поддерживающий html5-видео, будешь искать долго. Гугл хром давно XP не поддерживает в принципе, он там даже не запускается. Версию трехлетней давности искать придется. Но где используется хромовский движок - то вообще не работает, стим, к примеру.
Файр фокс 32х разрядный тоже не умеет в видео и учиться не собирается.
Что остается? Ослик? Может и выйдет что, а может тоже швах, микрософтовцы то старые версии системы перестают поддерживать первыми.

Silen#ID
> я штатными средствами не умею.
Штатных средств в винде два. Дирекшоу и WinAPI. Выбирай на вкус. Оно из винды никуда не переносимо, но возможно это и не требуется.

#29
(Правка: 22:14) 20:54, 15 июля 2021

Можно еще использовать Media Foundation но это с висты. Там можно прямо по сети кадры дергать по прямой ссылке.

Можно еще vfw заюзать, но встроенных декодеров там мало. Можно закодировать видео одним из стандартных кодеков и тогда будет на любой системе работать. Без проблем можно играть видео из памяти, не выгружая в файл.

DirectShow - лучше, но сложнее. Если делать проигрывание из ресурсов без выгрузки в файл - нужно будет писать фильтр. В SDK даже был пример по проигрыванию видео в текстуру.

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумОбщее