2008-11-24 7 views
1

J'ai un fichier AVI, que je veux ré-encoder pour tenir sur un CD de taille 650 MB. Comment puis-je encoder de sorte que la taille du fichier ne dépasse pas la taille donnée? Quel programme puis-je utiliser?Rencontrez le fichier AVI pour l'adapter à la taille du fichier de sortie.

+0

désolé je pourrais avoir été un peu précipité en supposant qu'il voulait pirater un film. Comment puis-je rouvrir une question? –

+0

Vous cliquez simplement sur Ouvrir ... à droite où vous avez cliqué sur Fermer. – EBGreen

Répondre

0

AutoGK peut le faire très efficacement. Principalement conçu pour DVD **** toux **** fins de sauvegarde, mais il va également accepter AVI comme source. Il s'agit plus d'une collection de programmes opensource avec une interface graphique de coordination, donc ne vous inquiétez pas lorsque le programme d'installation installe plusieurs éléments.

2

Je suppose que vous voulez faire ce programme:

Pour Windows:

Vous pouvez utiliser DirectShow pour transcoder votre vidéo en construisant un graphique de filtre.

Obtenez (si vous ne disposez pas déjà) de la plate-forme SDK pour Windows. Ensuite, parcourez ici pour voir certains des exemples DirectShow qui construisent des graphiques de filtre 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 

Vérifiez ensuite 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 obtenir une suspension pour la façon dont ils sont utilisés et voir comment ces choses ont un sens (comme l'énumération des codeurs vous apprendrez dans les exemples):

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

une fois que vous êtes allés loin et comprendre comment fonctionne directShow, vous pouvez utiliser un peu de mathématiques pour comprendre OU t comment transcoder votre vidéo pour l'adapter à la taille que vous voulez. Pour ce faire, vous pouvez regarder combien d'images/s votre vidéo d'entrée est et quelle est la taille de chaque image.

Différents codeurs fonctionnent de différentes façons:

laisse supposer que vous souhaitez transcoder fichier AVI à un plus petit ou moins fichier AVI de qualité. Examinez vos tailles d'images et fps pour déterminer la taille du fichier, puis utilisez une algèbre pour déterminer comment réduire la taille de l'image ou réduire le nombre d'images par seconde (ou une combinaison des deux) pour obtenir la taille souhaitée (qui peut être votre variable d'entrée).

Comme pour les autres encodeurs, vous voudrez peut-être voir comment ils fonctionnent. Les encodeurs avec perte, tels que mp4, effectuent des estimations pour déterminer quelle vidéo a changé 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 pour plus de détails.

Pour Linux (et Windows):

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

J'espère que cela vous permet de démarrer.Pour le faire correspondre à une taille spécifique, vous devez utiliser un débit approprié.

2

Pour la vidéo à débit binaire fixe, pour obtenir le débit binaire cible, vous devez prendre la taille 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 débit binaire variable, les choses sont un peu plus compliquées. Pas tout à fait sûr s'il y a un moyen de faire en sorte que le fichier de sortie soit correctement défini. La méthode la plus simple consiste à calculer le débit binaire maximal à l'aide de la méthode ci-dessus.

0

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

Vous pouvez peser les débits binaires vidéo et audio comme vous le souhaitez. Habituellement 96 kbps est assez bon avec AAC, mais vous pouvez en vouloir plus ou moins. Expérience.

Questions connexes