LINUX.ORG.RU

[ffmpeg][VDPAU]наложение фильтров и декодирование на видеокарте

 ,


0

1

возможно ли наложить фильтры на видео, которое декодируется на видеокарте nvidia?
конкретно, интересует деинтерлейсинг
пытаюсь делать так:

mplayer -vf yadif -vo vdpau -vc ffh264vdpau ./00099.MTS
получается такая ошибка
[VD_FFMPEG] Trying pixfmt=0.
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
[h264_vdpau @ 0x8ab2700]decoding to PIX_FMT_NONE is not supported.
[h264_vdpau @ 0x8ab2700]decode_slice_header error
[h264_vdpau @ 0x8ab2700]no frame!
Error while decoding frame!
с другими опциями -vf тоже самое, без -vf всё работает
деинтерлейсинг получается невозможен, если видео декодируется на видеокарте?


возможно ли кодирование видео с помощью видеокарты в линуксе?
ffmpeg вроде как умеет только декодировать

 
fatalist@fatalist-laptop:~/STREAM$ ffmpeg -codecs | grep vdpau
 D V D  h264_vdpau      H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration)
 D V DT mpeg1video_vdpau MPEG-1 video (VDPAU acceleration)
 D V DT mpeg4_vdpau     MPEG-4 part 2 (VDPAU)
 D V DT mpegvideo_vdpau MPEG-1/2 video (VDPAU acceleration)
 D V D  vc1_vdpau       SMPTE VC-1 VDPAU
 D V D  wmv3_vdpau      Windows Media Video 9 VDPAU
в гугле нашел прошлогодние темы, где говорится что в линуксе невозможно, есть только какая то проприетарная программа под винду
может что то изменилось? а то кодировать/декодировать 1080-видео на интел атоме, это умереть можно

в vdpau свой, уличный хардварный деинтерлейс и другие эффекты.

кури man mplayer (или, если он старый и такого нет — обновляй и кури)

anonymous
()

возможно ли наложить фильтры на видео, которое декодируется на видеокарте nvidia?

Нет.

возможно ли кодирование видео с помощью видеокарты в линуксе?

Нет.

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

Нет.

4.2 же

vdpau (X11 only)
Uses the VDPAU interface …
sharpen=<-1-1>
For positive values, apply a sharpening algorithm to the
video, for negative values a blurring algorithm (de‐
fault: 0).
denoise=<0-1>
Apply a noise reduction algorithm to the video (default:
0, no noise reduction).
deint=<-4-4>
Select deinterlacing mode (default: -3). Positive val‐
ues choose mode and enable deinterlacing.
нелзя внедрять софтоую обработку в конвеер vdpau

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

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

mplayer -vo vdpau:deint=2 -vc ffh264vdpau ./00099.MTS
и вуаля, никакого интерлейсинга
кому интересно, вот список всех поддерживаемых аппаратных фильтров
Options:
  deint (all modes > 0 respect -field-dominance)
    0: no deinterlacing
    1: only show first field
    2: bob deinterlacing
    3: temporal deinterlacing (resource-hungry)
    4: temporal-spatial deinterlacing (very resource-hungry)
  chroma-deint
    Operate on luma and chroma when using temporal deinterlacing (default)
    Use nochroma-deint to speed up temporal deinterlacing
  pullup
    Try to skip deinterlacing for progressive frames
    (needs at least temporal deinterlacing, useful for telecined content)
  denoise
    Apply denoising, argument is strength from 0.0 to 1.0
  sharpen
    Apply sharpening or softening, argument is strength from -1.0 to 1.0
  colorspace
    0: guess based on video resolution
    1: ITU-R BT.601 (default)
    2: ITU-R BT.709
    3: SMPTE-240M
  hqscaling
    0: default VDPAU scaler
    1-9: high quality VDPAU scaler (needs capable hardware)
  force-mixer
    Use the VDPAU mixer (default)
    Use noforce-mixer to allow BGRA output (disables all above options)
спасибо анон за наводку

Fatalist
() автор топика
Ответ на: комментарий от fragment

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

Fatalist
() автор топика
Ответ на: комментарий от fragment

возможно ли кодирование видео с помощью видеокарты в линуксе?

Нет.

google cuda/opencl + MainConcept

anonymous
()

возможно ли кодирование видео с помощью видеокарты в линуксе?

На doom{9,10} неоднократно предлагалось реализовать кодирование в x264 на gpu, но разработчики ответили, что они об этом думали и у них получилось, что на gpu эффективно реализовать алгоритм кодирования не получится. Поэтому этого скорее всего нет и не будет.

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

тут анон снова прав, подсказал про MainConcept
зашел на сайт, тут можно скачать бесплатную демо-версию без вирусов и смс, правда с регистрацией
http://www.mainconcept.com/products/platforms/reference-engine.html
заявлена поддержка CUDA, с налету не получилось

fatalist@fatalist-laptop:~/Demo_Reference_Engine_v2.5.1_linux32/bin$ ./mccl_transcode -i ~/STREAM/00099.MTS -o ./test.mp4 -p 35127297 -vo codec=h264cudavenc,aspect=16:9,fps=25p,br=15m,maxbr=20m -ao codec=aacaenc,ch=2,sr=44100,br=192k
MainConcept Reference Engine version 2.5.10.6955 (c) 2011 MainConcept GmbH
Using built-in preset #9 H.264 @ GPU
Opened /home/fatalist/STREAM/00099.MTS, 1 video stream(s), 1 audio stream(s)
Target filename set to './test.mp4'.
WARNING: Input video is interlaced, while output is progressive. Suggesting usage of deinterlace filter
ERROR: C041:H.264 Validation Error: initial buffer fullness must be between 0 and 90000 (90kHz).
ERROR: C001:H.264 Validation Check: 1 error(s) found.
WARNING: [h264videoenc] Conformance check error code error code: 1. Adjusting.
ERROR: C041:H.264 Validation Error: initial buffer fullness must be between 0 and 90000 (90kHz).
ERROR: C001:H.264 Validation Check: 1 error(s) found.
далее продолжает кодировать на процессоре, нагружая его на 100%, ускорение по сравнению с обычном кодированием на процессоре нет
ошибок связанных с cuda нет, cuda-z (http://cuda-z.sourceforge.net/) говорит что карточка есть и всё ок
пока отложу в сторону, так как нет времени разбираться, если кто-нибудь тыкал или будет тыкать, будьте любезны отпишитесь, может у кого и получилось завести это под линукс
по заявлению разработчиков, скорость с помощью cuda увеличиватся довольно на много
здесь тесты и сравнения производительности
http://www.mainconcept.com/fileadmin/user_upload/download/product_sheets/CUDA...
с моим атомом вместо процессора это очень даже актуально

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