6 votes

Comment automatiser complètement la conversion vidéo en format mp4, compatible avec iTunes?

Je cherche à mettre en place une solution entièrement automatisée qui prendra des fichiers vidéo à partir d'un répertoire entrant, les traitera et mettra le résultat dans le répertoire spécial "Ajout automatique à iTunes".

Avant de commencer à proposer différents produits, veuillez lire les exigences:

  • Interface en ligne de commande, pour pouvoir l'utiliser avec un cron
  • Pour le flux vidéo et audio, faire une pass-thru si la source est déjà compatible avec le format cible
  • Téléchargement de sous-titres à partir d'un service externe (facultatif)
  • Intégration des fichiers SRT existants dans la vidéo de sortie
  • Correction des métadonnées à partir d'un service externe (facultatif)

Initialement, je dirais que Handbrake devrait être capable de le faire, mais j'ai découvert que Handbrake ne fera jamais de pass-thru pour la vidéo (c'est une déclaration que j'ai reçue de l'auteur).

4voto

chillin Points 2767

z264

z264 examinera tous les fichiers, mais ne touchera que les fichiers vidéo avi, flv, mpg, mpeg, wmv, vob, mkv et mp4, copiant les flux vidéo et audio et réemballant si possible, transcodant seulement l'audio si nécessaire, et transcodant uniquement ce qui est nécessaire en vidéo, et vous laissera avec des fichiers mp4 amicaux pour iTunes, optimisés pour l'atome, laissant les originaux dans votre Corbeille. Il prend des décisions raisonnablement intelligentes pour vous sur la manière de transcoder les fichiers en fonction de la manière dont vous avez réglé ses variables de HandBrake (réglées aux lignes 312-333).

vérifiez le fichier pour le codage AVC et le conteneur flv, wmv ou mkv et ré-emballez-le dans un conteneur mp4, sinon, s'il n'est pas déjà un fichier mp4, transcodez-le en mp4 AVC

z264 a plusieurs dépendances (mediainfo, rmtrash, ffmpeg, SublerCLI et HandBrakeCLI)

  • copiez et collez la section d'installation binaire dans un nouveau script bash et utilisez-le pour télécharger et installer les dépendances dans /usr/local/bin/ (créez /usr/local et /usr/local/bin/ s'ils n'existent pas déjà)

  • créez un ramdisk de 2 Go appelé 'Two' en utilisant la commande de la section ramdisk

    diskutil quiet erasevolume HFS+ 'Two' `hdiutil attach -nomount ram://4194304`
  • vérifiez à nouveau les définitions de commandes (emplacements des dépendances) et corrigez les emplacements (vers "/usr/local/bin/")

    change line 231 to read:  mediainfo="/usr/local/bin/mediainfo"
    change line 236 to read:  rmtrash="/usr/local/bin/rmtrash"
    change line 238 to read:  ffmpeg="/usr/local/bin/ffmpeg"
    change line 239 to read:  SublerCLI="/usr/local/bin/SublerCLI"
    change line 262 to read:  mediainfo="/usr/local/bin/mediainfo"
    change line 263 to read:  rmtrash="/usr/local/bin/rmtrash"
    change line 265 to read:  HandBrakeCLI="/usr/local/bin/HandBrakeCLI"
  • enregistrez sous le nom z264 dans /usr/local/bin/

  • rendez le script exécutable

    sudo chmod +x /usr/local/bin/z264

  • utilisez Terminal pour appeler z264 sur un seul fichier, un répertoire de fichiers ou appelez-le depuis un cron pour parcourir périodiquement l'ensemble du système de fichiers

    z264 directory.full.of.mixed.video.filetypes/*

problèmes mineurs: l'utilisateur doit être capable de lire, de déboguer et d'utiliser bash. z264 ne compte pas encore combien de processus background_transcoder il lance, ce qui signifie que s'il y a beaucoup de transcodages, cela prendra du temps pour qu'ils se terminent, mais ils se termineront. Vous avez également besoin de beaucoup de mémoire (8 Go suffisent). Les utilisateurs de Snow Leopard devront installer la commande purge des outils de développement xcode.

3voto

swineone Points 2031

Actuellement, j'utilise Subler pour convertir des fichiers MKV en MP4 et intégrer des sous-titres dans le processus, sans transcoder la vidéo ou l'audio. Si je dois transcoder le DTS pour que l'Apple TV puisse le lire, j'utilise MP4Tools. Cependant, ces deux logiciels ont une interface graphique, et j'ignore s'ils peuvent être utilisés en ligne de commande. Je suppose que votre meilleure option serait MKVToolNix (si vous souhaitez simplement changer le format) et ffmpeg (qui inclut des options de transcodage lorsque nécessaire).

2voto

Rob Points 7080

Je suis en train d'utiliser HandBrake comme suggéré dans la Question ci-dessus si le téléchargement n'est pas disponible en format MP4. (Je pense que je ne peux pas nommer le service que j'utilise car le téléchargement n'est pas légal dans tous les pays, mais la recherche du mot-clé "YIFY" pourrait aider à trouver des rips MP4) Ensuite, j'utilise Subler pour ajouter un fichier SRT sans avoir à convertir à nouveau le MP4.

Et par la suite, pour obtenir les méta-données et copier vers iTunes, j'utilise iFlicks qui peut être téléchargé depuis l'App Store.

2voto

Sergio del Amo Points 825

Je pense que vous trouverez vos réponses dans ces deux publications :

Donc, pour résumer :

ffmpeg -i .mkv -f srt -i .srt -c:v copy -c:a aac -b:a 384k -c:s mov_text -strict -2 .mp4

1voto

Khanzor Points 2048

Essayez dans le package ffmpeg. Il peut résoudre, sinon tous, la plupart des problèmes.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X