Newsgroup: it.comp.os.linux.software
Titolo: ffmpeg: da video qualunque a mp4 compatibile con smartTV

Ciao a tutti,
 
 
ho provato (quasi) senza successo a convertire dei file video per un Philips 
39pfl3807h:
 
ffmpeg -i "$file" -acodec libfaac -vcodec libx264 -vb 2M -r 23.976 "$tvfile"
 
ffmpeg -i "$file" -ss 60 -t 60 -acodec libfaac -vcodec libx264 -b 2500k 
"$tvfile"
 
ffmpeg -i "$file" -acodec libfaac -vcodec libx264 -b 2500k -r 23.976 
"$tvfile"
 
ffmpeg -i "$file" -acodec libfaac -vcodec libx264 -b 2500k -preset slower -r 
23.976 "$tvfile"
 
ffmpeg -i "$file" -f mp4 -vcodec mpeg4 -acodec libfaac -b 2500k "$tvfile"
 
ffmpeg -i "$file" -acodec libfaac -vcodec libx264 -vprofile baseline -
movflags faststart -qscale 0 "$tvfile"
 
Tutte i precedenti comandi creano dei file che poi non sono riconosciuti 
dalla tv (audio non supportato, video non supportato).
 
 
Il seguente funziona, ma genera file un po' troppo grandi:
 
ffmpeg -i "$file" -target film-dvd "$tvfile"
 
 
I file video ripresi con un Samsung Galaxy SII si vedono senza problemi, ma 
come faccio a convertire un file video in modo che abbia le seguenti 
caratteristiche, ovvero che possa riprodurre sulla TV?
 
$ mediainfo 20130608_071719.mp4
General
Complete name                            : 20130608_071719.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom
File size                                : 75.5 MiB
Duration                                 : 2mn 57s
Overall bit rate                         : 3 574 Kbps
Encoded date                             : UTC 2013-06-08 05:20:24
Tagged date                              : UTC 2013-06-08 05:20:24
 
Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Baseline@L3.0
Format settings, CABAC                   : No
Format settings, ReFrames                : 1 frame
Format settings, GOP                     : M=1, N=30
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 2mn 57s
Bit rate                                 : 3 446 Kbps
Width                                    : 720 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 3:2
Frame rate mode                          : Variable
Frame rate                               : 29.970 fps
Minimum frame rate                       : 14.903 fps
Maximum frame rate                       : 47.418 fps
Standard                                 : NTSC
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.333
Stream size                              : 72.8 MiB (96%)
Title                                    : VideoHandle
Language                                 : English
Encoded date                             : UTC 2013-06-08 05:20:24
Tagged date                              : UTC 2013-06-08 05:20:24
 
Audio
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : 40
Duration                                 : 2mn 56s
Source duration                          : 2mn 56s
Source_Duration_FirstFrame               : 6ms
Bit rate mode                            : Constant
Bit rate                                 : 128 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 2.61 MiB (3%)
Source stream size                       : 2.61 MiB (3%)
Title                                    : SoundHandle
Language                                 : English
Encoded date                             : UTC 2013-06-08 05:20:24
Tagged date                              : UTC 2013-06-08 05:20:24
mdhd_Duration                            : 176704
 
 
Ciao e grazie,
  Void


 
Non so se funziona a te, ma a me si:
 
avconv -y -i file_in -s hd720 -f avi -vcodec libx264 -crf 22 -b 1152k 
-acodec libmp3lame -ab 128k -ac 2 -ar 44100 fileout.avi
 
crea un HD in mp4 che mi viene vista da tutto: tv, tablet, smartphone, 
mplayer (ovviamente, eheh)
 
 
 
Ciao!

 Format                                   : MPEG-4
 
Ma cosi' hai provato?
ffmpeg -i origine -qscale 0 destinazione.mp4
 
Ottimo sarebbe se ti prende i .mov
ffmpeg -i origine destinazione.mov
(hanno la h264 e -sameq di default)
 
Puoi provare anche gli avi, al default o con la labreria 264:
ffmpeg -i origine -codec:v libx264 -qscale 0 destinazione.avi
 
Il qscale mi sembra che sia inutile con la 264, ma tanto non guasta.
La grandezza del file avi con l'h264 e' minima e uguale al mov, pero'
bada che nelle scene lentissime da me certe volte l'avi con la h264 mi
va a scatti, mentre invece col mov mai.
 
Pero' puoi provare anche a ridurre cosi' e fare 1 solo vob gigante:
ffmpeg -i origine -s 360x288 -qscale 0 destinazione.vob
 
P.S. Puoi vedere anche se prende la h264 con l'mp4:
ffmpeg -i origine -codec:v libx264 -qscale 0 destinazione.mp4
pero' deve anche poi leggerla il lettore tuo.
 
-- 
Tanti saluti
 

Il mio lettore del salotto della Samsung si lamenta se non imposto
opportunamente il 4CC del filmato in uscita.
Uso mencoder e l'opzione e': -ffourcc DX50
Ad esempio:
 
mencoder origine -oac mp3lame -lameopts cbr:br=128 -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=1280 -noodml -ffourcc DX50 -o destinazione.avi
 
PS: Se tento di fargli visualizzare file non validi mi visualizza un
ridicolo messaggio di errore tradotto da cani.
L'errore che mi da e': "Questa lima non e' sostenuta"
 
-- 
 ____  Saluti dal   | Eliminate  .non.voglio.spam  dall'indirizzo
(_  _)  __  __ ___  | per rispondermi, se non vi piace quello che
  )/ o\/  \/o_\>-_) | ho scritto considerate che,  in un universo
 (_\_-_|_|_\__/___> | parallelo,  potrebbe essere anche  diverso.

 -acodec libmp3lame -ab 128k -ac 2 -ar 44100 fileout.avi
 
Funziona perfettamente, grazie mille!
 
 
Ciao,
  Void

 ffmpeg -i origine -codec:v libx264 -qscale 0 destinazione.mp4
 
Dovrebbe prenderlo, però alla fine sembra che più che il codec sia la 
dimensione (frame) a dare fastidio... Devo provare con questo:
 
ffmpeg -i origine -s hd720 destinazione.mov (o mp4)
 
 
Ciao e grazie,
  Void

 ffmpeg -i origine -s hd720 destinazione.mov (o mp4)
 
Penso meglio "-s 720x576", devi farlo coi sottomultipli dell'origine se
no non sempre te lo prende, per dire: potresti fare -s 480x384 a 2/3.
Ma insomma: i mov e gli mp4 te li legge o non te li legge?
 
-- 
Tanti saluti
 

 Ma insomma: i mov e gli mp4 te li legge o non te li legge?
 
I mov no, gli mp4 sì (ad es. quelli fatti con un Samsung Galaxy SII), ma ho 
fatto qualche prova con qualche video generico (non del Samsung) e per 
adesso l'unica soluzione che funziona è questa:
 
ffmpeg -i file_in -s hd720 -f avi -vcodec libx264 -crf 22 -b 1152k 
-acodec libmp3lame -ab 128k -ac 2 -ar 44100 fileout.avi
 
Come dici tu ci mette parecchio, ma funziona... Farò altre prove.
 
 
Ciao e grazie,
  Void

 L'errore che mi da e': "Questa lima non e' sostenuta"
 
:-)
 
 
Ciao,
  Void

 Come dici tu ci mette parecchio, ma funziona... Farò altre prove.
 
Alla fine la soluzione più semplice che per me funziona è questa:
 
  ffmpeg -i src.avi -f avi -qscale 0 dst.mp4
 
 
Ciao e grazie ancora a tutti,
  Void