Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Добавить возможность для видео отдавать m3u плейлисты, проксирование запросов к видео из плейлистов #148

Open
ivang7 opened this issue Dec 28, 2018 · 8 comments

Comments

@ivang7
Copy link

ivang7 commented Dec 28, 2018

Мейл облако видео может отдавать помимо оригинального формата, еще и конвертированное в различном разрешении: https://habr.com/company/mailru/blog/272769/

Можно добавить опцию и все видеофайлы отдавать папками:

  • оригинальный файл
  • несколько плейлистов (различного качества)

В плейлистах немного менять путь к видео, так же в рамках сервера дополнительно запускать http сервер/прокси - т.к. нужно добавлять куки к запросам на видео.

Это очень поможет в вопросе проигрывания видео + даст выбор качества.

@yar229
Copy link
Owner

yar229 commented Dec 28, 2018

С этим предвижу сложности - размер конвертированных файлов неизвестен.
Я как-нибудь посмотрю, но не обещаю.

@yar229
Copy link
Owner

yar229 commented Dec 28, 2018

Upd.:
Неправильно понял, генерировать плейлисты, в принципе, можно.
С прокси хттп несложно, в принципе, но много возни, может быть как-нибудь :)

yar229 added a commit that referenced this issue Jan 16, 2019
@yar229
Copy link
Owner

yar229 commented Jan 17, 2019

В каком-то виде сделано в 1.10.3.0.
Недостаток этого решения - для генерации плейлиста даётся публичный доступ к файлу.

  • >>share [[/]path] Make file/folder public
    • and create .share.wdmrc file with links
  • >>sharev [[/]path] Make media file public
    • and create .share.wdmrc file with public and direct play links
  • >>pl [[/]path] Make media file public
    • and create .share.wdmrc file with public and direct play links
    • and create .m3u8 playlist file

@ivang7
Copy link
Author

ivang7 commented Jan 18, 2019

@yar229, спасибо, запустил, но в поведении клиента ничего не изменилось.
Только заготовки на дальнешую реализацию? автоматически вебдав клиенту не отдаются плейлисты?

@yar229
Copy link
Owner

yar229 commented Jan 18, 2019

Автоматически - нет, потому что сейчас надо давать публичный доступ на файл.
Для генерации плейлиста нужно "создать" каталог со специальным именем >>pl video_file.avi, где video_file.avi - имя файла, для которого надо создать плейлист.
Сам каталог при этом не создастся.

Если используемый клиент не позволяет использовать в имени каталога >> - признак спецкоманды, то в файл wdmrc.config в конце, перед </config> надо добавить строку

<AdditionalSpecialCommandPrefix serializeAs="String">.,.</AdditionalSpecialCommandPrefix>

тогда команда будет выглядеть как .,.pl video_file.avi

@ivang7
Copy link
Author

ivang7 commented Jan 21, 2019

Спасибо. Плейлист генерирует с одним вариантом качества. Я предалагал эту функциональность для возможности выбора нужного битрейта (мой пример - большие видео файлы, иногда требуется минимальное качество, просто слушать).

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

p.s. отдается плейлист с разным качеством 👍 к сожалению VLC под андроид такой не умеет использовать.

@yar229
Copy link
Owner

yar229 commented Jan 21, 2019

Плейлист генерирует с одним вариантом качества

Видимо, это от проигрывателя зависит.
У меня PotPlayer позволяет выбрать видеопоток

image

@yar229
Copy link
Owner

yar229 commented Jan 21, 2019

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

Это будет посложнее, пока не знаю, когда смогу запилить

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants