Je souhaite convertir des vidéos à lire sur mon téléviseur Kogan à l'aide d'un disque dur portable, mais j'ai du mal à le faire fonctionner. La plupart de mes fichiers avi, codés en utilisant xvid, apparaissent tous sous forme de "fichier non pris en charge" sur le téléviseur.
Le seul fichier que j'ai trouvé qui fonctionne est signalé comme étant le suivant par file
:
test.avi: RIFF (little-endian) data, AVI, 640 x 464, 23.98 fps, video: DivX 4, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
Mais je n'arrive pas à trouver une ligne de commande avconv
appropriée pour convertir quoi que ce soit d'autre dans ce format.
Le téléviseur prétend prendre en charge (de ici ):
AVI (MPEG - 1/2 et MPEG-4 codé divx 4) et MP4 (MPEG - 1/2 et MPEG-4 codé divx 4))
Il s'avère que j'avais juste besoin de tromper le téléviseur en lui faisant croire qu'il s'agissait du codec DivX alors qu'il s'agit vraiment du codec xvid, en changeant la balise vidéo (ou FourCC en DIVX
) en utilisant -tag:v DIVX
:
avconv -i input.mp4 -c:v libxvid -c:a libmp3lame -b 700k -tag:v DIVX output.avi
Ce qui semble acceptable pour le téléviseur, et file
produit maintenant des images similaires à ma bonne vidéo:
output.avi: RIFF (little-endian) data, AVI, 640 x 480, 25.00 fps, video: DivX 4, audio: MPEG-1 Layer 3 (stereo, 44100 Hz)
Certains lecteurs multimédias ne prennent pas en charge le format Divx mais peuvent lire Xvid
Dans mon cas, j'ai utilisé avconv pour définir la bonne balise et laisser mon lecteur multimédia le lire comme Xvid et non Divx:
$ avconv -i input.avi -vtag Xvid -c:a copy -c:v copy output.avi
Après ça :
$ file input.avi
input.avi: RIFF (little-endian) data, AVI, 640 x 360, 23.98 fps, video: DivX 4, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
$ file output.avi
output.avi: RIFF (little-endian) data, AVI, 640 x 360, 23.98 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)