On Sun, 09. Feb 17:30, Andriy Gelman wrote: > On Sun, 09. Feb 14:32, Timo Rothenpieler wrote: > > On 01.02.2020 20:02, Andriy Gelman wrote: > > > From: Andriy Gelman <andriy.gel...@gmail.com> > > > > > > Supports connecting to a RabbitMQ broker via AMQP version 0-9-1. The > > > broker can redistribute content to other clients based on "exchange" and > > > "routing_key" fields. > > > --- > > > > > > Compilation notes: > > > - Requires librabbitmq-dev package (on ubuntu). > > > - The pkg-config libprabbitmq.pc has a corrupt entry. > > > The line "Libs.private: rt; -lpthread" should be changed to > > > "Libs.private: -lrt -lpthread". I have made a bug report. > > > - Compile FFmpeg with --enable-librabbitmq > > > > > > To run an example: > > > # > > > # Start the RabbitMQ broker (I use docker) > > > # The following starts the broker on localhost:5672. A webui is available > > > on > > > # localhost:15672 (User/password is "guest" by default) > > > # > > > $ docker run -it --rm --name rabbitmq -p 127.0.0.1:5672:5672 -p > > > 127.0.0.1:15672:15672 rabbitmq:3-management > > > > > > # > > > # Stream to the RabbitMQ broker: > > > # > > > $ ./ffmpeg -re -f lavfi -i yuvtestsrc -codec:v libx264 -f mpegts > > > -routing_key "amqp" -exchange "amq.direct" amqp://localhost:5672 > > > > > > # > > > # Connect any number of clients to fetch data from the broker: > > > # The clients are filtered by the routing_key and exchange. > > > # > > > $ ./ffplay -routing_key "amqp" -exchange "amq.direct" > > > amqp://localhost:5672 > > > > > > > > Isn't RabbitMQ, and any message broker like it, more designed to pipe short > > messages around? > > I'd imagine it's really not designed to shovel huge amounts of data, like a > > full on video stream, around. > > I didn't have any problems streaming to/from the broker, but I have to > evaluate > at which point it breaks. I'll share these numbers with ffmpeg-devel. >
I did a test on my intel i7-6600U CPU @ 2.6GHz with 16GB ram - One RabbitMQ broker started with: $ docker run -it --rm --name rabbitmq -p 127.0.0.1:5672:5672 -p 127.0.0.1:15672:15672 rabbitmq:3-management - 1 client streaming to the broker (1280x720, 30fps, bitrate: 1236kb/s) $ ./ffmpeg -re input.mp4 -codec:v copy -an -f mpegts amqp://localhost - 300 clients connecting to the broker and writing the output to null: $ ./ffmpeg -i amqp://localhost -codec:v copy -f null - - 2 clients playing the stream with ffplay $ ./ffplay -i amqp://localhost All the connections were visible on the broker monitor, and streams were running at speed ~1.0x At this point all my cores were close to 100%. -- Andriy _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".