Live streaming and FFMPEG











up vote
0
down vote

favorite












Introduction and problem description



Hello everyone, I have a server that generates a series of bitmaps of the same resolution and at a fixed rate. I have to make a webserver which converts them into an output video or video pieces as soon as they start generating and then stream them live to any client that requests it. I'm entirely new to this world.



My thoughts



So far I've found FFmpeg being the best solution for the encoding and I also saw that it has many tools for streaming. What would be my best bet for encoding and trasmitting? After what I've learned so far I think the easiest solution would be encoding into and RTMP streaming server so that any client would be able to access it, would this be the best approach? Or anyone has better suggestions? (So far I saw that there is the UDP approach, the RTMP approach and the HLS/DASH approach for live streaming.) I just need a wide vision on my project so then I can elaborate a solution.



Thank you in advance for any suggestion.










share|improve this question
























  • Only a short comment. I would not go for RTMP. HLS/DASH would certainly be the more future-proof way. See also superuser.com/a/478287/48078
    – slhck
    Nov 15 at 11:05










  • I read that RTMP offers a very short latency compared to HLS but the fact that HLS is becoming more and more supported by most browsers is truly appealing.
    – Vincent Bavaro
    Nov 15 at 11:17










  • RTMP requires Flash; short latency can be achieved with RTP/RTSP. HLS and DASH are very similar to each other and can also get relatively short latency, depending on what your use case is.
    – slhck
    Nov 15 at 11:27










  • My use case requires a client in another country to connect to my server through any (or most) browser -probably via an auth protocol, but that will be clarified later- and get the video stream.
    – Vincent Bavaro
    Nov 15 at 11:33















up vote
0
down vote

favorite












Introduction and problem description



Hello everyone, I have a server that generates a series of bitmaps of the same resolution and at a fixed rate. I have to make a webserver which converts them into an output video or video pieces as soon as they start generating and then stream them live to any client that requests it. I'm entirely new to this world.



My thoughts



So far I've found FFmpeg being the best solution for the encoding and I also saw that it has many tools for streaming. What would be my best bet for encoding and trasmitting? After what I've learned so far I think the easiest solution would be encoding into and RTMP streaming server so that any client would be able to access it, would this be the best approach? Or anyone has better suggestions? (So far I saw that there is the UDP approach, the RTMP approach and the HLS/DASH approach for live streaming.) I just need a wide vision on my project so then I can elaborate a solution.



Thank you in advance for any suggestion.










share|improve this question
























  • Only a short comment. I would not go for RTMP. HLS/DASH would certainly be the more future-proof way. See also superuser.com/a/478287/48078
    – slhck
    Nov 15 at 11:05










  • I read that RTMP offers a very short latency compared to HLS but the fact that HLS is becoming more and more supported by most browsers is truly appealing.
    – Vincent Bavaro
    Nov 15 at 11:17










  • RTMP requires Flash; short latency can be achieved with RTP/RTSP. HLS and DASH are very similar to each other and can also get relatively short latency, depending on what your use case is.
    – slhck
    Nov 15 at 11:27










  • My use case requires a client in another country to connect to my server through any (or most) browser -probably via an auth protocol, but that will be clarified later- and get the video stream.
    – Vincent Bavaro
    Nov 15 at 11:33













up vote
0
down vote

favorite









up vote
0
down vote

favorite











Introduction and problem description



Hello everyone, I have a server that generates a series of bitmaps of the same resolution and at a fixed rate. I have to make a webserver which converts them into an output video or video pieces as soon as they start generating and then stream them live to any client that requests it. I'm entirely new to this world.



My thoughts



So far I've found FFmpeg being the best solution for the encoding and I also saw that it has many tools for streaming. What would be my best bet for encoding and trasmitting? After what I've learned so far I think the easiest solution would be encoding into and RTMP streaming server so that any client would be able to access it, would this be the best approach? Or anyone has better suggestions? (So far I saw that there is the UDP approach, the RTMP approach and the HLS/DASH approach for live streaming.) I just need a wide vision on my project so then I can elaborate a solution.



Thank you in advance for any suggestion.










share|improve this question















Introduction and problem description



Hello everyone, I have a server that generates a series of bitmaps of the same resolution and at a fixed rate. I have to make a webserver which converts them into an output video or video pieces as soon as they start generating and then stream them live to any client that requests it. I'm entirely new to this world.



My thoughts



So far I've found FFmpeg being the best solution for the encoding and I also saw that it has many tools for streaming. What would be my best bet for encoding and trasmitting? After what I've learned so far I think the easiest solution would be encoding into and RTMP streaming server so that any client would be able to access it, would this be the best approach? Or anyone has better suggestions? (So far I saw that there is the UDP approach, the RTMP approach and the HLS/DASH approach for live streaming.) I just need a wide vision on my project so then I can elaborate a solution.



Thank you in advance for any suggestion.







video ffmpeg webserver streaming






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 15 at 10:16

























asked Nov 15 at 10:07









Vincent Bavaro

12




12












  • Only a short comment. I would not go for RTMP. HLS/DASH would certainly be the more future-proof way. See also superuser.com/a/478287/48078
    – slhck
    Nov 15 at 11:05










  • I read that RTMP offers a very short latency compared to HLS but the fact that HLS is becoming more and more supported by most browsers is truly appealing.
    – Vincent Bavaro
    Nov 15 at 11:17










  • RTMP requires Flash; short latency can be achieved with RTP/RTSP. HLS and DASH are very similar to each other and can also get relatively short latency, depending on what your use case is.
    – slhck
    Nov 15 at 11:27










  • My use case requires a client in another country to connect to my server through any (or most) browser -probably via an auth protocol, but that will be clarified later- and get the video stream.
    – Vincent Bavaro
    Nov 15 at 11:33


















  • Only a short comment. I would not go for RTMP. HLS/DASH would certainly be the more future-proof way. See also superuser.com/a/478287/48078
    – slhck
    Nov 15 at 11:05










  • I read that RTMP offers a very short latency compared to HLS but the fact that HLS is becoming more and more supported by most browsers is truly appealing.
    – Vincent Bavaro
    Nov 15 at 11:17










  • RTMP requires Flash; short latency can be achieved with RTP/RTSP. HLS and DASH are very similar to each other and can also get relatively short latency, depending on what your use case is.
    – slhck
    Nov 15 at 11:27










  • My use case requires a client in another country to connect to my server through any (or most) browser -probably via an auth protocol, but that will be clarified later- and get the video stream.
    – Vincent Bavaro
    Nov 15 at 11:33
















Only a short comment. I would not go for RTMP. HLS/DASH would certainly be the more future-proof way. See also superuser.com/a/478287/48078
– slhck
Nov 15 at 11:05




Only a short comment. I would not go for RTMP. HLS/DASH would certainly be the more future-proof way. See also superuser.com/a/478287/48078
– slhck
Nov 15 at 11:05












I read that RTMP offers a very short latency compared to HLS but the fact that HLS is becoming more and more supported by most browsers is truly appealing.
– Vincent Bavaro
Nov 15 at 11:17




I read that RTMP offers a very short latency compared to HLS but the fact that HLS is becoming more and more supported by most browsers is truly appealing.
– Vincent Bavaro
Nov 15 at 11:17












RTMP requires Flash; short latency can be achieved with RTP/RTSP. HLS and DASH are very similar to each other and can also get relatively short latency, depending on what your use case is.
– slhck
Nov 15 at 11:27




RTMP requires Flash; short latency can be achieved with RTP/RTSP. HLS and DASH are very similar to each other and can also get relatively short latency, depending on what your use case is.
– slhck
Nov 15 at 11:27












My use case requires a client in another country to connect to my server through any (or most) browser -probably via an auth protocol, but that will be clarified later- and get the video stream.
– Vincent Bavaro
Nov 15 at 11:33




My use case requires a client in another country to connect to my server through any (or most) browser -probably via an auth protocol, but that will be clarified later- and get the video stream.
– Vincent Bavaro
Nov 15 at 11:33















active

oldest

votes











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1375616%2flive-streaming-and-ffmpeg%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1375616%2flive-streaming-and-ffmpeg%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Сан-Квентин

Алькесар

Josef Freinademetz