[mythtv-users] Can you use vlc gpu acceleration to transcode?

belcampo belcampo at zonnet.nl
Fri Jul 16 17:45:21 UTC 2010


jansenj wrote:
> The subject says most of my question.  I'm wondering if it is possible 
> and if anyone has tried using that for transcode?  Especially for 
> transcode on the fly for platforms that can't play HD or mpg2.  From 
> what I read, it looks like vlc's use of vdpau only sends the data to the 
> GPU to be decoded.  It then gets it back before sending it to an output 
> device. I wonder if that would leave more of us with enough cpu headroom 
> to scale and encode the video all in real-time.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
I posted following ton ffmpeg-user list today:

[FFmpeg-user] Lineair scaling encoding with # Cores

Hi all,

1080i > 1080p other bitrate example.
1 Core encodes 1hour show in 8hours=3.75fps
2nd Core encodes another 1hour show also at 3.75fps
...
8th Core does the same.
After 8 hours you have 8 1hour shows. Hey that's realtime.

8Cores on 1 show with -threads 0 doesn't work that way, performance <45%

What's the difference ?
The size.
So let's solve that. We're good @ fixing, aren't we ?
Split the file in 8 pieces and put each Core on its own piece.
And does that work ?

YES it works!!!

By using Distributed Parallel Processing Shell Script vers. 2.81
from http://code.google.com/p/ppss/
I can encode a directory where the 8 chunks are and by using -thread 1.
I used it with >1000 2second chunks and IO is NOT a problem. Overhead is 
very limited, counter intuitive but that is what I messured.
A 2Core-Machine, in a 12Core setting / 5 machines total, achieves 90%. 
So 10% of 2/12 = 1.6666%
5 PC's, 4 Dual and 1 QuadCore.

A more elegant way would be that ffmpeg by itself would be able start 
Core1 @ 1st I-frame, Core2 @ 2nd I-frame ...
Core1 @ 9th I-frame etc.

One wouldn't need PPSS, the process of splitting and muxing together again.

Even better. Mplayer can play a file and step forward by pressing the 
'.' key. It should be relatively simple to start playing at an arbitrary 
frame, by first reading the I-frame before that point and decoding, 
invisible, following PB-frames and start at the requested frame.

Ffmpeg could do the same, decoding is relatively 'light', so one could 
choose small chunks to avoid delay/latency, HD-live-encoding would 
become possible, with current PC's.

There is a small but, 1st Core achieves 100%, all following achieve 80% 
of that. I don't know how HT performs vs. RealCores. I only use AMD atm.

Henk Schoneveld


More information about the mythtv-users mailing list