ffmpeg
maneja la transmisión RTMP como entrada o salida, y está funcionando bien.El uso de FFMPEG para transmitir continuamente archivos de videos a un servidor RTMP
Quiero transmitir algunos videos (una lista de reproducción dinámica administrada por un script python) a un servidor RTMP, y actualmente estoy haciendo algo bastante simple: transmitir mis videos uno por uno con FFMPEG al servidor RTMP, sin embargo causa un corte de conexión cada vez que finaliza un video, y la transmisión está lista para comenzar cuando comienza el siguiente video.
Me gustaría transmitir esos videos sin interrupciones de conexión de forma continua, luego la transmisión se puede ver correctamente.
que utiliza este comando para transmitir mis videos uno por uno para el servidor
ffmpeg -re -y -i myvideo.mp4 -vcodec libx264 -b:v 600k -r 25 -s 640x360 \
-filter:v yadif -ab 64k -ac 1 -ar 44100 -f flv \
"rtmp://mystreamingserver/app/streamName"
busqué algunas soluciones a través de Internet durante muchos días, y me encontré con algunas personas que hablan sobre el uso de una tubería con nombre como entrada en ffmpeg
, lo probé y no funcionó bien, ya que ffmpeg
no solo cierra la transmisión RTMP cuando llega un nuevo video, sino que también se cierra.
¿Hay alguna manera de hacer esto? (Transmitir una lista de reproducción dinámica de vídeos con ffmpeg
al servidor RTMP sin conexión se interrumpe
Usar una tubería con nombre es el camino correcto a seguir. ¿Puedes explicar cómo eso no funcionó para ti? – blahdiblah
@blahdiblah Utilicé la tubería con nombre como una entrada en ffmpeg, ffmpeg pausa y espero algunos datos de la tubería, luego probé 'cat video.mp4> fifo' y ffmpeg comencé la transmisión y salí luego de transmitir el video. Creo que no sé cómo usar el tubo con nombre de la manera correcta, cuando lo hice 'cat video1.mp4 video2.mp4> fifo' ffmpeg muestra el error' stream 4, offset 0x1d83c: partial file' después de la transmisión del primer video. Sé que soy yo quien lo está haciendo mal, tengo que pasar los datos de video de manera adecuada a través de la tubería. – KKetch
Logré transmitir una lista de reproducción estática de videos usando para cada video una tubería (ex vid1.mp4 -> pipe1, vid2.mp4 -> pipe2, etc.). Luego escribo en un solo flujo llamado pipe "stream" de esta manera 'cat pipe1 pipe2 pipe3> stream', y utilizo el canal de flujo como entrada en FFMPEG para publicar mi stream, pero como busco una lista de reproducción dinámica ** cómo puedo ¿Envío más videos a la tubería de "transmisión" para mantener viva la corriente? ** Todavía no lo he resuelto. (Nota, a excepción del primer video, tuve que cortar los metadatos de cada archivo de video usando el comando tail para que esto funcione) – KKetch