Forum Linux.général ffmpeg et conversion de mp4 version 1 en version 2

Posté par . Licence CC by-sa
Tags : aucun
1
23
mai
2015

Bonjour,

Je viens d'acheter un cadre photo numérique, et je n'arrive pas à lire dessus les vidéos mp4 que je réalise avec ma tablette :-/

Une vidéo capturée sur Youtube fonctionne sur le cadre, et avec la commande file je me suis aperçu que les mp4 créés via la tablette sont en version 1 :
VID_20150516_172601.mp4: ISO Media, MPEG v4 system, version 1
alors que les mp4 que le cadre lit bien sont en version 2

Je viens de passer quelques heures à consulter Google, pour trouver des options de ffmpeg pour convertir mes mp4, mais ils restent en version 1.
J'ai même essayé de ruser en convertissant en avi puis transformer l'avi en mp4 : c'est toujours de la version 1 :-(

Une idée ? Merci d'avance !

  • # codec ?

    Posté par (page perso) . Évalué à 2.

    Est-ce que cela ne serait pas plutôt un problème de codec ?
    Il serait étonnant que ton cadre puisse lire les mp4 version 2 mais pas les mp4 version 1.

    De mémoire, tu peux avoir les informations sur les codecs d'un fichier via la commande ffmpeg -i video.mp4.

    Je t'invite à l'exécuter sur une vidéo youtube et sur une vidéo prise de ta tablette. Ensuite, convertir ta vidéo prise de la tablette pour utiliser les mêmes codecs que la vidéo youtube et tester.

    • [^] # Re: codec ?

      Posté par . Évalué à 1.

      Je t'invite à l'exécuter sur une vidéo youtube et sur une vidéo prise de ta tablette. Ensuite, convertir ta vidéo prise de la tablette pour utiliser les mêmes codecs que la vidéo youtube et tester.

      Je viens de comparer les informations que me donne VLC sur la vidéo créée par la tablette :
      Codec : H264 - MPEG-4 AVC (part 10) (avc1)
      Résolution : 1280x720
      Débit d'images : 30.247114
      Format décodé: Planar 4:2:0 YUV

      Codec : MPEG AAC Audio (mp4a)
      Fréquence d'échantillonnage: 44100 Hz

      puis sur une vidéo Youtube qui passe bien sur le cadre :
      Codec : H264 - MPEG-4 AVC (part 10) (avc1)
      Résolution : 640x360
      Débit d'images : 24
      Format décodé: Planar 4:2:0 YUV

      Codec : MPEG AAC Audio (mp4a)
      Fréquence d'échantillonnage: 44100 Hz

      Je constate qu'en fait ce qui fait la différence, ce sont la résolution et le débit…

      • [^] # Re: codec ?

        Posté par (page perso) . Évalué à 2.

        La résolution et le débit peuvent changer beaucoup de choses ! Essai en convertissant la vidéo en utilisant la même résolution et/ou le même débit que les vidéos Youtube.

        Par exemple :
        ffmpeg -i input.mp4 -vf scale=640:360 -r24 output.mp4

        • [^] # Re: codec ?

          Posté par . Évalué à 1.

          J'ai essayé, et au lieu de m'afficher simplement "incompatible" en rouge, là le cadre se plante sur un écran tout noir :-)

          ffmpeg -i t.mp4 -r 24 -vf "scale=640x360,pad=640:480:0:60:black" -strict -2 r6.mp4

          permet de retailler la vidéo sans le plantage, et à côté du nom du fichier, le cadre m'affiche bien une image de la vidéo.
          Ça me donne toujours droit au message "incompatible", mais j'avance un peu…

  • # Quelques paramètres ffmpeg

    Posté par . Évalué à 2.

    Salut,

    Je pense qu'il y a quelques paramètres FFmpeg avec lesquels il faut jouer quand on veut s'assurer d'avoir un maximum de compatibilité sur les MP4.

    De mémoire, ces paramètres-là sont déjà un bon début :
    -profile:v baseline -level 3.0 -pix_fmt yuv420p -movflags +faststart

    https://trac.ffmpeg.org/wiki/Encode/H.264#Compatibility

    GRUB3 will be Elisp serialized as XML jited to JVM running as Eclipse plugin on a Mac running in a virtual PC in a Xen instance on a 286er.

  • # Solution trouvée !

    Posté par . Évalué à 1.

    Sur https://dgtlmoon.com/mp4_video_to_mpeg_youtube_ready_conversion j'ai trouvé la solution à mon problème !

    La commande magique c'est :
    ffmpeg -i f.mp4 -target ntsc-vcd f.mpg

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.