transmitir archivos mp4 con ffmpeg desde un momento específico del video

transmitir archivos mp4 con ffmpeg desde un momento específico del video

Quiero transmitir un archivo de vídeo (.mp4) desde una hora de inicio diferente.

ParaejemploQuiero transmitir test.mkvun archivo desde un minuto como 00:02:30un test.mkvvideo. Entonces, cuando lo transmito al servidor rtmp, el video se inicia desde 00:02:30la película, no se inicia. Nota: No quiero esperar tanto, quiero comenzar desde ese momento justo después de presionar Enter en el ffmpegcomando, por lo que respuestas como usar cronjobno son útiles.

Aquí está el ffmpegcomando que estoy usando:

ffmpeg -i test.mkv -pix_fmt yuv420p -vsync 1 -threads 0 -vcodec libx264 -r 30 -g 60 -sc_threshold 0 -b:v 512k -bufsize 640k -maxrate 640k -preset veryfast -profile:v baseline -tune film -acodec aac -b:a 128k -ac 2 -ar 48000 -af "aresample=async=1:min_hard_comp=0.100000:first_pts=0" -bsf:v h264_mp4toannexb -f flv rtmp://test.server.com

Nota:

Si tienen alguna sugerencia para mejorar ffmpegel comando, también se lo agradezco.

Respuesta1

Parece que la bandera lo es -ss, pero de alguna manera hay una pequeña punta para que funcione. Debe colocarse antes de cualquier -iargumento para que funcione. Tan simple agregando, por ejemplo, -ss 150comenzará a partir de 150 segundos desde el inicio del video. Entonces el comando anterior será como:

ffmpeg -ss 150 -i test.mkv -pix_fmt yuv420p -vsync 1 -threads 0 -vcodec libx264 -r 30 -g 60 -sc_threshold 0 -b:v 512k -bufsize 640k -maxrate 640k -preset veryfast -profile:v baseline -tune film -acodec aac -b:a 128k -ac 2 -ar 48000 -af "aresample=async=1:min_hard_comp=0.100000:first_pts=0" -bsf:v h264_mp4toannexb -f flv rtmp://test.server.com

Nota:

Colocar -ssantes de cualquier -iargumento.

información relacionada