[RISOLTO] Motion e librerie ffmpeg

Se avete problemi con l'installazione e la configurazione di Slackware64 postate qui. Non usate questo forum per argomenti che trattano la Slackware32 o generali... per quelli usate rispettivamente il forum Slackware e Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware64 usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
doom
Linux 0.x
Linux 0.x
Messaggi: 30
Iscritto il: gio 17 feb 2011, 21:33
Slackware: 13.37_x64
Kernel: 2.6.*
Desktop: KDE
Distribuzione: Debian
Località: Torino

[RISOLTO] Motion e librerie ffmpeg

Messaggio da doom »

Salve a tutti, scrivo questo post dopo aver cercato (e trovato) vario materiale anche qui sul forum, ma che non mi ha portato a risolvere il problema (avrò cercato male :-k )

Allora ho appena installato una slack 13.37_64 e dopo qualche problemino di compilazione sono riuscito a far girare motion (apparentemente) senza errori.
Per chi non lo conoscesse motion è un software che permette di registrare e scattare immagini, anche solo quando rileva un movimento.

Ora, quando la webcam mi rileva un movimento inizia a salvare la sequenza di immagini correttamente secondo quanto ho settato nel file .conf, tuttavia non riesco a far sì che registri un video.
Per la parte video è necessario avere ffmpeg; pertanto ho provveduto all'installazione e provato a compilare nuovamente motion.

Risultato:

Codice: Seleziona tutto

Version: 3.2.12
Platform: Linux (if this is incorrect, please read README.FreeBSD)

Compiling Motion object files...
--------------------------------------------------------------------------------
gcc -g -O2 -D_REENTRANT -DHAVE_FFMPEG -I/usr/local/include -DFFMPEG_NEW_INCLUDES -DHAVE_FFMPEG_NEW -I/usr/include/mysql -DMOTION_V4L2 -DTYPE_32BIT="int" -DHAVE_BSWAP    -Wall -DVERSION=\"3.2.12\" -Dsysconfdir=\"/usr/local/etc\"    -c -o ffmpeg.o ffmpeg.c
ffmpeg.c:26:10: warning: #warning **************************************************
ffmpeg.c:27:10: warning: #warning Your version of FFmpeg is newer than version 0.4.8
ffmpeg.c:28:10: warning: #warning Newer versions of ffmpeg do not support MPEG1 with
ffmpeg.c:29:10: warning: #warning non-standard framerate. MPEG1 will be disabled for
ffmpeg.c:30:10: warning: #warning normal video output. You can still use mpeg4 and
ffmpeg.c:31:10: warning: #warning and mpeg4ms which are both better in terms of size
ffmpeg.c:32:10: warning: #warning and quality. MPEG1 is always used for timelapse.
ffmpeg.c:33:10: warning: #warning Please read the Motion Guide for more information.
ffmpeg.c:34:10: warning: #warning Note that this is not an error message!
ffmpeg.c:35:10: warning: #warning **************************************************
ffmpeg.c:183:5: warning: initialization from incompatible pointer type
ffmpeg.c: In function 'mpeg1_write_trailer':
ffmpeg.c:202:5: warning: 'put_buffer' is deprecated (declared at /usr/local/include/libavformat/avio.h:256)
ffmpeg.c:203:5: warning: 'put_flush_packet' is deprecated (declared at /usr/local/include/libavformat/avio.h:293)
ffmpeg.c: In function 'ffmpeg_init':
ffmpeg.c:232:5: warning: implicit declaration of function 'av_register_protocol'
ffmpeg.c: In function 'get_oformat':
ffmpeg.c:261:9: warning: implicit declaration of function 'guess_format'
ffmpeg.c:261:12: warning: assignment makes pointer from integer without a cast
ffmpeg.c:273:12: warning: assignment makes pointer from integer without a cast
ffmpeg.c:276:12: warning: assignment makes pointer from integer without a cast
ffmpeg.c:283:12: warning: assignment makes pointer from integer without a cast
ffmpeg.c:286:12: warning: assignment makes pointer from integer without a cast
ffmpeg.c:290:12: warning: assignment makes pointer from integer without a cast
ffmpeg.c:298:12: warning: assignment makes pointer from integer without a cast
ffmpeg.c: In function 'ffmpeg_open':
ffmpeg.c:380:21: error: 'CODEC_TYPE_VIDEO' undeclared (first use in this function)
ffmpeg.c:380:21: note: each undeclared identifier is reported only once for each function it appears in
ffmpeg.c:420:5: warning: 'av_set_parameters' is deprecated (declared at /usr/local/include/libavformat/avformat.h:1310)
ffmpeg.c:501:9: warning: 'url_fopen' is deprecated (declared at /usr/local/include/libavformat/avio.h:279)
ffmpeg.c:511:17: warning: 'url_fopen' is deprecated (declared at /usr/local/include/libavformat/avio.h:279)
ffmpeg.c: In function 'ffmpeg_close':
ffmpeg.c:599:9: warning: 'url_fclose' is deprecated (declared at /usr/local/include/libavformat/avio.h:280)
ffmpeg.c: In function 'ffmpeg_put_frame':
ffmpeg.c:649:22: error: 'PKT_FLAG_KEY' undeclared (first use in this function)
make: *** [ffmpeg.o] Error 1
Oltre a vari warning, il make si interrompe mentre compila.

Non so come venirne a capo, una mano please? :)

Grazie
Ultima modifica di doom il sab 14 mag 2011, 13:47, modificato 1 volta in totale.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Motion e librerie ffmpeg

Messaggio da 414N »

A me compila con lo stesso tuo warning riguardo al mancato supporto di ffmpeg verso mpeg1, ma poi non mi produce nessun errore.
Probabilmente questo è dovuto al fatto che ho installato sul sistema una versione di ffmpeg prelevata da git qualche giorno fa.
Ti rimando ad un mio post precedente nel quale trovi allegato uno script che ti scarica da git la versione odierna dei sorgenti di ffmpeg e te li comprime in un tarball: viewtopic.php?f=2&t=34044#p299814.
Non so se hai utilizzato uno SlackBuild per creare un pacchetto per ffmpeg, ma, se lo hai fatto, modificando la VERSION dovrebbe compilarti anche i sorgenti da git (probabilmente dovrai mettere mano ad alcuni paramentri del configure, perché cambiano spesso).

doom
Linux 0.x
Linux 0.x
Messaggi: 30
Iscritto il: gio 17 feb 2011, 21:33
Slackware: 13.37_x64
Kernel: 2.6.*
Desktop: KDE
Distribuzione: Debian
Località: Torino

Re: Motion e librerie ffmpeg

Messaggio da doom »

Allora ho fatto un pò di prove ma non sono riuscito a farlo andare.

Con il tuo script ho scaricato i sorgenti e ho provato a creare il pacchetto con uno slackbuild; tuttavia non riesce a finire l'operazione.
In questo momento non ho modo di postare l'output, ma mi pare fosse relativo a una directory mancante (o che non trovava).

A te riesce anche a catturare i video?
Perchè le immagini le cattura correttamente, ma i video no...
Appena posso posto l'errore che mi da durante la creazione del pacchetto.


Tra l'altro mi è venuta in mente una cosa che non so se può c'entrare qualcosa: motion l'ho installato compilando direttamente i sorgenti, ma credo di non averlo compilato come si deve; o meglio: configure make e make install sono andati a buon fine, ma non ho passato al configure alcun parametro e ora non so nemmeno dove l'abbia installato. Il fatto che io da gnubbo abbia eseguito un'installazione non proprio "ad hoc", può influire sul fatto che ora motion non riesca a puntare a ffmpeg correttamente? O non c'entra nulla?

Grazie!

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Motion e librerie ffmpeg

Messaggio da 414N »

doom ha scritto: Con il tuo script ho scaricato i sorgenti e ho provato a creare il pacchetto con uno slackbuild; tuttavia non riesce a finire l'operazione.
In questo momento non ho modo di postare l'output, ma mi pare fosse relativo a una directory mancante (o che non trovava).
Se lo SlackBuild di ffmpeg si blocca al momento della creazione delle pagine di manuale, è perché non hai lanciato lo SlackBuild da un ambiente root "pulito", quale una shell di login oppure tramite il comando "su -". Questo perché l'ambiente root ottenuto tramite il semplice su non contiene nel PATH i riferimenti alle directory di texmf, usato per creare le pagine di manuale/documentazione.
doom ha scritto: A te riesce anche a catturare i video?
Perchè le immagini le cattura correttamente, ma i video no...
Non ne ho idea, perché sul computer che uso di solito non ho webcam. Diciamo che il fatto che la compilazione e la creazione del pacchetto vadano a buon fine mi fa presumere che anche la cattura dei video funzioni.
doom ha scritto: Tra l'altro mi è venuta in mente una cosa che non so se può c'entrare qualcosa: motion l'ho installato compilando direttamente i sorgenti, ma credo di non averlo compilato come si deve; o meglio: configure make e make install sono andati a buon fine, ma non ho passato al configure alcun parametro e ora non so nemmeno dove l'abbia installato. Il fatto che io da gnubbo abbia eseguito un'installazione non proprio "ad hoc", può influire sul fatto che ora motion non riesca a puntare a ffmpeg correttamente? O non c'entra nulla?
Nulla di sbagliato nell'usare il classico ./configure && make install. Un neo di questo metodo è che ti va a piazzare i binari del programma e altra roba in /usr/local, perché di solito quello è il PREFIX di default nei configure. Su Slackware si usa come prefix /usr, ma questo non impedirà al programma di funzionare. È più una questione di aderenza allo stile della distribuzione che di giusto o sbagliato. Per quanto riguarda ffmpeg, se viene trovato durante la fase di configure, allora anche in seguito verrà trovato.
Altro "problema" di questo metodo è che se non crei un pacchetto Slackware dai sorgenti che hai compilato, ti toccherà poi mantenere la directory nella quale hai compilato i sorgenti intonsa, pena l'impossibilità di rimuovere un giorno il programma tramite un "make uninstall" (sempre che questo target di make sia supportato dal principio...).
Dato che su slackbuilds.org c'è uno SlackBuild per motion, io userei quello per compilarlo ed impacchettarlo. Prima però rimuovi quello compilato a manina ;)

doom
Linux 0.x
Linux 0.x
Messaggi: 30
Iscritto il: gio 17 feb 2011, 21:33
Slackware: 13.37_x64
Kernel: 2.6.*
Desktop: KDE
Distribuzione: Debian
Località: Torino

Re: Motion e librerie ffmpeg

Messaggio da doom »

Ho rimosso il "vecchio" motion compilato senza prefix e ho ricompilato il tutto senza errori.
Ora funziona!

Grazie mille per le dritte :)

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: [RISOLTO] Motion e librerie ffmpeg

Messaggio da 414N »

Di niente ;)

Rispondi