Media source api, stream simple mp4












1















Can we stream simple mp4 using the media source api?



As we can stream the dash/fmp4 using the media source api but I have the simple mp4 h264 video which I want to stream using the media source api.



I know the mp4 can be directly streamed using html tag etc but I am building the adaptive bitrate streaming of simple mp4 h264 files so that is why I want to use the media source api.



Media source api requires the initial segment for dash/fmp4, if the simple mp4 is supported then which initial segment I have to provide? Means the mov atom, mdat etc



As for the next segments I have extracted the i-frame data from the mp4 file, did media source api accepts raw i-frame data without any container?










share|improve this question




















  • 1





    see this example - tutorialspots.com/… - but, why are you trying to recreate the wheel? If you are doing adaptive bitrate streaming then HLS or MPEG-DASH support (native to browsers or via players like Shaka or Mux) give that to you

    – Offbeatmammal
    Dec 26 '18 at 22:11






  • 1





    Thanks for the help, I can't do because I have the thousands of video and each video have 3 qualities which are 480p, 720p and 1080p. Each quality have the different keyframe position so they can't be adaptive streamed so I have to develop the custom player so it can be adaptive streamed even if the videos have the different keyframe position.

    – wahab khurram
    Dec 27 '18 at 12:34











  • The example which you send is for the fragment mp4. My mp4 videos are simple.

    – wahab khurram
    Dec 27 '18 at 12:49











  • IMO you'd be better off throwing some compute at it now and transcoding the 1080 assets to HLS or Dash and not trying to create a non-standard player which is going to leave you with long term technical debt. ffmpeg can be scripted to churn through the videos locally (and/or you could spin up cloud instances with any provider to get through the work faster)

    – Offbeatmammal
    Dec 27 '18 at 22:07











  • Thanks for the input, I will transmux the videos to Hls

    – wahab khurram
    Dec 28 '18 at 14:09
















1















Can we stream simple mp4 using the media source api?



As we can stream the dash/fmp4 using the media source api but I have the simple mp4 h264 video which I want to stream using the media source api.



I know the mp4 can be directly streamed using html tag etc but I am building the adaptive bitrate streaming of simple mp4 h264 files so that is why I want to use the media source api.



Media source api requires the initial segment for dash/fmp4, if the simple mp4 is supported then which initial segment I have to provide? Means the mov atom, mdat etc



As for the next segments I have extracted the i-frame data from the mp4 file, did media source api accepts raw i-frame data without any container?










share|improve this question




















  • 1





    see this example - tutorialspots.com/… - but, why are you trying to recreate the wheel? If you are doing adaptive bitrate streaming then HLS or MPEG-DASH support (native to browsers or via players like Shaka or Mux) give that to you

    – Offbeatmammal
    Dec 26 '18 at 22:11






  • 1





    Thanks for the help, I can't do because I have the thousands of video and each video have 3 qualities which are 480p, 720p and 1080p. Each quality have the different keyframe position so they can't be adaptive streamed so I have to develop the custom player so it can be adaptive streamed even if the videos have the different keyframe position.

    – wahab khurram
    Dec 27 '18 at 12:34











  • The example which you send is for the fragment mp4. My mp4 videos are simple.

    – wahab khurram
    Dec 27 '18 at 12:49











  • IMO you'd be better off throwing some compute at it now and transcoding the 1080 assets to HLS or Dash and not trying to create a non-standard player which is going to leave you with long term technical debt. ffmpeg can be scripted to churn through the videos locally (and/or you could spin up cloud instances with any provider to get through the work faster)

    – Offbeatmammal
    Dec 27 '18 at 22:07











  • Thanks for the input, I will transmux the videos to Hls

    – wahab khurram
    Dec 28 '18 at 14:09














1












1








1


1






Can we stream simple mp4 using the media source api?



As we can stream the dash/fmp4 using the media source api but I have the simple mp4 h264 video which I want to stream using the media source api.



I know the mp4 can be directly streamed using html tag etc but I am building the adaptive bitrate streaming of simple mp4 h264 files so that is why I want to use the media source api.



Media source api requires the initial segment for dash/fmp4, if the simple mp4 is supported then which initial segment I have to provide? Means the mov atom, mdat etc



As for the next segments I have extracted the i-frame data from the mp4 file, did media source api accepts raw i-frame data without any container?










share|improve this question
















Can we stream simple mp4 using the media source api?



As we can stream the dash/fmp4 using the media source api but I have the simple mp4 h264 video which I want to stream using the media source api.



I know the mp4 can be directly streamed using html tag etc but I am building the adaptive bitrate streaming of simple mp4 h264 files so that is why I want to use the media source api.



Media source api requires the initial segment for dash/fmp4, if the simple mp4 is supported then which initial segment I have to provide? Means the mov atom, mdat etc



As for the next segments I have extracted the i-frame data from the mp4 file, did media source api accepts raw i-frame data without any container?







video video-streaming mp4 mpeg-dash media-source






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 29 '18 at 5:57









jmsn

40737




40737










asked Dec 26 '18 at 18:14









wahab khurramwahab khurram

125




125








  • 1





    see this example - tutorialspots.com/… - but, why are you trying to recreate the wheel? If you are doing adaptive bitrate streaming then HLS or MPEG-DASH support (native to browsers or via players like Shaka or Mux) give that to you

    – Offbeatmammal
    Dec 26 '18 at 22:11






  • 1





    Thanks for the help, I can't do because I have the thousands of video and each video have 3 qualities which are 480p, 720p and 1080p. Each quality have the different keyframe position so they can't be adaptive streamed so I have to develop the custom player so it can be adaptive streamed even if the videos have the different keyframe position.

    – wahab khurram
    Dec 27 '18 at 12:34











  • The example which you send is for the fragment mp4. My mp4 videos are simple.

    – wahab khurram
    Dec 27 '18 at 12:49











  • IMO you'd be better off throwing some compute at it now and transcoding the 1080 assets to HLS or Dash and not trying to create a non-standard player which is going to leave you with long term technical debt. ffmpeg can be scripted to churn through the videos locally (and/or you could spin up cloud instances with any provider to get through the work faster)

    – Offbeatmammal
    Dec 27 '18 at 22:07











  • Thanks for the input, I will transmux the videos to Hls

    – wahab khurram
    Dec 28 '18 at 14:09














  • 1





    see this example - tutorialspots.com/… - but, why are you trying to recreate the wheel? If you are doing adaptive bitrate streaming then HLS or MPEG-DASH support (native to browsers or via players like Shaka or Mux) give that to you

    – Offbeatmammal
    Dec 26 '18 at 22:11






  • 1





    Thanks for the help, I can't do because I have the thousands of video and each video have 3 qualities which are 480p, 720p and 1080p. Each quality have the different keyframe position so they can't be adaptive streamed so I have to develop the custom player so it can be adaptive streamed even if the videos have the different keyframe position.

    – wahab khurram
    Dec 27 '18 at 12:34











  • The example which you send is for the fragment mp4. My mp4 videos are simple.

    – wahab khurram
    Dec 27 '18 at 12:49











  • IMO you'd be better off throwing some compute at it now and transcoding the 1080 assets to HLS or Dash and not trying to create a non-standard player which is going to leave you with long term technical debt. ffmpeg can be scripted to churn through the videos locally (and/or you could spin up cloud instances with any provider to get through the work faster)

    – Offbeatmammal
    Dec 27 '18 at 22:07











  • Thanks for the input, I will transmux the videos to Hls

    – wahab khurram
    Dec 28 '18 at 14:09








1




1





see this example - tutorialspots.com/… - but, why are you trying to recreate the wheel? If you are doing adaptive bitrate streaming then HLS or MPEG-DASH support (native to browsers or via players like Shaka or Mux) give that to you

– Offbeatmammal
Dec 26 '18 at 22:11





see this example - tutorialspots.com/… - but, why are you trying to recreate the wheel? If you are doing adaptive bitrate streaming then HLS or MPEG-DASH support (native to browsers or via players like Shaka or Mux) give that to you

– Offbeatmammal
Dec 26 '18 at 22:11




1




1





Thanks for the help, I can't do because I have the thousands of video and each video have 3 qualities which are 480p, 720p and 1080p. Each quality have the different keyframe position so they can't be adaptive streamed so I have to develop the custom player so it can be adaptive streamed even if the videos have the different keyframe position.

– wahab khurram
Dec 27 '18 at 12:34





Thanks for the help, I can't do because I have the thousands of video and each video have 3 qualities which are 480p, 720p and 1080p. Each quality have the different keyframe position so they can't be adaptive streamed so I have to develop the custom player so it can be adaptive streamed even if the videos have the different keyframe position.

– wahab khurram
Dec 27 '18 at 12:34













The example which you send is for the fragment mp4. My mp4 videos are simple.

– wahab khurram
Dec 27 '18 at 12:49





The example which you send is for the fragment mp4. My mp4 videos are simple.

– wahab khurram
Dec 27 '18 at 12:49













IMO you'd be better off throwing some compute at it now and transcoding the 1080 assets to HLS or Dash and not trying to create a non-standard player which is going to leave you with long term technical debt. ffmpeg can be scripted to churn through the videos locally (and/or you could spin up cloud instances with any provider to get through the work faster)

– Offbeatmammal
Dec 27 '18 at 22:07





IMO you'd be better off throwing some compute at it now and transcoding the 1080 assets to HLS or Dash and not trying to create a non-standard player which is going to leave you with long term technical debt. ffmpeg can be scripted to churn through the videos locally (and/or you could spin up cloud instances with any provider to get through the work faster)

– Offbeatmammal
Dec 27 '18 at 22:07













Thanks for the input, I will transmux the videos to Hls

– wahab khurram
Dec 28 '18 at 14:09





Thanks for the input, I will transmux the videos to Hls

– wahab khurram
Dec 28 '18 at 14:09












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
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',
autoActivateHeartbeat: false,
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%2fstackoverflow.com%2fquestions%2f53935579%2fmedia-source-api-stream-simple-mp4%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53935579%2fmedia-source-api-stream-simple-mp4%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

Monofisismo

Angular Downloading a file using contenturl with Basic Authentication

Olmecas