bmff | ISO Base Media File Format Parsing Library

 by   itsjamie Go Version: Current License: MIT

kandi X-RAY | bmff Summary

kandi X-RAY | bmff Summary

bmff is a Go library typically used in Utilities, Nodejs applications. bmff has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

ISO Base Media File Format Parsing Library. This parses MP4 containers that adhere to the above specification.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              bmff has a low active ecosystem.
              It has 9 star(s) with 0 fork(s). There are 1 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              bmff has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of bmff is current.

            kandi-Quality Quality

              bmff has no bugs reported.

            kandi-Security Security

              bmff has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              bmff is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              bmff releases are not available. You will need to build from source code and install.

            Top functions reviewed by kandi - BETA

            kandi has reviewed bmff and discovered the below as its top functions. This is intended to give you an instant insight into bmff implemented functionality, and help decide if they suit your requirements.
            • Parse parses a file .
            • readBoxes reads boxes from the given io . Reader .
            • cn returns the length of n .
            • newBox returns a new box .
            • SizeIsAspectRatio returns true if the size is the size of the track header .
            Get all kandi verified functions for this library.

            bmff Key Features

            No Key Features are available at this moment for bmff.

            bmff Examples and Code Snippets

            No Code Snippets are available at this moment for bmff.

            Community Discussions

            QUESTION

            Populate V-Select from Json - Vue JS
            Asked 2021-Jan-18 at 08:17

            I need to populate my v-select multiselect element from json object I tried but it didn't work

            This is what I get

            ...

            ANSWER

            Answered 2021-Jan-18 at 07:45

            create a computed property that transform your object in list of objects like {text: 'something', value: 2}, which is required in v-select.

            Do it like this:

            Source https://stackoverflow.com/questions/65770448

            QUESTION

            What is the difference between ISO BMFF and other mp4 format?
            Asked 2019-Oct-26 at 09:35

            As about. I want to play a MP4 via Media Source Extensions, but not any MP4 file can play. Please check FLV.js, it works by transmuxing FLV file stream into ISO BMFF (Fragmented MP4) segments, followed by feeding mp4 segments into an HTML5 element through Media Source Extensions API.

            So, What is the diference between ISO BMFF and other mp4 format?

            ...

            ANSWER

            Answered 2017-Mar-07 at 10:12

            QUESTION

            formatting an AVC/H.264 mdat
            Asked 2018-Nov-29 at 05:34

            Can anyone tell me or point me to a section of the specification(s) that clearly demonstrates how from an elementary stream with a series of NALUs how these should be written into a ISO BMFF mdat?

            I can see looking at samples and other code that I should have something like: AUD, SPS, PPS, SEI, VideoSlice, AUD etc etc

            Things that are not entirely clear to me:

            1. If the SPS and PPS are also stored out of band in the AVCC are they required in the mdat?
            2. If they are required in the mdat when/where should they be written? e.g. just prior to an IDR?
            3. What is the requirement for AUDs?
            4. If I am generating sample sizes for the trun is the calcuation for this? In the example I am working to recreate the first sample in the trun has a size of 22817 however if I look at the first sample in the mdat the NALU size prefix is 22678. The value in the trun appears to be the size of all the NALUs + sizes up to and including the first sample (see my example below)

            >

            ...

            ANSWER

            Answered 2018-Nov-29 at 05:34

            If the SPS and PPS are also stored out of band in the AVCC are they required in the mdat?

            No

            If they are required in the mdat when/where should they be written? e.g. just prior to an IDR?

            Yes, if you choose to include them, but there is no reason to

            What is the requirement for AUDs?

            They are optional

            If I am generating sample sizes for the trun is the calcuation for this?

            The number of bytes in the access unit (AU, aka frame). Which may contain more than one NALU. SPS/PPS/SEI/AUD all counted toward the AU size. The 4 byte size prefixed to each NALUs is also counted in the AU size recored in the trun.

            Source https://stackoverflow.com/questions/53531003

            QUESTION

            how to parse `sidx` of MP4 dash file
            Asked 2017-Oct-30 at 09:15

            I'm trying to parse the sidx segment to use it on dash streaming! ( I prefer to use javascript for it )

            I have the sidx range and I have already buffered it .. but it's all in hexadecimal. . I'm trying to make it as a known object to calculate segments range and buffer it into sourcebuffer.

            here's the sidx

            ...

            ANSWER

            Answered 2017-Oct-30 at 09:15
            Resolve

            Actually, I found the solution myself. Thanks to @kanongil from bitparser now I can parse the bits easily. the structure was the same as the mp4parser and the bit length was on references I shared. you can find everything you need from the links I shared.

            Source https://stackoverflow.com/questions/46989396

            QUESTION

            Correlation between DTS and time scale
            Asked 2017-Aug-16 at 05:50

            I am trying to make iso bmff from raw h264 byte stream for playing through javascript. I am getting data through custom transport container (Not any standard HLS or rtsp packet) where each packet contain a relative timestamp. For example:

            chunk1:

            Packet1 -- timestamp:100, payload: H264 raw data [Usually single NAL unit]

            Packet2 -- timestamp:120, payload: h264 raw data

            chunk1:

            Packet1 -- timestamp:140, payload: H264 raw data

            Packet2 -- timestamp:160, payload: h264 raw data

            Since packet timestamp is the relative time in milliseconds so I am considering time scale value is 1000 and calculating DTS from difference of first packet and consecutive packet. For example,

            DTS for 1st chunk: 0 [ 100 - 100]

            DTS for 2nd chunk: 40 [140 - 100]

            But problem is that it is working fine in firefox but chrome just got stuck after first frame.

            What cause could be? Am I doing wrong with DTS or time scale?

            Noted that I don't have any B frame, so my DTS and PTS value is same

            ...

            ANSWER

            Answered 2017-Aug-16 at 05:50

            At last I was able to solve my problem. Basically there was nothing wrong with DTS value. I was using a modified version of mp4 generator that was the problem where duration part from trun box was removed.

            I have got clue about this issue from my another post where szatmary mentioned about trun box duration.

            Finally, I just copied mp4-generator from hls repository and it solved my issue. Now it is playing in chrome and safari as well.

            Source https://stackoverflow.com/questions/45335737

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install bmff

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/itsjamie/bmff.git

          • CLI

            gh repo clone itsjamie/bmff

          • sshUrl

            git@github.com:itsjamie/bmff.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Go Libraries

            go

            by golang

            kubernetes

            by kubernetes

            awesome-go

            by avelino

            moby

            by moby

            hugo

            by gohugoio

            Try Top Libraries by itsjamie

            gin-cors

            by itsjamieGo

            realtime-games

            by itsjamieJavaScript

            esdoc-next

            by itsjamieJavaScript

            lambda-examples

            by itsjamieShell