quality qscale h265 bufsize ffmpeg preset

qscale - Problema ffmpeg h264: "Archivo para preajuste... no encontrado" en XP



libx265 (6)

tengo xp y como no estoy familiarizado con la compilación descargué la versión estática de win32 de ffmpeg, svn-r26251. Quiero cambiar el tamaño de un video de mp4 (1280x720 originalmente) para obtener un archivo de menor tamaño con aproximadamente la misma calidad. Mi comando es:

ffmpeg -i ma.mp4 -vcodec libx264 -vpre hq -s 640x360 ma2.mp4

sin embargo, dice "archivo para preestablecido ''hq'' no encontrado". intenté -fpre, no hizo diferencia. sin libx264, el archivo resultante, ma2.mp4, no se reproducirá en jwplayer, solo escuchará audio. (La razón es que no es "mpeg4 (h264)", es solo "mpeg4"). ¿que debería hacer?


ffmpeg dice que no puede encontrar su archivo preestablecido, hq.ffpreset en su caso. más información en ffmpeg docs

Los ajustes preestablecidos [EDITAR] son ​​solo por conveniencia. si tiene hq.ffpreset archivo hq.ffpreset , simplemente tome todo de él y póngalo en la línea de comando directamente


Este problema parece estar relacionado con XP, funciona en Win2K. Comprobé con Filemon y muestra que está buscando en X: / usr / local / share / ffmpeg para los archivos libx264-veryslow.ffpreset o veryslow.ffpreset - donde X es la unidad desde la que está ejecutando ffmpeg. Creé la ruta en el disco, copié todos los preajustes y ahora funciona.


Para el preajuste x264, en lugar de usar "-vpre", las compilaciones nuevas funcionarán con "-preset", ya que esto llamará al preajuste x264 directamente.


El proyecto ffmpeg ha sido renombrado como avconv y los nombres de los directorios han cambiado para reflejar esto. La documentación dice:

Primero ffmpeg busca un archivo llamado arg.ffpreset en los directorios ''$ FFMPEG_DATADIR'' (si está establecido), y ''$ HOME / .ffmpeg'', y en la columna de datos definida en el momento de la configuración (generalmente ''PREFIX / share / ffmpeg'') o en una carpeta ''ffpresets'' a lo largo del ejecutable en win32, en ese orden. Por ejemplo, si el argumento es libx264-max, buscará el archivo ''libx264-max.ffpreset''.

Esto significa que ahora buscará $HOME/.avconv y también PREFIX/share/avconv que normalmente es /usr/share/avconv .


Aquí se presentan dos soluciones para usuarios de Windows para ayudar a FFmpeg a encontrar su carpeta de preajustes x264. Acompañando cada solución hay un archivo por lotes para automatizar la solución en su totalidad.

Use solo una de estas soluciones.

La primera solución es más fácil, pero tendrá que repetirla en cada unidad en la que desee utilizar FFmpeg. Si no desea hacer eso, use la segunda solución. Es un poco más complicado, pero el archivo por lotes hace que el proceso sea sencillo.

Nuevamente, no use ambas soluciones. Yo estoy a favor de la Solución 2.

SOLUCIÓN 1

FFmpeg busca preajustes x264 en C:/usr/local/share/ffmpeg , un directorio que debe crearse en Windows:

  • Crea una carpeta C:/usr/local/share/ffmpeg
  • Copie todos los archivos preestablecidos de ~ffmpeg/presets en la nueva carpeta.

O ejecute lo siguiente como un archivo por lotes:

::BEGIN SOLUTION 1 BATCH FILE md C:/usr/local/share/ffmpeg copy "C:/Program Files (x86)/ffmpeg/presets" C:/usr/local/share/ffmpeg ::END SOLUTION 1 BATCH FILE

Antes de ejecutar este archivo por lotes, asegúrese de cambiar C:/Program Files (x86)/ffmpeg/presets a la ubicación actual de su carpeta ~/ffmpeg/presets .

SOLUCIÓN 2

FFmpeg busca preajustes x264 en %HOME%/.ffmpeg , un entorno que debe crearse en Windows:

Primero, crea dos carpetas:

  • Cree la carpeta HOME (en este ejemplo, la C:/Users/your_user_name/HOME en C:/Users/your_user_name/HOME };
  • Dentro de la carpeta HOME cree otra carpeta nueva llamada .ffmpeg ( observe el período al comienzo del nombre del archivo);
  • Copie todos los archivos preestablecidos de la carpeta ~/ffmpeg/presets en la nueva carpeta C:/Users/your_user_name/HOME/.ffmpeg
  • Recuerde cambiar your_user_name por su nombre de usuario real

Luego, establezca la carpeta HOME como una variable de entorno %HOME% :

  • Abra una ventana del explorador;
  • Vaya a Control Panel/System and Security/System ;
  • Seleccione la Advanced system settings (lado izquierdo de la ventana);
  • Seleccionar Environment Variables (botón cerca de la parte inferior);
  • Seleccione New... (en Variables del sistema para que los ajustes preestablecidos estén disponibles para todos los usuarios);
  • En Variable name: ingrese HOME
  • En Variable value: ingrese C:/Users/your_user_name/HOME
  • Recuerde cambiar your_user_name por su nombre de usuario real

O ejecute lo siguiente como un archivo por lotes:

::BEGIN SOLUTION 2 BATCH FILE md %userprofile%/HOME md %userprofile%/HOME/.ffmpeg copy "C:/Program Files (x86)/ffmpeg/presets" %userprofile%/HOME/.ffmpeg setx HOME %userprofile%/HOME/ /m ::END SOLUTION 2 BATCH FILE

Antes de ejecutar este archivo por lotes, asegúrese de cambiar C:/Program Files (x86)/ffmpeg/presets a la ubicación actual de su carpeta ~/ffmpeg/presets .


Como está ejecutando Windows, a menos que cambie su variable% HOME%, tendrá que escribir la ruta completa a "hq.ffpreset". En su lugar, puede llamarse "libx264-hq.ffpreset". Además, esto puede o no aplicarse, pero asegúrese de que su compilación se haya realizado con soporte para libx264. Si supiera que se me permitió, me vincularía a mi compilación personal ffmpeg 1.2 compartida para win32. Puedo confirmar que este comando funciona con esta versión.

Si no tiene el archivo preestablecido de HQ, encontré un enlace a una versión aquí: https://raw.github.com/joeyblake/FFmpeg-Presets/master/libx264-hq.ffpreset

Ponlo donde quieras (en algún lugar en% PATH% podría funcionar bien).