¿Cómo automatizar completamente la conversión de video a mp4, en un formato compatible con iTunes?

6

Estoy buscando implementar una solución totalmente automatizada que recogerá los archivos de video de un directorio entrante, los procesará y pondrá el resultado en el directorio especial "Agregar automáticamente a iTunes" de iTunes.

Antes de comenzar a proponer diferentes productos, lea los requisitos:

  • Interfaz de línea de comandos, para que podamos usarla con un cron
  • Do Pass Thru para transmisiones de video y audio si la fuente ya es compatible con el formato de destino
  • Descargar subtítulos desde un servicio externo (opcional)
  • Incrustar archivos SRT existentes en el video de salida
  • Corrección de metadatos desde un servicio externo (opcional)

Inicialmente, diría que el freno de mano debería poder hacer esto, pero descubrí que el freno de mano nunca pasará el paso por video (es una declaración que obtuve del autor).

    
pregunta sorin 22.01.2014 - 11:19

7 respuestas

4

z264

z264 examinará todos los archivos, pero solo tocará archivos de video avi, flv, mpg, mpeg, wmv, vob, mkv y mp4, copiando secuencias de video y audio y volviendo a envolver si es posible, transcodificando solo el audio si es necesario, y transcodifique solo lo que es necesario para el video, y déjelo con archivos mp4 optimizados para Atom, compatibles con iTunes, dejando los originales en su Papelera. Toma decisiones razonablemente inteligentes para usted acerca de cómo transcodificar archivos en función de cómo establezca sus HandBrake (conjunto en líneas 312-333).

  

compruebe el archivo para la codificación AVC y flv, wmv o mkv wrapper y vuelva a envolver en el contenedor mp4; de lo contrario, si aún no es mp4, transcodifique a AVC mp4

     

z264 tiene varias dependencias (mediainfo, rmtrash, ffmpeg, SublerCLI, y HandBrakeCLI)

  • copie y pegue la sección de instalación binaria en un nuevo script bash y utilícelo para descargar e instalar las dependencias en / usr / local / bin / (cree / usr / local y / usr / local / bin / si no) allí ya)

  • cree un disco RAM de 2GB llamado 'Dos' usando el comando en la sección de disco ram

    diskutil quiet erasevolume HFS+ 'Two' 'hdiutil attach -nomount ram://4194304'
    
  • Verifique las definiciones de los comandos (ubicaciones de las dependencias) y las ubicaciones correctas (para "/ 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"
    
  • guardar como z264 en / usr / local / bin /

  • hacer ejecutable

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

  • use Terminal para llamar a z264 en un solo archivo, directorio de archivos, o llámelo desde un cron para rastrear sistemas de archivos completos periódicamente

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

problemas menores: el usuario debe poder leer, depurar y usar bash. z264 aún no cuenta la cantidad de procesos de background_transcoder que genera, lo que significa que si hay muchos transcodificadores, tardarán un tiempo en completarse, pero se completarán. También necesitas mucha memoria (8GB está bien). Los usuarios de Snow Leopard deberán instalar el comando purge desde Herramientas de desarrollo de xcode.

    
respondido por el chillin 23.05.2014 - 13:21
3

Actualmente utilizo Subler para convertir MKVs a MP4s e incrustar subtítulos en el proceso, sin transcodificar video ni audio . Si necesito transcodificar DTS para que Apple TV lo reproduzca, uso MP4Tools . Sin embargo, ambos son GUIs, y no tengo idea de si se pueden llamar desde la línea de comandos. Supongo que tu mejor apuesta sería MKVToolNix (asumiendo que solo quieres cambiar el formato) y ffmpeg (que incluye opciones de transcodificación para cuando sean necesarias).

    
respondido por el swineone 22.01.2014 - 12:22
2

Estoy usando HandBrake como se sugiere en la pregunta anterior si la descarga no está en formato MP4 disponible. (Creo que no puedo nombrar el servicio que estoy utilizando, ya que la descarga no es legal en todos los países, pero la búsqueda de la palabra clave "YIFY" podría ayudar a encontrar archivos MP4 rips) Además, estoy usando Subler para agregar un SRT sin tener que convertir el MP4 de nuevo .

Y luego para obtener los metadatos y copiar en iTunes , estoy usando iFlicks que se puede descargar desde la App Store .

    
respondido por el Rob 22.01.2014 - 13:22
2

Creo que encontrarás tus respuestas en esas dos publicaciones:

Entonces, para resumir:

ffmpeg -i <input_file>.mkv -f srt -i <input_subtitle>.srt -c:v copy -c:a aac -b:a 384k -c:s mov_text -strict -2 <output_file>.mp4
    
respondido por el KPM 09.03.2014 - 05:52
1

Prueba en el paquete ffmpeg . Puede decidir, si no todos, la mayoría de los problemas.

    
respondido por el Scard 22.01.2014 - 14:48
0

Puedes echar un vistazo a VideoDrive para mac. Hace todo eso automáticamente: www.aroonasoftware.com

No tiene un CLI, pero tiene un temporizador incorporado para ejecutar cuando lo desee. Y es compatible con Applescript también.

    
respondido por el Tom 20.09.2015 - 17:22
-2

SmartConveter es gratuito en la App Store y es más rápido que Handbrake.

    
respondido por el Slick Trademarc 22.01.2014 - 13:45

Lea otras preguntas en las etiquetas

Elección de colores web hexadecimales ___ proceso qstnhdr ___ ouc ejecutándose en un 98% de CPU ______ qstntxt ___

Cuando abro algunas aplicaciones diferentes, la temperatura supera rápidamente los 200 F, sin embargo, cuando trabajo ligeramente, es alrededor de 170 F. Parece que desde que me actualicé a Mavericks, se está calentando muy a menudo y Los fanáticos se vuelven locos, que es por diseño, supongo.

Simplemente no sé qué es este proceso ouc y por qué utiliza tanta CPU. Me obligo a dejarlo, pero vuelve en unos minutos.

    
______ answer113674 ___

Dado que %code% no es un proceso que se distribuye con Mac OS X, parece que un producto de terceros está causando el problema.

La búsqueda en la web sugiere que %code% está integrado en una aplicación llamada "Mobile Partner.app".

Si tiene esta aplicación, informe el problema a los desarrolladores.

Eliminación manual

Siempre es mejor utilizar el proceso de eliminación proporcionado por el desarrollador; sin embargo, si Mobile Partner no proporciona una herramienta de eliminación, es posible que desee desactivar el proceso %code% manualmente.

Mencionas la fuerza que deja los resultados en un relanzamiento inmediato. Esto sugiere que el proceso %code% es administrado por un ticket de trabajo launchd. launchd es un proceso de vigilancia que monitoreará los procesos y relanzará los que tengan problemas, como estrellarse o forzar la salida.

Eche un vistazo en las siguientes carpetas para obtener un ticket de trabajo de launchd asociado con %code% :

  • ~ / Library / LaunchAgents
  • ~ / Library / LaunchDaemons
  • / Library / LaunchAgents
  • / Library / LaunchDaemons

Los archivos en estas carpetas son archivos de texto y se pueden leer con TextEdit o una herramienta de edición de texto dedicada, como TextWrangler .

Si encuentra un archivo que menciona %code% , muévalo fuera de la carpeta principal y reinicie.

Como @oma menciona, si no puedes encontrar un ticket de trabajo launchd, busca en %code% una carpeta o archivo que contenga %code% . Elimine la carpeta %code% y reinicie.

    
___