Quiero transmitir un archivo de vídeo (.mp4) desde una hora de inicio diferente.
ParaejemploQuiero transmitir test.mkv
un archivo desde un minuto como 00:02:30
un test.mkv
video. Entonces, cuando lo transmito al servidor rtmp, el video se inicia desde 00:02:30
la película, no se inicia.
Nota: No quiero esperar tanto, quiero comenzar desde ese momento justo después de presionar Enter en el ffmpeg
comando, por lo que respuestas como usar cronjob
no son útiles.
Aquí está el ffmpeg
comando 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 ffmpeg
el 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 -i
argumento para que funcione. Tan simple agregando, por ejemplo, -ss 150
comenzará 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 -ss
antes de cualquier -i
argumento.