как получить vdpau аппаратное ускорение с помощью ffmpeg на человечности?

Я разрабатываю мультимедийный проигрыватель с помощью ffmpeg. Я очень стараюсь получить аппаратное ускорение через ffmpeg, использующий vdpau аппаратный акселератор. Я не получил успеха до сих пор. Ниже я упомянул детали своих системных спецификаций, программного обеспечения и ошибки ffmpeg инструмента командной строки. Не стесняйтесь комментировать, нужна ли Вам дополнительная информация. Любые быстрые предложения будут значительно полезны.

Here is my system hardware specification:
Processor: Intel® Core™ i5-4570 CPU @ 3.20GHz × 4 
Graphis: GeForce GTX 750 Ti/PCIe/SSE2
Os: Ubuntu-14.04 64bit
Memory: 8GiB

Программное обеспечение: ffmpeg-2.8.1

другие полезные журналы: 1. Найдите включают hw акселератор в ffmpeg

./ffmpeg-hwaccels

ffmpeg version 2.8.1 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
  configuration: --enable-shared
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
Hardware acceleration methods:
vdpau

2. Hw декодирование Accel с помощью ffmpeg

./ffmpeg-hwaccel vdpau-i/tmp/test.mp4/tmp/test.ts

Журнал ошибок:

libva info: VA-API version 0.35.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1

3. Команда: lspci-vnn | grep-i VGA-A 12

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM107 [GeForce GTX 750 Ti] [10de:1380] (rev a2) (prog-if 00 [VGA controller])
    Subsystem: ZOTAC International (MCO) Ltd. Device [19da:288a]
    Flags: bus master, fast devsel, latency 0, IRQ 48
    Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
    Memory at e0000000 (64-bit, prefetchable) [size=256M]
    Memory at f0000000 (64-bit, prefetchable) [size=32M]
    I/O ports at e000 [size=128]
    [virtual] Expansion ROM at f7000000 [disabled] [size=512K]
    Capabilities: 
    Kernel driver in use: nvidia

01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fbc] (rev a1)
    Subsystem: ZOTAC International (MCO) Ltd. Device [19da:288a]
2
задан 26 May 2016 в 07:29

1 ответ

Согласно документации здесь,

Для включения этого Вам обычно нужны libvdpau пакет разработки в Вашем распределении и совместимая видеокарта.

Сообщение, что VDPAU не может использоваться для декодирования кадров в памяти, сжатые кадры, отправлено libavcodec к устройству GPU, поддерживаемому VDPAU, и затем к декодируемому изображению можно получить доступ с помощью API VDPAU. Это не сделано автоматически FFmpeg, но должно быть сделано на прикладном уровне (проверьте, например, ffmpeg_vdpau.c файл, используемый ffmpeg.c). Кроме того, обратите внимание, что с этим API не возможно положить обратно декодируемый кадр к RAM, например в случае, если необходимо закодировать снова декодируемый кадр (например, при выполнении транскодирующий на сервере).

Несколько декодеров в настоящее время поддерживаются через API VDPAU в libavcodec, в особенности H.264, MPEG-1/2/4, и VC-1.

вывод mediainfo videofile должен пролить некоторый свет на то, поддерживается ли используемый кодек, однако таблица FFMpeg IMplementations в вышеупомянутой документации показывает, что VDPAU удерживается от использования для технических причин и не должен использоваться.

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

0
ответ дан 26 May 2016 в 17:29

Другие вопросы по тегам:

Похожие вопросы: