Announcement

Collapse
No announcement yet.

VA-API encoding

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dexterp91
    replied
    Mistake in my first post

    I don't think I have ever had HW acceleration working in Ubuntu, I just mistook the option h26n ITU as it. It was stupidly quick but gave nothing great for quality. I can't find much to explain what that option what/is either.

    Thank you for the reply. I'll try in Manjaro (I'm scared of pure Arch as they don't seem to care about posting system breaking updates)

    Leave a comment:


  • danboid
    replied
    vague update

    Hi Dexterp91

    I've been meaning to update this thread for months, just never got round to it. I did get HW encoding working under Transmageddon in the end but under Arch instead of Ubuntu. I just had to install the Intel GPU driver from AUR then Transmageddon VAAPI encoding (using the version in the official Arch repos) 'just worked'. I've not used it in a while but IIRC it was something like 4/5x faster than encoding in software so I was quite happy with that.

    I've never tried Quicksync but I've heard its both faster and better quality than VAAPI. Unfortnately I expect there is little you can do to improve the encoding quality other than wait for the Intel devs to improve VAAPI encoding. However, if there is anyone outside Intel who does know how to improve the situation there is a very good chance they read these forums so you asked in the right place.

    Leave a comment:


  • Dexterp91
    replied
    Hi there, I'm a newbie 'nix user that is very keen to abandon Windows, the one issue being Intel Quicksync support. I encode a lot for a website I run so having the speed and quality offered by my Haswell is a god send. The issue is, I really don't want to be tied to Windows.

    I have tried various settings and installs with regards to Transmaggedon. One thing that I quickly learnt was not to mess with Gstreamer, because as soon as I do I break all format support and hardware decoding as a result. This has resulted in numerous re-installs.

    I have managed to get Transmaggedon to use the hardware, but with incredibly poor quality; nothing like what has been shown off in this thread. Can anyone help out a Linux Newbie using Ubuntu 14.04 on an Intel? Pentium(R) CPU G3258 @ 3.20GHz ? 2 I am willingly to donate to anyone who can spend the time explaining this to me. Thank you!

    Leave a comment:


  • Pontostroy
    replied
    Originally posted by danboid View Post
    Just because Transmageddon / gstreamer has loaded your va-api driver doesn't mean its being used and in your case it won't be getting used because you have transcoded to ogg.

    To encode in a format that should use vaapi, choose AVI for the output format then it should choose h264 as the default codec.

    However, there is no point in trying unless you have the required gstreamer encoding plugins. What distro are you running and what output do you get when you run:

    Code:
    gst-inspect-1.0 | grep vaapi
    Also, make sure you are running at least Transmageddon 1.3. It seems your previous test used 1.2 and 1.3 fixed a bug that disabled vaapi.
    I use matroska + h264 and vaapi and omx works fine.
    How do you explain the difference in time and CPU load on screenshots?
    Special video for you, look carefully at what happens after 0.49s-0.50s


    Any questions?

    Leave a comment:


  • danboid
    replied
    Just because Transmageddon / gstreamer has loaded your va-api driver doesn't mean its being used and in your case it won't be getting used because you have transcoded to ogg.

    To encode in a format that should use vaapi, choose AVI for the output format then it should choose h264 as the default codec.

    However, there is no point in trying unless you have the required gstreamer encoding plugins. What distro are you running and what output do you get when you run:

    Code:
    gst-inspect-1.0 | grep vaapi
    Also, make sure you are running at least Transmageddon 1.3. It seems your previous test used 1.2 and 1.3 fixed a bug that disabled vaapi.
    Last edited by danboid; 12 August 2014, 03:24 AM.

    Leave a comment:


  • Pontostroy
    replied
    Originally posted by danboid View Post
    pontostroy:

    Your Transmageddon vaapi screenshot shows you transcoding into an Ogg Theora .mkv file and vaapi doesn't accelerate encoding Theora -that's why you can see 90+% of your CPU being used. vaapi can only encode H264 and MPEG2 in hardware.


    mean?
    1 It shows settings to transcoding into an Ogg Theora .ogg file
    2 This is default setting and after transcoding Transmageddon always changed all settings to ogg
    3 See konsole output, and look at words vaapi\omx

    Leave a comment:


  • danboid
    replied
    pontostroy:

    Your Transmageddon vaapi screenshot shows you transcoding into an Ogg Theora .mkv file and vaapi doesn't accelerate encoding Theora -that's why you can see 90+% of your CPU being used. vaapi can only encode H264 and MPEG2 in hardware.

    Also, what does

    Transmageddon 3.0 ? 1.2

    mean?

    Leave a comment:


  • danboid
    replied
    No suitable encoding plugins in Ubuntu repos

    Code:
    $ gst-launch-1.0 filesrc blocksize=10000000 location=bts.mp4 ! videoparse format=i420 height=1080 width=1920 framerate=30/1 ! vaapipostproc ! queue ! vaapiencode_h264 ! qtmux ! filesink location=test2.mp4
    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/i965_drv_video.so
    libva info: Found init function __vaDriverInit_0_35
    libva info: va_openDriver() returns 0
    WARNING: erroneous pipeline: no element "vaapiencode_h264"
    Code:
    $ gst-inspect-1.0 | grep vaapi
    vaapi:  vaapisink: VA-API sink
    vaapi:  vaapipostproc: VA-API video postprocessing
    vaapi:  vaapidecode: VA-API decoder
    Looks like I might need to build gst myself if I want vaapi encoding plugins?

    Leave a comment:


  • Pontostroy
    replied
    My tests
    Transmageddon benchmark (omx, vaapi, x264enc, mpeg4)


    Almost all videos from my youtube channel recorded with gsteamer vaapi\omx hardware encoding


    I made simple script and maintained some patches ( optimization of RGB > YUV conversion)
    Patches and scripts for gstreamer. Contribute to pontostroy/gstreamer-screenrecording development by creating an account on GitHub.

    Leave a comment:


  • danboid
    replied
    Intel GST 1.0 encoding examples

    I've found some more contemporary (GST-1.0) examples here:

    http://www.intel.co.uk/content/dam/w...amer-paper.pdf

    Code:
    gst-launch-1.0 filesrc blocksize=10000000 location=infile.yuv ! videoparse format=i420 height=1080 width=1920 framerate=30/1 ! vaapipostproc ! queue ! vaapiencode_h264 ! qtmux ! filesink location=test2.mp4
    tuke81:

    I don't see gsteamer1.0-vaapi listed as a (recommended) dep. for Handbrake (in Trusty or sid) so its prob safe to presume it doesn't support it yet.

    Leave a comment:

Working...
X