Rencode le fichier AVI pour s’adapter à la taille de fichier de sortie donnée.

StackOverflow https://stackoverflow.com/questions/315488

  •  10-07-2019
  •  | 
  •  

Question

J'ai un fichier AVI que je veux ré-encoder pour tenir sur un CD de 650 Mo. Comment puis-je encoder de telle sorte que la taille du fichier ne dépasse pas la taille donnée? Quel programme puis-je utiliser?

Était-ce utile?

La solution

AutoGK peut le faire très efficacement. Principalement conçu pour les sauvegardes DVD **** cough ****, mais il acceptera également AVI comme source. C’est plus une collection de programmes opensource avec une interface graphique de coordination; ne vous inquiétez donc pas lorsque le programme d’installation installe plusieurs éléments.

Autres conseils

Je suppose que vous voulez le faire par programmation:

Pour Windows:

Vous pouvez utiliser directshow pour transcoder votre vidéo en créant un graphique de filtrage.

Obtenez (si vous ne l’avez pas déjà) le SDK de plate-forme pour Windows. Naviguez ensuite ici pour découvrir quelques exemples de directshow qui construisent des graphes de filtres pour le transcodage.

Pour construire, vous aurez besoin des classes de base. Vous pouvez les construire ici:

C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses

Puis consultez les exemples ici:

C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow

Vous pouvez également créer manuellement des graphiques de filtre pour déterminer leur utilisation et voir comment ces éléments ont un sens (comme l'énumération des encodeurs que vous apprendrez dans les exemples):

C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\graphedt.exe

Une fois que vous êtes allé aussi loin et que vous comprenez le fonctionnement de directshow, vous pouvez utiliser des calculs mathématiques pour savoir comment transcoder votre vidéo pour l'adapter à la taille souhaitée. Pour ce faire, vous voudrez peut-être examiner le nombre d'images par seconde de votre vidéo d'entrée et la taille de chaque image.

Différents encodeurs fonctionnent de différentes manières:

Supposons que vous transcodez un fichier AVI en un fichier AVI de qualité inférieure ou inférieure. Examinez les tailles et les images par seconde de votre image pour déterminer la taille totale du fichier, puis utilisez une algèbre pour trouver comment réduire la taille de l’image ou réduire le nombre d’images par seconde (ou une combinaison des deux) afin d’obtenir la taille souhaitée. votre variable d’entrée).

Comme pour les autres encodeurs, vous voudrez peut-être voir comment ils fonctionnent. Les codeurs avec perte, tels que mp4, effectuent des estimations pour déterminer quelle vidéo a été modifiée d'une image à l'autre et cette information est stockée dans le fichier pour reconstruire les images. Vous devrez lire leur fonctionnement - ou vérifier comment utiliser votre encodeur particulier pour plus de détails.

Pour Linux (et également Windows):

Vous pouvez utiliser ffmpeg , un tout-en-un destiné au transcodage et à d'autres choses en vidéo. Vous pouvez même trouver un fichier exe pré-compilé de l'application en ligne de commande, bien que la page principale ne l'héberge pas (uniquement la source). Cette application utilise des bibliothèques vidéo open source pour effectuer une grande partie du transcodage vidéo ainsi que de nombreuses autres choses. Si vous pouvez localiser un bon fichier exe fiable, vous devriez probablement vérifier si vous voulez quelque chose de facile à utiliser pour votre application. Consultez leur page d'accueil ici.

J'espère que cela vous aide à démarrer.

Pour l'adapter à une taille spécifique, vous devez utiliser un débit binaire approprié.

Pour une vidéo à débit binaire fixe, vous obtiendrez le débit cible en bits et la longueur de la source en secondes.

target bit-rate = size / seconds

Par exemple:

seconds = (90mins * 60) = 5400
size = ((650MB * 1024) * 8) = 5324800
target bit-rate = ~986 kilobytes per second

Avec un débit binaire variable, les choses sont un peu plus compliquées. Pas tout à fait sûr s'il existe un moyen de définir avec précision le fichier de sortie. Le moyen le plus simple consiste à calculer le débit binaire maximal à l'aide de la méthode ci-dessus,

Calculez le nombre de secondes de l’AVI. Ensuite, prenez la taille du fichier et divisez-le par la longueur. Convertissez-le en kilobits par seconde et utilisez-le comme médiane de débit. (Utilisez Google pour effectuer facilement le calcul et la conversion.)

Vous pouvez peser les débits vidéo et audio à votre guise. En général, 96 kbps suffisent avec AAC, mais vous voudrez peut-être plus ou moins. Expérience.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top