[FFmpeg-user] Multiple outputs advice. Live stream/Record/Preview
German Geraskin
german.geraskin at gmail.com
Tue Sep 17 10:18:25 EEST 2024
вт, 17 сент. 2024 г. в 09:02, Andrew Strachan
<stroltz-at-hotmail.com at ffmpeg.org>:
>
> Hi,
> I am looking for advice on how best to achieve multiple outputs for our use case.
> The live source is a Decklink card on Windows. (We have a build working etc) We want 4 outputs;
>
> * We want to run a preview window (low quality would be preferred) just so the user can see the video is working.
> * We want to be able to live stream - single bit rate, RTMP.
> * Independent from the streaming we want to be able to stop and start recording to file. Ideally using CRF. So a separate encode – but maybe we use the RTMP encode, not sure.
> *
> We also want to save a separate audio file. Stops and strats at the same time as the video file above (if required we could do this as a post process on the video file we make above)
>
> Is it possible to stop and start a single output when using either different parallel outputs or the tee pseudo-muxer?
> If we can’t stop and start recording a file separately, would we be better off putting all the CPU into the single RTMP encode, (only 1 encode), and quickly stopping and starting the live stream when we want to stop or start saving to file? (hard to know if viewers of the live stream would have much of a negative or not)
This is exactly what I do at my current job.
It is not easy to explain what you need to do briefly.
But the general advice is to use ffmpeg for video processing
(capturing, filtering, encoding),
then provide output streams to the streaming server (for reliability,
run it on the same machine).
Use the streaming server API to control recording, provide streams for
outside users (or CDN).
It is probably not a good idea to name a specific streaming server here,
but you can start from the list in Wikipedia
https://en.wikipedia.org/wiki/List_of_streaming_media_systems
More information about the ffmpeg-user
mailing list