[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