web-dev-qa-db-fra.com

Format vidéo universel sans perte

J'essaie de trouver le format vidéo le plus approprié sans perte pour la vidéo de 1280x720 25FPS. La vidéo a 4 minutes. Le son sera de 320 Kbps MP3, ce n'est pas une grosse affaire. Conditions idéales:

  • Sans perte (peut être perceptible sans perte)
  • Conteneur + codec peut être joué sur la plupart des plates-formes
  • Conteneur + Codec peut être joué sur des lecteurs de DVD modernes (supportant d'autres formats que DVD)
  • La taille est inférieure à 700 Mo

Est-ce que c'est possible? Ont déjà pris des difficultés trois jours, sans aucun résultat satisfaisant, même obtenir 12 fichiers GB (semble beaucoup - 3 gb/minute).

15
mrkva

Le meilleur format réel, mathématiquement sans perte que je connaisse est HuffYuv, mais qui produira des fichiers hilarants énormes et ne seraient pas compatibles avec beaucoup. Pour l'enregistrement, FFMPEG peut le faire avec:

ffmpeg -i input -c:v huffyuv -c:a libmp3lame -b:a 320k output.avi

X264, l'encodeur H.264 Open-Source H.264 a un mode sans perte. Cela peut aller à l'intérieur d'un conteneur MP4 et doit être compatible avec la plupart du matériel effectué au cours des dernières années. La première commande donnera une vitesse d'encode rapide, mais un fichier grand; La deuxième commande prendra beaucoup plus de temps, mais le fichier doit être environ la moitié de la taille du codé rapide (ce sera toujours assez grand):

ffmpeg -i input -c:v libx264 -crf 0 -preset ultrafast -c:a libmp3lame -b:a 320k output.mp4

ffmpeg -i input -c:v libx264 -crf 0 -preset veryslow -c:a libmp3lame -b:a 320k output.mp4

Si cela ne vous donne pas un petit fichier assez petit, un CRF de 18 est généralement considéré comme "sans perte sans perte":

ffmpeg -i input -c:v libx264 -crf 18 -preset veryfast -c:a libmp3lame -b:a 320k output.mp4

Je recommande généralement le préréglage très effrayant pour le codage avec X264, dans mon expérience, il offre le meilleur compromis de vitesse/taille (il y a une grosse élimination de la taille du fichier entre le superfast et la très-déjeuner, tout plus lent que cela et il est plus incrémentiel). Les conseils généraux consistent à utiliser le préréglage le plus lent que vous pouvez gérer, les préréglages sont: UltraFast, Superfast, très rapide, plus rapide, rapide, moyen, lent, plus lent, très lent.

Voir ICI pour un guide plus approfondi sur le codage X264.

24
evilsoup

Ces jours-ci j'aime webm :

ffmpeg -i input.avi -c:v libvpx-vp9 -lossless 1 output.webm

Pour convertir plus rapidement, avec des processeurs multicœurs, j'ai lu qu'il est recommandé d'utiliser un fil de moins que de vrais noyaux. Ainsi, avec un 8 noyau, vous pouvez spécifier 7 threads comme celui-ci:

ffmpeg -i input.avi -c:v libvpx-vp9 -threads 7 -lossless 1 output.webm
2
LonnieBest