J'essaie de trouver le format vidéo sans perte le plus approprié pour la vidéo 1280x720 25fps. La vidéo a 4 minutes. Le son sera de 320 kbps mp3, ce n'est pas un gros problème. Conditions idéales:
- Sans perte (peut être sans perte de perception)
- Container + codec peut être joué sur la plupart des plateformes
- Container + codec peut être lu sur des lecteurs DVD modernes (prenant en charge d'autres formats que les DVD)
- La taille est inférieure à 700 Mo
Est-ce que c'est possible? Ont déjà eu du mal trois jours, sans aucun résultat satisfaisant, même en obtenant des fichiers de 12 Go (semble beaucoup - 3 Go / minute).
video
ffmpeg
video-editing
mrkva
la source
la source
Réponses:
Le meilleur format réel, mathématiquement sans perte que je connaisse, est huffyuv, mais qui produira des fichiers énormément énormes et ne serait pas compatible avec beaucoup. Pour mémoire, ffmpeg peut le faire avec:
X264, l'encodeur open source h.264, dispose d'un mode sans perte. Cela peut aller à l'intérieur d'un conteneur MP4 et devrait être compatible avec la plupart des matériels fabriqués ces dernières années. La première commande donnera une vitesse d'encodage rapide, mais un fichier volumineux; la deuxième commande prendra beaucoup plus de temps, mais le fichier devrait être environ la moitié de la taille de celui à encodage rapide (il sera quand même assez gros):
Si cela ne vous donne pas un fichier suffisamment petit, un crf de 18 est généralement considéré comme 'sans perte visuelle':
Je recommande généralement le préréglage très rapide pour l'encodage avec x264, selon mon expérience, il offre le meilleur compromis vitesse / taille (il y a une grande baisse de la taille du fichier entre super rapide et très rapide, plus lente que cela et c'est plus incrémentielle). Le conseil général est d'utiliser le préréglage le plus lent que vous pouvez gérer, les préréglages sont: ultra-rapide, ultra-rapide, très rapide, plus rapide, rapide, moyen, lent, plus lent, très lent.
Voir ici pour un guide plus approfondi de l'encodage x264.
la source
veryfast
comme bon défaut pour le x264 avec perte.medium
est un bon compromis, mais j'utilise habituellementveryslow
pour l'encodage final de tout. Cehuffyuv
n'est même pas très rapide, je ne le recommanderais pas pour autre chose que la compatibilité.Ces jours-ci, j'aime webm :
Pour convertir plus rapidement, avec des processeurs multicœurs, j'ai lu qu'il est recommandé d'utiliser un thread de moins que vous n'en avez de vrais cœurs. Donc, avec un noyau 8, vous pouvez spécifier 7 threads comme ceci:
la source
pour avoir une compatibilité totale avec les lecteurs DVD, vous devrez utiliser le format MPEG-2, le conteneur, les restrictions, les codecs. Je suppose que «lecteurs modernes» signifie compatibilité «mp4», qui est essentiellement et principalement un lecteur de fichiers mp4 - H.264, MPEG-4, AVC => libx264 en
# VIDÉOsavoir plus: https://de.wikipedia.org/wiki /H.264
Jetez un œil à https://trac.ffmpeg.org/wiki/Encode/H.264 , en particulier la partie où il est question de "profil" et de "niveau", pour la compatibilité, l'
# L'AUDIOutilisation
-profile:v high -level 4.0
devrait le faireÉvitez de ré-encoder les pistes audio avec des codecs avec perte - tout format mp3 est avec perte, même 320 kbps.
# FinalementUtilisez
-c:a copy
plutôt.Jusqu'à présent, cela a fait du très bon travail pour moi. aucun problème de synchronisation.
Les flux audio ne sont pas liés aux images clés. Des coupes précises sont possibles.
Si votre piste audio est enregistrée à un taux d'échantillonnage de 44 kHz, utilisez max. 256 kbps
Utilisez des codecs avec perte uniquement pour le codage final de votre vidéo, si vous avez besoin de remplir certaines conditions préalables.
J'ai entendu parler de certains problèmes de synchronisation audio, mais il semble que le problème principal était le matériel protégé (!).
Je préfère quelque chose comme ça:
ffmpeg -i input -c:v libx264 -crf 5 -preset faster -profile:v high -level 4.0 -c:a copy output.mp4
la source