J'ai 1 image (jpg) et 1 fichier audio (MP3) et je voudrais le sortir sous forme de fichier vidéo (par exemple AVI).
Est-ce que quelqu'un sait comment utiliser FFMPEG pour joindre les deux? Je voudrais montrer l'image pendant la durée de l'audio.
Des idées n'importe qui?
video
audio
ffmpeg
concatenation
user41559
la source
la source
Réponses:
Si vous êtes sous Windows, vous pouvez également le faire dans Windows Movie Maker ... si vous avez besoin d'instructions, veuillez laisser un commentaire
Pour FFmpeg, utilisez ceci
vframes 14490 est le nombre d'images qui doivent être mises en boucle afin d'avoir une image continue pour tout le fichier audio.mp3
Ex: pendant 8 minutes et 3 secondes ((8m x 60s + 3s) x 30fps = 14490 vf)
Ressource d' ici
la source
Il existe un moyen beaucoup plus simple que ceux suggérés ici, qui ne nécessite pas de calculer le nombre d'images ou de saisir la longueur des fichiers individuels (particulièrement mieux pour le traitement par lots). Avec une version récente de ffmpeg, vous pouvez utiliser l'
-shortest
option, qui arrête l'encodage à la fin du flux le plus court - dans ce cas, input.mp3 (puisque l'image bouclera pour toujours, elle a une longueur infinie):Cela utilise 2 images par seconde pour l'image / vidéo, ce qui devrait être bien, mais vous pouvez le régler sur 25 plus standard si vous le souhaitez.
la source
subanki avait presque raison. La ligne de commande de travail est la suivante;
écraser les fichiers de sortie sans invite
L'option '-loop_input' est déconseillée. Utilisez -loop 1. Voir la documentation de ffmpeg .
fichier (s) d'entrée
Les images par seconde
pourraient également être exprimées comme suit: -r 30000/1001 donnant un fps de 29,97nnn
bitrate vidéo; plus le nombre est élevé, meilleure est la qualité et plus la taille du fichier est grande.
Comme expliqué ci-dessus; prendre le temps total de votre fichier audio en secondes (par exemple 00:02:41 (2 minutes 41 secondes) est égal à 161 secondes totales (2 x 60) + 41). Multipliez ensuite le nombre total de secondes par les images par seconde que vous avez spécifiées avec -r (par exemple 161 x 30 = 4830).
-vframes peut être remplacé par -t 161 (-t enregistrement de durée ou transcodage "durée" secondes d'audio / vidéo)
Utilisez le codec audio correct pour le type de fichier que vous créez. Pour .mp4, il doit s'agir d'un format AAC. Le codec libvo_aacenc était le codec de codage correct pour mon système Windows 7.
bitrate audio
Il s'agit du nom du fichier de sortie. Il peut s'agir de n'importe quel nom de fichier légal pour votre système. L'extension aidera ffmpeg à déterminer le codec vidéo approprié si vous n'en spécifiez pas un à l'aide de -vcodec.
la source
Ce script bash / cygwin simple qui encodera AUTOMATIQUEMENT tous les fichiers de l'extension $ AUDIO dans le répertoire en fichier vidéo 10FPS mp4 dans le répertoire avec l'image folder.jpg intégrée,
utile pour les téléchargements sur YouTube;)
la source
Téléchargez VirtualDub , puis procédez comme suit:
Ouvrez l'image comme si vous ouvriez un fichier vidéo normal.
Calculez la durée de l'audio en secondes et arrondissez-la à la seconde entière la plus proche (par exemple, 78,34 secondes deviennent 79 secondes). Cette valeur est désormais appelée x.
Allez dans "vidéo> fréquence d'images" sélectionnez "changer en fréquence d'images (fps)" et entrez "1 / x" comme valeur. De plus, si vous souhaitez avoir une fréquence d'images normale dans le fichier résultant comme 25 ips, sélectionnez "Convertir en ips" et entrez la fréquence d'images souhaitée.
Sélectionnez "vidéo> compression" et choisissez votre saveur préférée. Il se peut que vous deviez ajuster la taille de l'image avec le filtre de redimensionnement.
Allez dans "audio> audio à partir d'un autre fichier" et sélectionnez-y votre audio. Si nécessaire, sélectionnez une compression pour l'audio.
Enregistrez le fichier.
Source: stephanV
la source