Discussion:
[FFmpeg-user] any hardware accelerated h.264 encoder works with FFMPEG ?
Fernando Cassia
2012-12-27 03:07:49 UTC
Permalink
I´m doing casual HD H.264 re-encoding on a single-core Atom netbook and the
speed is abysmal, around 1 frame per second.

I´ve seen on Amazon.com some "h.264 encoder hardware accelerator" that
plugs into a usb 2.0 port.

My guess is that this is some DSP with the h.264 encding algorithm and that
some custom and proprietary plugin designed to work with Windows and Mac
commercial video editing apps makes use of it.

The $1M dollar question, of course, is if FFMPEG can use those devices for
H.264 compression offloading off the cpu. Or maybe the same could be
accomplished by using the GPU? (on systems that have one that´s worth it).

TIA for any pointers, opinions...

FC
--
During times of Universal Deceit, telling the truth becomes a revolutionary
act
Durante épocas de Engaño Universal, decir la verdad se convierte en un Acto
Revolucionario
- George Orwell
Henk D. Schoneveld
2012-12-27 06:27:24 UTC
Permalink
Post by Fernando Cassia
I´m doing casual HD H.264 re-encoding on a single-core Atom netbook and the
speed is abysmal, around 1 frame per second.
I´ve seen on Amazon.com some "h.264 encoder hardware accelerator" that
plugs into a usb 2.0 port.
My guess is that this is some DSP with the h.264 encding algorithm and that
some custom and proprietary plugin designed to work with Windows and Mac
commercial video editing apps makes use of it.
The $1M dollar question, of course, is if FFMPEG can use those devices for
H.264 compression offloading off the cpu. Or maybe the same could be
accomplished by using the GPU? (on systems that have one that´s worth it).
I've used some of them both on Windows and OSX, afaik they are only usable with the software provided with them not with ffmpeg, although i seem to remember there where some efforts to get things going under linux.
With the provided software speed is Ok on an Atom, but quality is NOT, much less configuration possibilities then ffmpeg. Especially quality based encoding, -crf, is missing. I do have 2 of them if you're interested they are for sale.
Post by Fernando Cassia
TIA for any pointers, opinions...
FC
--
During times of Universal Deceit, telling the truth becomes a revolutionary
act
Durante épocas de Engaño Universal, decir la verdad se convierte en un Acto
Revolucionario
- George Orwell
_______________________________________________
ffmpeg-user mailing list
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Carl Eugen Hoyos
2012-12-27 13:17:38 UTC
Permalink
Post by Fernando Cassia
The $1M dollar question, of course, is if FFMPEG can use
those devices for H.264 compression offloading off the cpu.
No.
In general, developers believe that you generally get slower
encoding with worse quality if you are not using the CPU. This
may not be true if you use an Atom with external hardware, but
this sounds like an atypical use-case. The typical case is a
very fast CPU with a GPU that encodes slower at a significantly
worse quality.

This may change if you can point us to the SDK of such an
external encoder, FFmpeg generally accepts external encoders if
there is a use-case.

Carl Eugen
Fernando Cassia
2012-12-27 13:31:24 UTC
Permalink
Post by Carl Eugen Hoyos
In general, developers believe that you generally get slower
encoding with worse quality if you are not using the CPU. This
may not be true if you use an Atom with external hardware, but
this sounds like an atypical use-case.
Well, in the developed world that might be the case. Down here in South
America not everyone has the latest greatest CPUs. In my case, I have an
Atom netbook for daily email/browsing usage and light bitmap editing, the
most powerful system (an AMD Opteron) runs as a Linux web and file server,
and I can´t afford to do video encodings there and sucking its cpu power
worsening performance of the running services.

Yes, in an ideal world I´d buy a second Opteron system and use it
exclusively for video encoding, but having the option of plugging a USB 2.0
dongle to my netbook and do long encodings at a higher speed without having
the cpu pegged at 100% usage sounds enticing, hence my question to the list.

Not sure about any SDKs, I´m not optmistic....
http://www.elgato.com/elgato/na/mainmenu/products/Turbo264HD/product1.en.html

http://tech.groups.yahoo.com/group/cytv/message/123
FC
--
During times of Universal Deceit, telling the truth becomes a revolutionary
act
Durante épocas de Engaño Universal, decir la verdad se convierte en un Acto
Revolucionario
- George Orwell
Fernando Cassia
2012-12-27 13:35:45 UTC
Permalink
Post by Fernando Cassia
and I can´t afford to do video encodings there and sucking its cpu power
worsening performance of the running services.
answering myself.... it seems Nvidia has some software to offload h264
encoding to the GPU... http://www.nvidia.com/object/IO_62559.html

FC
--
During times of Universal Deceit, telling the truth becomes a revolutionary
act
- George Orwell
Henk D. Schoneveld
2012-12-27 16:23:37 UTC
Permalink
Post by Fernando Cassia
Post by Fernando Cassia
and I can´t afford to do video encodings there and sucking its cpu power
worsening performance of the running services.
answering myself.... it seems Nvidia has some software to offload h264
encoding to the GPU... http://www.nvidia.com/object/IO_62559.html
Atom Netbooks don't have a Nvidia GPU afaik, so it's a NOGO.
Post by Fernando Cassia
FC
--
During times of Universal Deceit, telling the truth becomes a revolutionary
act
- George Orwell
_______________________________________________
ffmpeg-user mailing list
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Fernando Cassia
2012-12-27 16:51:39 UTC
Permalink
Post by Henk D. Schoneveld
Post by Fernando Cassia
answering myself.... it seems Nvidia has some software to offload h264
encoding to the GPU... http://www.nvidia.com/object/IO_62559.html
Atom Netbooks don't have a Nvidia GPU afaik, so it's a NOGO.
Of course they don´t. :) But perhaps I could add a nVidia card to my
Opteron box -currently it´s got an old ATI X1600.

FC
Henk D. Schoneveld
2012-12-27 16:27:51 UTC
Permalink
Post by Fernando Cassia
Post by Fernando Cassia
and I can´t afford to do video encodings there and sucking its cpu power
worsening performance of the running services.
answering myself.... it seems Nvidia has some software to offload h264
encoding to the GPU... http://www.nvidia.com/object/IO_62559.html
To further lower your expectations
http://www.behardware.com/articles/828-1/h-264-encoding-cpu-vs-gpu-nvidia-cuda-amd-stream-intel-mediasdk-and-x264.html
Post by Fernando Cassia
FC
--
During times of Universal Deceit, telling the truth becomes a revolutionary
act
- George Orwell
_______________________________________________
ffmpeg-user mailing list
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Fernando Cassia
2012-12-27 17:03:33 UTC
Permalink
Post by Henk D. Schoneveld
To further lower your expectations
http://www.behardware.com/articles/828-1/h-264-encoding-cpu-vs-gpu-nvidia-cuda-amd-stream-intel-mediasdk-and-x264.html
Thanks.

I also came across this one
http://tech.slashdot.org/story/12/05/08/2217236/the-wretched-state-of-gpu-transcoding

Hmmm...
FC
Andrew Sinclair
2012-12-27 21:07:37 UTC
Permalink
If you head over to the devel list there is some long running debate on the
pros/cons of cuda.
Post by Henk D. Schoneveld
Post by Henk D. Schoneveld
To further lower your expectations
http://www.behardware.com/articles/828-1/h-264-encoding-cpu-vs-gpu-nvidia-cuda-amd-stream-intel-mediasdk-and-x264.html
Thanks.
I also came across this one
http://tech.slashdot.org/story/12/05/08/2217236/the-wretched-state-of-gpu-transcoding
Hmmm...
FC
_______________________________________________
ffmpeg-user mailing list
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Roger Pack
2012-12-27 15:18:54 UTC
Permalink
Post by Carl Eugen Hoyos
Post by Fernando Cassia
The $1M dollar question, of course, is if FFMPEG can use
those devices for H.264 compression offloading off the cpu.
No.
In general, developers believe that you generally get slower
encoding with worse quality if you are not using the CPU. This
may not be true if you use an Atom with external hardware, but
this sounds like an atypical use-case. The typical case is a
very fast CPU with a GPU that encodes slower at a significantly
worse quality.
This may change if you can point us to the SDK of such an
external encoder, FFmpeg generally accepts external encoders if
there is a use-case.
I would love to see if this could be integrated:
https://developer.nvidia.com/nvidia-codec-libraries (nvcuvenc). There
"may" be libraries for linux, I haven't looked into it too much, but
every so often people that do live streaming with ffmpeg "wish" they
could use the graphics card for encoding, to save on cpu, so it might
be an interesting fit.
Loading...