PDA

View Full Version : Mplayer far partire in automatico il MT e testare le prestazioni


Axl_Mas
28-01-2011, 12:09
Ciao!
Ho installato ffmpeg-mt da git e poi ho compilato mplayer con le cartelle libav* sostituite per abilitare il multi threads su mplayer.
Il problema è che ogni volta sono costretto a partire da terminale con l'opzione "-lavdopts threads=2"....
Come posso inserire il comando per sfruttare i 2 core nei file di configurazione in .mplayer in modo da far partire in automatico il programma da gui con il MT?

Inoltre come faccio a misurare le prestazioni di mplayer prima e dopo il mt? Esiste qualcosa per misurare i fps al secondo o qualcosa del genere oltre che misurare l'occupazione del processore?

grazie!

kernelex
28-01-2011, 14:10
non so su che ambiente stai.
ma, in /usr/share/applications
cerca mplayer.desktop e prova a inserire il comando lì.
agisci sulla riga: Exec

Axl_Mas
28-01-2011, 14:17
non so su che ambiente stai.
ma, in /usr/share/applications
cerca mplayer.desktop e prova a inserire il comando lì.
agisci sulla riga: Exec

Ubuntu 10.10, ora provo grazie!

gargamella
28-01-2011, 14:56
Al limite non basta aggiungerlo a mplayer.conf?

ThereThere
28-01-2011, 15:43
Ciao!
Ho installato ffmpeg-mt da git e poi ho compilato mplayer con le cartelle libav* sostituite per abilitare il multi threads su mplayer.
Il problema è che ogni volta sono costretto a partire da terminale con l'opzione "-lavdopts threads=2"....
Come posso inserire il comando per sfruttare i 2 core nei file di configurazione in .mplayer in modo da far partire in automatico il programma da gui con il MT?

Inoltre come faccio a misurare le prestazioni di mplayer prima e dopo il mt? Esiste qualcosa per misurare i fps al secondo o qualcosa del genere oltre che misurare l'occupazione del processore?

grazie!

Ciao, potresti dire che procedimento hai seguito per compilare ffmpeg-mt e mplayer per abilitare il supporto al multi-threading?

Grazie!

Axl_Mas
02-02-2011, 00:42
Ciao, potresti dire che procedimento hai seguito per compilare ffmpeg-mt e mplayer per abilitare il supporto al multi-threading?

Grazie!

Certo!Considera che ancora ffmpeg-mt è instabile (a quanto dicono per ora io non ho incontrato nessun problema).

Scarichi da git ffmpeg-mt
git://gitorious.org/~astrange/ffmpeg/ffmpeg-mt.git
poi cancelli dalla directory dei sorgenti di mplayer/ffmpeg le directory "libav*"
ci copi le direcotry "libav*" dei sorgenti ffmpeg-mt
e compili normalmente mplayer

dimmi se mi sono spiegato decentemente

ThereThere
02-02-2011, 12:34
Certo!Considera che ancora ffmpeg-mt è instabile (a quanto dicono per ora io non ho incontrato nessun problema).

Scarichi da git ffmpeg-mt
git://gitorious.org/~astrange/ffmpeg/ffmpeg-mt.git
poi cancelli dalla directory dei sorgenti di mplayer/ffmpeg le directory "libav*"
ci copi le direcotry "libav*" dei sorgenti ffmpeg-mt
e compili normalmente mplayer

dimmi se mi sono spiegato decentemente

Si, ti sei spiegato bene! :)

Ma devo compilare anche ffmpeg?

Detto così sembra semplice. Ma sostanzialmente che vantaggi otterrei abilitando mplayer e/o ffmpeg al multithreading??

Slater91
02-02-2011, 12:58
Si, ti sei spiegato bene! :)

Ma devo compilare anche ffmpeg?

Detto così sembra semplice. Ma sostanzialmente che vantaggi otterrei abilitando mplayer e/o ffmpeg al multithreading??

Banalmente detto, una maggiore velocità nell'esecuzione dei task. Se abiliti al multithreading un processo, significa che questo avrà a disposizione più d'un thread: dunque avrai a disposizione maggiore potenza di calcolo. Se non ho capito male nel mio bazzicare su queste cose per curiosità personale, in pratica sfrutti contemporaneamente più thread, ovvero più "linee di calcolo" del processore (in applicazioni non-multithreading c'è una sola "linea di calcolo" che è possibile sfruttare). In questo modo sfrutti anche più di un solo core della CPU, andando ad eseguire più calcoli in contemporanea e dunque a migliorare le prestazioni.
Se qualcuno sa spiegarlo meglio, che lo faccia, così imparo anche io :D

Axl_Mas
02-02-2011, 13:36
Si, ti sei spiegato bene! :)
Ma devo compilare anche ffmpeg?


No, sarà compilato (solo la parte libav* che hai spostato) mentre compilerai mplayer.

ThereThere
02-02-2011, 15:28
No, sarà compilato (solo la parte libav* che hai spostato) mentre compilerai mplayer.

Ok, ora ci provo senza compilare ffmpeg.

P.S. Ma se compilassi anche ffmpeg-mt beneficerei del multithreading, ad esempio, quando converto un file video (mentre con ffmpeg normale no) ?

ThereThere
02-02-2011, 15:31
Banalmente detto, una maggiore velocità nell'esecuzione dei task. Se abiliti al multithreading un processo, significa che questo avrà a disposizione più d'un thread: dunque avrai a disposizione maggiore potenza di calcolo. Se non ho capito male nel mio bazzicare su queste cose per curiosità personale, in pratica sfrutti contemporaneamente più thread, ovvero più "linee di calcolo" del processore (in applicazioni non-multithreading c'è una sola "linea di calcolo" che è possibile sfruttare). In questo modo sfrutti anche più di un solo core della CPU, andando ad eseguire più calcoli in contemporanea e dunque a migliorare le prestazioni.
Se qualcuno sa spiegarlo meglio, che lo faccia, così imparo anche io :D

ti ringrazio della risposta, comunque il mio dubbio è: a che serve una maggiore capacità di calcolo se non la si sfrutta? Ad esempio per la decodifica dei filmati faccio in modo che se ne occupi la scheda video, quindi avere mplayer multithreaded forse non mi servirebbe a nulla e quindi mi chiedevo dove è che avrei potuto avere vantaggi, magari nella codifica dei filmati ma se non ricordo male se ne occupa ffmpeg.

ThereThere
02-02-2011, 16:05
Stavo provando proprio adesso a compilare mplayer per supportare il multithreading ma ho un problema: se scarico i sorgenti di mplayer da subversion non scarica anche la cartella mplayer/ffmpeg !!!

Idee a riguardo?

ThereThere
02-02-2011, 18:14
Ho fatto anche altre prove: avevo già una cartella contenente i sorgenti di mplayer scaricati da subversion qualche tempo fa, tipo dicembre scorso, con dentro la cartella ffmpeg. lancio un make clean, sostituisco le cartelle libav*, compilo con il comando che mi genera automaticamente il pacchetto .deb e non va.
Seconda prova: scarico dal sito ufficiale di mplayer questa versione ---> LINK (http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.bz2) e mi accorgo che non ha la cartella ffmpeg bensì nella cartella principale ha 3 delle 6 cartelle libav* che dovrei sostituire, io sostituisco le 3 cartelle e aggiungo anche le altre 3 mancanti, provo a compilare con il classico ./configure && make e non va lo stesso.

Altre prove da fare??

Slater91
02-02-2011, 19:35
ti ringrazio della risposta, comunque il mio dubbio è: a che serve una maggiore capacità di calcolo se non la si sfrutta? Ad esempio per la decodifica dei filmati faccio in modo che se ne occupi la scheda video, quindi avere mplayer multithreaded forse non mi servirebbe a nulla e quindi mi chiedevo dove è che avrei potuto avere vantaggi, magari nella codifica dei filmati ma se non ricordo male se ne occupa ffmpeg.

Hai minore carico per core, banalmente. :D