![Cómo ingresar un archivo de red a ffmpeg](https://rvso.com/image/52089/C%C3%B3mo%20ingresar%20un%20archivo%20de%20red%20a%20ffmpeg.png)
Mi problema es este. Tengo acceso a un servidor que aloja muchos archivos de video, la mayoría de ellos son muy grandes y no están bien comprimidos. Tengo la intención de hacer una copia de menor tamaño y calidad reducida de estos en mi máquina local para un mejor acceso.
El problema es que el servidor no tiene acceso ftp. Puedo enviar los archivos a mi máquina y luego usar ffmpeg para reducir el tamaño, pero me quedaré sin espacio si copio todos los archivos localmente.
Estoy buscando una manera de ingresar directamente un archivo de red a ffmpeg, de esa manera podré escribir un script que de la noche a la mañana me permitirá obtener todos los videos en tamaño reducido.
Respuesta1
Puede utilizar sshfs
para hacer que los archivos remotos aparezcan en un directorio de la máquina local.
No dices qué distribución estás usando en tu cliente, pero esto está extraído dela documentación de Ubuntu sshfs:
- Instalar el
sshfs
paquete (aptitude install sshfs
) - Agrega tu usuario al
fuse
grupo (sudo gpasswd -a username fuse
) - Monte el sistema de archivos usando el
sshfs
comando
Para usar sshfs
, cree un directorio (lo llamaremos /mountpoint
) y haga
sshfs -o idmap=user remote_user@remote_server:/remote/directory /mountpoint
Los archivos remotos ahora aparecerán en /mountpoint
, pero en realidad todavía están en el servidor remoto. Cualquier cambio que realice se realizará de forma remota y no localmente.
Para desmontar el directorio, haga
fusermount -u /mountpoint
Respuesta2
Si tiene acceso ssh al sistema remoto, podría hacer algo como
ssh server cat path/to/video | ffmpeg -i - [...]
Esto -
hace que ffmpeg lea desde la entrada estándar en lugar de un archivo.
Sin embargo, tenga en cuenta que no todos los formatos admiten canalizaciones. Verhttps://stackoverflow.com/questions/12999674/ffmpeg-what-file-formats-support-stdin-usage