Fotocamera e file MOV

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware 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 Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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
Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Fotocamera e file MOV

Messaggio da targzeta »

Salve a tutti. Il mio problema è semplice. Ho un video fatto con la mia fotocamera digitale, solo che risulta troppo "lungo" e "noioso" ed ho pensato bene di accorciarlo.

Scarico il video, lo accorcio con (ad esempio):

Codice: Seleziona tutto

ffmpeg -i tmp/DSCN5550.MOV -ss 00:00:27 -t 00:00:03 -acodec copy -vcodec copy prova.mov
lo riporto sulla fotocamera e voilà, la fotocamera non mi riconosce più il video (questo è successo con due fotocamere diverse). Com'è possibile?

Ecco le informazioni sul video originale (vi riporto tutto, anche se molto non serve):

Codice: Seleziona tutto

ffmpeg -i tmp/DSCN5550.MOV 
ffmpeg version 0.8.2.git, Copyright (c) 2000-2011 the FFmpeg developers
  built on Aug 28 2011 19:42:46 with gcc 4.5.3
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/man --disable-debug --disable-static --disable-mmx --disable-mmx2 --disable-amd3dnow --disable-amd3dnowext --enable-stripping --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-x11grab --enable-gray --enable-fastdiv --enable-hardcoded-tables --enable-memalign-hack --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib --enable-pic --enable-sram
  libavutil    51. 14. 0 / 51. 14. 0
  libavcodec   53. 12. 0 / 53. 12. 0
  libavformat  53. 10. 0 / 53. 10. 0
  libavdevice  53.  3. 0 / 53.  3. 0
  libavfilter   2. 35. 0 /  2. 35. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0

Seems stream 0 codec frame rate differs from container frame rate: 600.00 (600/1) -> 30.00 (30/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tmp/DSCN5550.MOV':
  Metadata:
    creation_time   : 2011-08-30 17:51:40
    comment         : NIKON DIGITAL CAMERA                             
    comment-eng     : NIKON DIGITAL CAMERA                             
  Duration: 00:01:02.06, start: 0.000000, bitrate: 4157 kb/s
    Stream #0.0(eng): Video: mjpeg (jpeg / 0x6765706A), yuvj422p, 320x240, 4073 kb/s, 30 fps, 30 tbr, 600 tbn, 600 tbc
    Metadata:
      creation_time   : 2011-08-30 17:51:40
    Stream #0.1(eng): Audio: pcm_u8 (raw  / 0x20776172), 7875 Hz, 1 channels, u8, 63 kb/s
    Metadata:
      creation_time   : 2011-08-30 17:51:40
At least one output file must be specified
ed ecco quelle del video tagliato:

Codice: Seleziona tutto

ffmpeg -i prova.mov 
ffmpeg version 0.8.2.git, Copyright (c) 2000-2011 the FFmpeg developers
  built on Aug 28 2011 19:42:46 with gcc 4.5.3
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/man --disable-debug --disable-static --disable-mmx --disable-mmx2 --disable-amd3dnow --disable-amd3dnowext --enable-stripping --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-x11grab --enable-gray --enable-fastdiv --enable-hardcoded-tables --enable-memalign-hack --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib --enable-pic --enable-sram
  libavutil    51. 14. 0 / 51. 14. 0
  libavcodec   53. 12. 0 / 53. 12. 0
  libavformat  53. 10. 0 / 53. 10. 0
  libavdevice  53.  3. 0 / 53.  3. 0
  libavfilter   2. 35. 0 /  2. 35. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0

Seems stream 0 codec frame rate differs from container frame rate: 600.00 (600/1) -> 30.00 (30/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'prova.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
    compatible_brands: qt  
    creation_time   : 2011-08-29 23:00:00
    encoder         : Lavf53.10.0
  Duration: 00:00:03.00, start: 0.000000, bitrate: 4115 kb/s
    Stream #0.0(eng): Video: mjpeg (jpeg / 0x6765706A), yuvj422p, 320x240, 4046 kb/s, 30 fps, 30 tbr, 600 tbn, 600 tbc
    Metadata:
      creation_time   : 2011-08-29 23:00:00
    Stream #0.1(eng): Audio: pcm_u8 (raw  / 0x20776172), 7875 Hz, 1 channels, u8, 63 kb/s
    Metadata:
      creation_time   : 2011-08-29 23:00:00
At least one output file must be specified
Qualcuno ha qualche idea? Come vedete le uniche cose che sembrano differire sono i metadati. Le ho provate tutte per scrivere i metadati di input sull'output ma non ne vuole sapere. Quando codifica mi sembra che funzioni:

Codice: Seleziona tutto

ffmpeg -i tmp/DSCN5550.MOV -vcodec copy -acodec copy -metadata comment='NIKON DIGITAL CAMERA' -metadata comment-eng='NIKON DIGITAL CAMERA' -metadata creation_time='2011-08-30 17:51:40' -map_metadata -1,g -ss 00:00:27 -t 00:00:04 -y prova.mov
ffmpeg version 0.8.2.git, Copyright (c) 2000-2011 the FFmpeg developers
  built on Aug 28 2011 19:42:46 with gcc 4.5.3
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/man --disable-debug --disable-static --disable-mmx --disable-mmx2 --disable-amd3dnow --disable-amd3dnowext --enable-stripping --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-x11grab --enable-gray --enable-fastdiv --enable-hardcoded-tables --enable-memalign-hack --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib --enable-pic --enable-sram
  libavutil    51. 14. 0 / 51. 14. 0
  libavcodec   53. 12. 0 / 53. 12. 0
  libavformat  53. 10. 0 / 53. 10. 0
  libavdevice  53.  3. 0 / 53.  3. 0
  libavfilter   2. 35. 0 /  2. 35. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0

Seems stream 0 codec frame rate differs from container frame rate: 600.00 (600/1) -> 30.00 (30/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tmp/DSCN5550.MOV':
  Metadata:
    creation_time   : 2011-08-30 17:51:40
    comment         : NIKON DIGITAL CAMERA                             
    comment-eng     : NIKON DIGITAL CAMERA                             
  Duration: 00:01:02.06, start: 0.000000, bitrate: 4157 kb/s
    Stream #0.0(eng): Video: mjpeg (jpeg / 0x6765706A), yuvj422p, 320x240, 4073 kb/s, 30 fps, 30 tbr, 600 tbn, 600 tbc
    Metadata:
      creation_time   : 2011-08-30 17:51:40
    Stream #0.1(eng): Audio: pcm_u8 (raw  / 0x20776172), 7875 Hz, 1 channels, u8, 63 kb/s
    Metadata:
      creation_time   : 2011-08-30 17:51:40
Output #0, mov, to 'prova.mov':
  Metadata:
    comment         : NIKON DIGITAL CAMERA
    comment-eng     : NIKON DIGITAL CAMERA
    creation_time   : 2011-08-30 17:51:40
    encoder         : Lavf53.10.0
    Stream #0.0(eng): Video: mjpeg (jpeg / 0x6765706A), yuvj422p, 320x240, q=2-31, 4073 kb/s, 600 tbn, 600 tbc
    Metadata:
      creation_time   : 2011-08-30 17:51:40
    Stream #0.1(eng): Audio: pcm_u8 (raw  / 0x20776172), 7875 Hz, 1 channels, 63 kb/s
    Metadata:
      creation_time   : 2011-08-30 17:51:40
Stream mapping:
  Stream #0.0 -> #0.0: copy
  Stream #0.1 -> #0.1: copy
Press [q] to stop, [?] for help
frame=  120 fps=  0 q=-1.0 Lsize=    2026kB time=00:00:03.96 bitrate=4182.4kbits/s    
video:1993kB audio:31kB global headers:0kB muxing overhead 0.111710%
ma poi:

Codice: Seleziona tutto

 ffmpeg -i prova.mov 
ffmpeg version 0.8.2.git, Copyright (c) 2000-2011 the FFmpeg developers
  built on Aug 28 2011 19:42:46 with gcc 4.5.3
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/man --disable-debug --disable-static --disable-mmx --disable-mmx2 --disable-amd3dnow --disable-amd3dnowext --enable-stripping --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-x11grab --enable-gray --enable-fastdiv --enable-hardcoded-tables --enable-memalign-hack --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib --enable-pic --enable-sram
  libavutil    51. 14. 0 / 51. 14. 0
  libavcodec   53. 12. 0 / 53. 12. 0
  libavformat  53. 10. 0 / 53. 10. 0
  libavdevice  53.  3. 0 / 53.  3. 0
  libavfilter   2. 35. 0 /  2. 35. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0

Seems stream 0 codec frame rate differs from container frame rate: 600.00 (600/1) -> 30.00 (30/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'prova.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
    compatible_brands: qt  
    creation_time   : 2011-08-29 23:00:00
    encoder         : Lavf53.10.0
  Duration: 00:00:04.00, start: 0.000000, bitrate: 4149 kb/s
    Stream #0.0(eng): Video: mjpeg (jpeg / 0x6765706A), yuvj422p, 320x240, 4081 kb/s, 30 fps, 30 tbr, 600 tbn, 600 tbc
    Metadata:
      creation_time   : 2011-08-29 23:00:00
    Stream #0.1(eng): Audio: pcm_u8 (raw  / 0x20776172), 7875 Hz, 1 channels, u8, 63 kb/s
    Metadata:
      creation_time   : 2011-08-29 23:00:00
At least one output file must be specified
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

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

Re: Fotocamera e file MOV

Messaggio da 414N »

Prova a specificare

Codice: Seleziona tutto

-map_meta_data 0:0

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Fotocamera e file MOV

Messaggio da targzeta »

Niente da fare. Ho provato con questa riga di comando:

Codice: Seleziona tutto

ffmpeg -i tmp/DSCN5550.MOV -vcodec copy -acodec copy -metadata comment='NIKON DIGITAL CAMERA' -metadata comment-eng='NIKON DIGITAL CAMERA' -metadata creation_time='2011-08-30 17:51:40' -map_metadata -1,g -map_meta_data 0:0 -ss 00:00:27 -t 00:00:04 -y prova.mov
ma il risultato è lo stesso. Mentre crea il video mi riporta i metadati come voglio io, ma poi il video contiene sempre i metadati che vuole lui.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Fotocamera e file MOV

Messaggio da targzeta »

Comunque, forse il problema sono davvero i metadati, il che lo trovo semplicemente strano. Ho provato a copiare un video fatto da una fotocamera all'altra e non me lo ha riconosciuto.

Non è che conoscete qualche tool per modificare i file .MOV a piacere? Ho visto la libreria libquicktime ma riportano il manuale del solo comando che serve a riprodurre i video :). Comunque così "a occhio" anche gli altri comandi installati non sembrano fare al caso mio.

Grazie mille,
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Fotocamera e file MOV

Messaggio da targzeta »

Ho trovato online questo tool scritto in perl:
http://www.sno.phy.queensu.ca/~phil/exiftool/
E' molto carino, peccato che non modifica i metadati dei MOV :(. Comunque li legge e, leggendoli, ho scoperto che ci sono un sacco di informazioni che ffmpeg neanche considera. Questo sono i metadati del file originale:

Codice: Seleziona tutto

ExifTool Version Number         : 8.63
File Name                       : DSCN5550.MOV
Directory                       : ..
File Size                       : 31 MB
File Modification Date/Time     : 2011:08:31 21:48:03+02:00
File Permissions                : rw-r--r--
File Type                       : MOV
MIME Type                       : video/quicktime
Preview Date                    : 2011:08:30 17:51:40
Preview Version                 : 0
Preview Atom Type               : PICT
Preview Atom Index              : 1
Preview PICT                    : (Binary data 5980 bytes, use -b option to extract)
Movie Data Size                 : 32242688
Movie Header Version            : 0
Create Date                     : 2011:08:30 17:51:40
Modify Date                     : 2011:08:30 17:51:40
Time Scale                      : 600
Duration                        : 0:01:02
Preferred Rate                  : 1
Preferred Volume                : 99.61%
Preview Time                    : 0 s
Preview Duration                : 0 s
Poster Time                     : 0 s
Selection Time                  : 0 s
Selection Duration              : 0 s
Current Time                    : 0 s
Next Track ID                   : 2
Track Header Version            : 0
Track Create Date               : 2011:08:30 17:51:40
Track Modify Date               : 2011:08:30 17:51:40
Track ID                        : 1
Track Duration                  : 0:01:02
Track Layer                     : 0
Track Volume                    : 0.00%
Image Width                     : 320
Image Height                    : 240
Graphics Mode                   : ditherCopy
Op Color                        : 32768 32768 32768
Compressor ID                   : jpeg
Vendor ID                       : Nikon
Source Image Width              : 320
Source Image Height             : 240
X Resolution                    : 72
Y Resolution                    : 72
Compressor Name                 : Photo - JPEG
Bit Depth                       : 24
Video Frame Rate                : 30
Matrix Structure                : 1 0 0 0 1 0 0 0 1
Media Header Version            : 0
Media Create Date               : 2011:08:30 17:51:40
Media Modify Date               : 2011:08:30 17:51:40
Media Time Scale                : 7875
Media Duration                  : 0:01:02
Balance                         : 0
Handler Class                   : Data Handler
Handler Type                    : Alias Data
Handler Vendor ID               : Nikon
Audio Format                    : raw
Audio Channels                  : 1
Audio Bits Per Sample           : 8
Audio Sample Rate               : 7875
Format                          : Digital Camera
Information                     : NIKON DIGITAL CAMERA
Make                            : NIKON DIGITAL CAMERA
Camera Model Name               : E3700
Exposure Time                   : 1/35
F Number                        : 4.8
Exposure Compensation           : 0
White Balance                   : Auto
Focal Length                    : 15.5 mm
Software                        : E3700v1.1
ISO                             : 100
Aperture                        : 4.8
Avg Bitrate                     : 4.16 Mbps
Image Size                      : 320x240
Rotation                        : 0
Shutter Speed                   : 1/35
Focal Length                    : 15.5 mm
Light Value                     : 9.7
alcuni dati comunque mi sembrano prelevati dall'inode del file.

Se conoscete qualche tool per modificare i metadati MOV (a questo punto andrebbe bene anche un tool per windows), fatemelo sapere,
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

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

Re: Fotocamera e file MOV

Messaggio da 414N »

spina ha scritto:

Codice: Seleziona tutto

ffmpeg -i tmp/DSCN5550.MOV -vcodec copy -acodec copy -metadata comment='NIKON DIGITAL CAMERA' -metadata comment-eng='NIKON DIGITAL CAMERA' -metadata creation_time='2011-08-30 17:51:40' -map_metadata -1,g -map_meta_data 0:0 -ss 00:00:27 -t 00:00:04 -y prova.mov
Veramente intendevo di usare la sola opzione -map_meta_data, senza fare l'override di alcuni tag dei metadati tramite l'opzione -metadata.
Riguardo il problema originario, è anche possibile che la fotocamera mantenga un DB interno sui filmati che gira, magari con un hash per riconoscere i filmati o qualche altra informazione del genere che tu non hai prodotto semplicemente copiando un nuovo filmato nella directory dei filmati.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Fotocamera e file MOV

Messaggio da targzeta »

414N, niente da fare. Anche mettendo la sola opzione che suggerisci tu il risultato è sempre lo stesso.

La fotocamera ha dei suoi file e anche un indice, che presumo utilizzi per velocizzare qualche operazione. Comunque io ho cancellato tutti i file lasciando la sola directory che contiene le mie foto/video. Quando la spengo (o la riaccendo) lei si ricrea tutto, ma il risultato non cambia. Questa è stata una delle prime prove che ho fatto.

Sono sempre più convinto che l'errore sia dovuto alla differenza tra i metadati, però non ne sono sicurissimo.
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

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

Re: Fotocamera e file MOV

Messaggio da 414N »

Per modificare i metadati direttamente senza usare ffmpeg, ho trovato due alternative.
La prima, in ambito Linux, è XMP Manager. È ancora in sviluppo (tanto per dire, se il path ha uno spazio al suo interno non apre il file...).
La seconda è XnView, un visualizzatore di immagini per windows, che permette di vedere anche un certo numero di filmati (anche i mov) e modificarne i metadati. È per windows, ma su wine sembra comportarsi bene. C'è anche una versione in sviluppo per Mac/Linux, ma non so come si comporti.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Fotocamera e file MOV

Messaggio da targzeta »

Grazie per le ricerche 414N. XMP Manager l'avevo visto, è da li che sono risalito agli exiftool. Vedrò un po' di provare XnView e vedere cosa succede.

Grazie ancora,
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Rispondi