Necesita ayuda para automatizar la unión de video y audio y podría necesitar alguna ayuda/dirección.
Digamos que tengo los siguientes activos: Video 1 Video 2 Video 3 Música 1
Y quiero crear algunas variaciones de los activos anteriores como:
Variación #1
Video 1 -> Video 3
<----Música 1----->
Variación #2
Video 3 -> Video 1
<----Música 1----->
Nota La música debe recortarse en función de la duración de los videos combinados.
¿Es posible asignar un formulario web a los activos enumerados anteriormente (ubicados en un servidor local) y hacer que el formulario web finalmente cree el orden del video y lo envíe al servidor local?
Si es posible, ¿sería la opción correcta FFmpeg o Animoto API (u otra)?
¿Qué tipo de tiempo/recursos se necesitarían para construir algo como esto?
Puede hacer esto ffmpeg
usando el filtro concat o el demuxer concat . Cuál usar depende de si sus entradas tienen o no los mismos parámetros. Si no lo hacen, es posible que deba realizar un filtrado adicional para que todo sea adecuado para concatenarse correctamente.
Para entradas que varían en velocidad de cuadro, ancho y alto:
ffmpeg -i video0 -i video1 -i video2 -i music -filter_complex \
"[0:v]fps=25,scale=1280x720,setpts=PTS-STARTPTS[v0]; \
"[1:v]fps=25,scale=1280x720,setpts=PTS-STARTPTS[v1]; \
"[2:v]fps=25,scale=1280x720,setpts=PTS-STARTPTS[v2]; \
"[v0][v1][v2]concat=n=3:v=1:a=0,format=yuv420p[v]" \
-map "[v]" -map 3:a -shortest output
Si emite mp4, considere agregar -movflags +faststart
como una opción de salida si sus espectadores verán a través de una descarga progresiva.
Si todas sus entradas son similares, primero haga un archivo de lista llamado input.txt
:
file "/path/to/video0"
file "/path/to/video1"
file "/path/to/video2"
Luego ejecuta ffmpeg
:
ffmpeg -f concat -i input.txt -i music -shortest output
Agregue -codec copy
si desea transmitir la copia en lugar de volver a codificar. Esto no es posible con el filtro concat porque el filtrado requiere volver a codificar.
- ¿Es posible asignar un formulario web a los activos enumerados anteriormente (ubicados en un servidor local) y hacer que el formulario web finalmente cree el orden del video y lo envíe al servidor local?
Sí. Siempre que su protocolo sea compatible con ffmpeg
. Consulte ffmpeg -protocols
para obtener una lista compatible con su compilación.
- Si es posible, ¿sería la opción correcta FFmpeg o Animoto API (u otra)?
Es posible con ffmpeg
, pero nunca he usado la API de Animoto, así que no puedo comentar al respecto.
- ¿Qué tipo de tiempo/recursos se necesitarían para construir algo como esto?
Eso no es realmente posible de responder. Proporcionó muy poca información y depende de la habilidad de quien lo esté construyendo.