LINUX.ORG.RU

Посоветуйте библиотеку для работы с видео

 


0

4

Нужен ffmpeg, но только без GPL

Конкретно - манипуляции с контентом стрима

  1. Оверлеи и прочее рисование,
  2. Транскодирование в популярные форматы
  3. Публикация через интернет на видеостриминговый сервер, вот это всё

ffmpeg подходит практически всем, кроме GPL. Хочется какую-то lax лицензию, которая позволит линковать либу к совершенно любому коду в полном объеме

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

★★★★☆

Мне тоже нужен, но я ничего толкового не нашёл.

только без GPL

При желании можно LGPL собрать, но x264 сразу отпадает.

RazrFalcon ★★★★★
()

продублирую здесь.

Раз ты хочешь не GPL, значит ты хочешь что-то поправить и не открывать сырцы. Без проблем: у x264 есть платный вариант без GPL. Можно купить.

Можно заложиться на наличие у юзера аппаратного энкодера и ехать сразу только с quicksync/nvidia/amf кодом.

Ещё есть openh264, но его опенсорснули и лицензировали у патентных бандитов MPEGLA под нужды webrtc. В любом случае стоит посмотреть.

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

Раз ты хочешь не GPL, значит ты хочешь что-то поправить и не открывать сырцы.

Нет. Я хочу линковать к проприетарщине.

openh264

Мне казалось там только декодер. Енкодера чисто для галочки и выдаёт он ужас.

nvidia

Ужас на выходе. Половина мобильных карточек его не умеет.

Поэтому только страдать.

RazrFalcon ★★★★★
()
Ответ на: комментарий от RazrFalcon

Нет. Я хочу линковать к проприетарщине.

и это продавать? Или юзать сам?

Если использовать сам, то чего тебя волнует? Если продавать, то купи x264

Енкодера чисто для галочки и выдаёт он ужас.

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

nvidia Ужас на выходе.

да ладно, нормально у нвидии.

Половина мобильных карточек его не умеет.

угу

max_lapshin ★★★★★
()

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

А какие требования по производительности? У тебя что, упирается в system("ffmpeg")? Зачем буферы какие-то еще?

cdshines ★★★★★
()
Ответ на: комментарий от max_lapshin

Если продавать, то купи x264

С каких пор «бузинес» хочет что-либо покупать? Тем более у них схема лицензирования странная.

да ладно, нормально у нвидии

Только если вырубить сжатие. Но тогда получим гиговые файлы на 5 мин ролика.

RazrFalcon ★★★★★
()

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

vtVitus ★★★★★
()
Ответ на: комментарий от cdshines

Простенький редактор видео как в фотошопе

Если я на каждое движение мышки буду вызывать system(«ffmpeg»), это будет очень неудобно

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

А как это будет работать? Просто спрашиваю из интереса. Ты транслируешь на сервер, и там все происходит и отправляется на клиент? Интересно узнать подробности, если можно.

cdshines ★★★★★
()
Ответ на: комментарий от cdshines

Еще никак это не происходит, пока пытаюсь из говна и палок скрутить реактивный истребитель

Это будет обычная приложуха, всё выполняется на компьютере клиента и высылается куда-нибудь в интернет, куда ему хочется

Просто я ничего не понимаю в обработке видео и хотел иметь какую-то большую помойку готовых протоколов и алгоритмов, откуда можно невозбранно делать ctrl+c, ctrl+v

Нет, я не собираюсь это продавать. Это нужно для одной маленькой вполне конкретной цели

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от max_lapshin

H.264 не единственный кодек для видео

есть ещё VP9, и его реализация вроде как под пермиссивной лицензией

Harald ★★★★★
()

по теме могу посоветовать DirectShow или Media Foundation, бы-хы-хы )

Harald ★★★★★
()
Ответ на: комментарий от Harald

Мне нужно стримить на Twitch, YouTube, Facebook Live, Mixer и VK.

У них у всех есть очень конкретные параметры публикации

Например, вот Facebook Live:

  • H264 encoded video and AAC encoded audio only.
  • Recommended max bit rate is 4000 Kbps (4 mbps).
  • Recommended audio bit rate is 96 Kbps or 128 Kbps.
  • Max: 1080p (1920x1080) resolution, at 60 frames per second.
  • An I-frame (keyframe) must be sent at least every 2 seconds throughout the stream.
  • Titles must have fewer than 255 characters or the stream will fail.

На самом деле, параметров куда больше, поэтому даже ffmpeg нужно вручную патчить, чтобы стрим шел не как попало, с лагами и рывками

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

Всё это создаёт нехилый такой порог входа, преодалеть который я надеюсь копипастингом чужого кода с небольшими исправлениями ;) Годик работы, и стриминг на Facebook будет работать нормально, а не как сейчас

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 2)
Ответ на: комментарий от stevejobs

1080p H264 мыльцо, но зато 60фпс. почему технологии всегда сворачивают куда-то не туда

anonymous
()
Ответ на: комментарий от ya-betmen

Так чем тебя не устраивает ффмпег в этом случае?

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

Обладающий истинным знанием смиренный мудрец одинаково смотрит на ученого и благородного брахмана, корову, слона, собаку и собакоеда

Кришна, Бхагавад-гита (5.18)

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

я хочу

Тут мне вспоминается, что на это Золотая Рыбка ответила Вовке в известном мультфильме.

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

Я не хочу рассказывать всякие крутые идеи, которые можно запилить в OBS, чтобы кто-нибудь этого действительно не сделал

Если бы OBS была не под GPL - нужно было бы добавлять это в OBS, а так сорян

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от ya-betmen

Харе Кришна, харе Рама, харе Смехопанарама

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

поэтому даже ffmpeg нужно вручную патчить, чтобы стрим шел не как попало, с лагами и рывками

ШТА

Годик работы, и стриминг на Facebook будет работать нормально, а не как сейчас

За годик фейсбучек успеет несколько раз перейти на другие параметры стриминга

Harald ★★★★★
()
Ответ на: комментарий от stevejobs

Простенький редактор видео как в фотошопе

gstreamer

anonymous
()
Ответ на: комментарий от imb

gstreamer никак не поможет, потому что есть ровно один энкодер для видео на процессоре — libx264.

Кроме него ещё можно упомянуть платный MainConcept, но это чисто корпоративная история со специфическим применением.

Выше говорили про то, что есть другого кодека кроме H264, так вот это всё ересь. Нет другого видеокодека кроме H264 и H265 его последователь.

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

max_lapshin ★★★★★
()
Ответ на: комментарий от anonymous

openh264 — это примерно в 15 годах разработки от libx264 =)

Циска опенсорснула его ради маркетинга. Годится только для webrtc (да ещё и только туда лицензирован).

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

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

Если с точки зрения камер наблюдения, то да, а вот тот же ютуб вполне себе VP9 использует, зрителей ютуба в мире явно больше, чем камер :)

Harald ★★★★★
()
Ответ на: комментарий от max_lapshin

openh264 — это примерно в 15 годах разработки от libx264

это норма для BSD по сравнению с GPL

anonymous
()
Ответ на: комментарий от max_lapshin

а ты знаешь что там конкретно не так?

менее четкая картинка? меньше опций настройки? как это выглядит?

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от max_lapshin

потому что есть ровно один энкодер для видео на процессоре — libx264

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

а для некоторых мы вообще RAW гнали

imb ★★
()
Последнее исправление: imb (всего исправлений: 1)
Ответ на: комментарий от imb

речь про консюмерское железо, квиксинк и энвенк. Это да, это жопа. Скайп может расплавить несчастный телефон на андроиде пока что-то там декодирует, даже мой современный i7 впадает в ступор

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

не думаю что JPEG насколько ресурсоёмок, вопрос только в размере и частоте и как следствие этого появляется требование по ширине канала

но если в требования H264, то как смысл говорить о других форматах?

imb ★★
()
Ответ на: комментарий от stevejobs

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

VP9 — это отдельная история. Да, по трафику на свитчах в интернете, его много. Но по сути, это кодек, который компания использует для доставки со своего сайта на свои клиентские программы.

От этого его поддержка на других устройствах особо больше не становится.

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

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

imb ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.