Since, Apple has announced the support for fragmented MP4, Is it possible to create both DASH manifest (.mpd) and HLS manifest (.m3u8) for the same set of segments ( for separate audio and video). How to do it?
How to create HLS manifest from MPEG DASH segments?
8k Views Asked by user3753682 At
2
There are 2 best solutions below
0
Nico
On
I have also a experimental GPAC/MP4Box branch on github doing this:
https://github.com/DerouineauNicolas/gpac/tree/m3u8_mpd_rext
So far, expected use is the following:
MP4Box -dash 1000 $OUT_DIR/file.mp4#video $OUT_DIR/file.mp4#audio -m3u8-from-mpd $OUT_DIR/hls.m3u8 -segment-name test-$RepresentationID$-$Number%d$ -out $OUT_DIR/file.mpd
where -m3u8-from-mpd is the master playlist name. Playlists m3u8 files are generated in the same directory than the master playlist.
Feedbacks are welcome.
Related Questions in FFMPEG
- I need an azure product that executes my intensive ffmpeg command then dies, and i only get charged for the delta. Any Tips?
- Converting MP3/MP4 to WAV in the Frontend Using ffmpegwasm with Next.js Results in Module Not Found Error
- Get remote MKV file metadata using nodejs
- After using ffmpeg to remove some streams in mkv file, it takes much longer to open the media file in potplayer in Windows
- Implementing trim and fade filters with ffmpeg - MP3
- Merge Azure mp4 blobs via API (Preferred Azure)
- Overlaying frame number with ffmpeg
- Merge (concat) all video file present in '43. DP (Part1)' and put it into '43. DP (Part1)' and give name merged (concat) file to folder name
- I get an error when republishing the image I shot with ros2 run ffmpeg
- libav audio latency / cannot set audio_buffer_size
- An error occurred after encoding with h264_nvenc
- ffmpeg - excerpt from a large video file, preserving its additional streams
- Babel Loader error when using ffmpeg.wasm in CRA react app
- define the input FPS of a stream using ffmpeg-python
- NodeJS stream MKV as MP4 video
Related Questions in HTTP-LIVE-STREAMING
- HLS live stream not play on Google nest hub 1 Gen
- Streamingplatform with Unity, Nodejs and Nextjs
- controlling the speed of the hls play list, generated by ffmpeg
- Unable to embed a local HLS stream into a browser
- Screen Capture API _ Set a specific Screen
- HLS.js get video size from codec
- Why does this m3u8 list cannot be played by shaka player?
- Output varibale is not scalar. Matlab. HDL Coder
- How can I transcode video to HLS version 3 using Google Transcoder?
- WEBVTT into HLS does not work anymore on last iOS version
- HLS (HTTP Live Streaming), m3u8 Url 403 issue, works on extension but not when running locally
- Troubleshooting HLS Streaming Setup in Nginx: 404 (Not Found) Error
- Integrate agora as RTM service for livestreaming/ broadcasting
- AVAssetImageGenerator with Fairplay/DRM
- Converting mp3 to hls with gstreamer
Related Questions in MPEG-DASH
- Referencing secondary manifests in dash
- How to play ffmpeg dash?
- Streaming dynamic playlist with GPAC
- generate mpeg dash segments in specific directory using FFMPEG
- Having problems compiling shaka player
- Microsoft Edge fails to play PlayReady DASH stream in VideoJS
- ExoPlayer clearkey issue
- Is it possible to pregenerate m3u8 file? (the playlist only) and skip the transcoding?
- How can I play Widevine-encrypted content out of the browser?
- How to reduce the latency of CMAF?
- Is there a way to add private attributes to MPD without violating the DASH standard?
- How to support quality levels in video.js and videojs-contrib-dash. videojs-contrib-quality-levels is not working
- In Dash manifest, how to insert duration into the segmentTemplate or pass the segment duration in segment requests?
- Playing clearkey protected mpd content in html5 dashjs player with already acquired kty k and kid values
- Change keyframe interval losslessly to produce mpeg-dash content
Related Questions in MP4BOX
- Streaming dynamic playlist with GPAC
- Why are the extra codecs causing errors for the Media Source API?
- Trouble playing multiple video tracks with MSE and mp4box.js in JavaScript
- Should version field be put in edts box or elst box in MP4?
- Usage of MP4box to editing HEIC/HEIF image
- Why does ffmpeg parses an entire file beforehand
- HTML5 Video: How to get the index of current frame
- use mp4parser to edit the mp4boxes
- Windows Media Player doesn't reproduce audio from file that was created with mp4box library
- How to add additional audio tracks to video using gpac/mp4box?
- how to read partial fragmented mp4 from buffer or stdin
- What's the equivalent of "MP4Box -hint" in ffmpeg?
- Creating mpd files of multiple video resolutions for a video streaming platform
- How to add a json text file (x.json) into an existing mp4 file (x.mp4)
- Playing mp4 via mp4box.js
Related Questions in BITMOVIN-PLAYER
- Is there any way to cast bitmovin stream video on tv using DLNA service?
- bitmobin Streaming url video casting issue via DLNA service
- Can I set Bitmovin video to go fullscreen on device orientation change?
- How to set a custom 'user-agent' as header for Android Bitmovin player SDK?
- Integrating bitmovin player in chrome cast custom receiver web app
- How do I layout my React Native Fire TV SubtitleView correctly?
- Couldn't integrate Bitmovin Video Player into reactjs application
- Pass onPictureInPictureModeChanged result into a react native module
- How do I learn the Chrome console to find my object and its methods?
- Secure HLS AES-128 key URI
- Bitmovin iOS PreprocessHttpRequestDelegate not called
- Can I add a title attribute in the video element of bitmovin video player?
- Bitmovin player on Safari does not load captions selection options from media SourceConfig
- How to fix 'HTTP Response Code was 403 Forbidden' error in bitmovin-javascript on node.js server
- Android: Bitmovin I cant find the encoded video in the bitmovin console?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I don't know if it's possible with ffmpeg, but shaka-packager is able to do just this. Following command will output MP4 segments as well as HLS and DASH manifests, reusing MP4 segments for both (not sure if you can use existing MP4 segments though, you might have to mux them back into a single mp4 per video stream first):
Be aware that, at the time of this writing, you need to use the master branch code (or the google/shaka-packager:latest docker image), as the newest release 1.6.2 will just exit with Cannot output both MPD and HLS.
Although I never used it so far, Bento4 is another tool which is able to package DASH and HLS in a single run: