LINUX.ORG.RU

чем под Linux сжимать видео не на CPU?

 ,


0

2

Есть ли реализации для сжатия видео под Linux на базе OpenCL (или CUDA, что менее приятно)?

Либо покупать аппаратный специализированный блок (PCIE карту или иное), либо сжимать на GPU. И тут встает вопрос о готовой релизации.

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

Подходят даже платные варианты - такие есть под Linux?

Пока слышал о неких OpenCL+x264 но только для AMD/OpenCL.

есть libva, предоставляющая интерфейс к этому делу. У неё есть бэкенды к intel и fglrx (насчёт nvidia не в курсе). Где-то есть даже патч к ffmpeg, позволяющий юзать это дело.

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

тебе мама в детстве не говорила, что показывать свою тупость на людях - плохо? Загляни в исходники libva. Особенно в директорию test/encode, там всё разжёвано для самых маленьких.

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

Да ладно, ладно ты как всегда прав, мог бы ради 1 апреля подыграть.

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

повторяю: пример кодирования - в test/encode. Пример декодирования - в test/decode. Ты дальше чушь пороть будешь как полный дебил?

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

а по щщам тебе не надавать? Если libva предоставляет api, это не значит что другие тулзы его юзают. Есть недоделанный плагин для ffmpeg, но им никто не занимается.

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

НЯП, у amd ничего такого пока нет.

Закрытые проприетарные блобы не есть хорошо.
У AMD есть:
x264 и handbrake умеют в opencl
последние opencl sdk умеют в VCE. Правда не знаю, какой софт под онтопик умеет это использовать.

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

а вру. в xvba есть функция AVECreateVideoEncoder, вполне может быть, что и xvba-driver предоставляет интерфейс

ckotinko ☆☆☆
()
Ответ на: комментарий от devl547

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

objdump -Tt /usr/lib/libAMDXvBAW.so.1.0 | grep AVE

ckotinko ☆☆☆
()
Последнее исправление: ckotinko (всего исправлений: 2)

кстати, в AMD APP SDK есть папка OpenVideo, там еще какой-то интерфейс есть. Работает или нет - не знаю.

ckotinko ☆☆☆
()

Год назад не было ничего работающего, к сожалению.

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

я буду использовать это из C++ сам, так что софт не нужен, нужны библиотеки...

сори, я сразу не уточнил...

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от megabaks

Мне показалось, ты их спутал. В libva действительно есть пример утилитки, которая кодирует сырой yuv поток в h.264 на gpu. Я её не запускал, у меня нет аппаратного кодера, но не сомневаюсь, что она работает.

i-rinat ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Не встречал такого.

По запросу accelerated gpu h.264 гуглится какой-то кодер от mainconcept. Может стоит глянуть на него? Они, правда, требуют NDA, чтобы только цену узнать :-)

i-rinat ★★★★★
()
27 июля 2014 г.

Use gstreamer to do HW accelerated h264 encoding

gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=180 ! video/x-raw,format=I420,width=640,height=480,framerate=30/1 ! queue ! vaapiencode_h264 ! queue ! qtmux ! filesink location=test2.mp4

beware the quality is much lower than software encoder.

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