VideoHelp Forum




+ Reply to Thread
Results 1 to 25 of 25
  1. I have some videos, I was checking their properties/info

    Mostly videos properties/ info has,encoding sw Lavfxx.xx.xxx this line

    What is the purpose of this line??
    Mostly videos have this line and some videos don't have this line

    If video can work fine without that line then why
    Quote Quote  
  2. What is the purpose of this line
    It's there to record which libav version that was used to encode the video.

    If video can work fine without that line then why
    if a problem occurs with the encoding, it's easier to track down which library was changed,...
    (there are tons of metadata/flags on videos which are not really necessary)
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  3. Lavf = Libavformat, part of the ffmpeg framework.
    More info here: https://ffmpeg.org/libavformat.html
    Quote Quote  
  4. It's confusing, I want an example to understand properly

    If there's a x264 codec binary and aac library then they will just encode video in .h264 track0 and .aac track1 right??

    Then lavf will needed to join both tracks in to single mp4 mov etc??

    Does lavf contains all formats like mp4 mov etc??
    Quote Quote  
  5. (there are tons of metadata/flags on videos which are not really necessary)
    Then it will take more space compared to those videos which don't have this data,


    if a problem occurs with the encoding, it's easier to track down which library was changed,...
    Compressors should have options to include this type of data before encoding or not to keep, because I think this type of data is for advanced users which is not usefull for normal users ,if any problems occurs in encoding then user will try again
    Quote Quote  
  6. Then it will take more space compared to those videos which don't have this data,
    correct, but the space needed by those are neglectable
    Compressors should have options to include this type of data before encoding or not to keep, because I think this type of data is for advanced users which is not usefull for normal users ,if any problems occurs in encoding then user will try again
    You are in luck if you use open source compressors, you could potentially adjust the code to your whishes.
    Most folks don't care about these few bytes and think that the work of those that wrote the 'compressors&co' deserves some mentioning.
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  7. It's confusing, I want an example to understand properly

    If there's a x264 codec binary and aac library then they will just encode video in .h264 track0 and .aac track1 right??

    Then lavf will needed to join both tracks in to single mp4 mov etc??

    Does lavf contains all formats like mp4 mov etc??
    Anyone explain this
    Quote Quote  
  8. lavf is the multiplexer for the container format (mkv, mp4, avi, whatever). h.264 and aac are the codecs.
    Quote Quote  
  9. + those elementary streams (.264, .aac might also already contain some nonessential data)
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  10. lavf is the multiplexer for the container format (mkv, mp4, avi, whatever). h.264 and aac are the codecs.
    What is multiplexer
    Quote Quote  
  11. Originally Posted by android View Post
    lavf is the multiplexer for the container format (mkv, mp4, avi, whatever). h.264 and aac are the codecs.
    What is multiplexer
    https://www.merriam-webster.com/dictionary/multiplex
    being or relating to a system of transmitting several messages or signals simultaneously
    The audio and video data (and any other data) in the file need to organized in such a way that the player knows what's what and so that the data is easy to read during playback. That's what the multiplexer does. Different containers have different ways of organizing all the data.

    For example, a video file may have one frame of video followed by enough audio to cover that frame. Then another frame of video and another frame's worth of audio. Etc.
    Quote Quote  
  12. The audio and video data (and any other data) in the file need to organized in such a way that the player knows what's what and so that the data is easy to read during playback. That's what the multiplexer does. Different containers have different ways of organizing all the data.
    Then what is difference between a container like mp4 mov etc and a multiplexer like lavf??

    I have also seen some videos info/property that their encoding SW/writting application was GPAC-2.2-rev0-gab012bbfb-ab-suite instead of lavf but container was mp4


    Does it means that lavf is like a compiler or something like that?? Which compiles frames and audio into mp4 mov etc I can be wrong
    Quote Quote  
  13. In this context:
    multiplexer = program that takes streams and packages them into a container
    Different tools can add/remove/change container and stream metadata.
    MP4Box for example is a tool from the GPAC project which usually adds the GPAC-.... into.
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  14. Originally Posted by android View Post
    Then what is difference between a container like mp4 mov etc and a multiplexer like lavf??
    Containers are the specification of how to organize the data. lavf is a library that knows how to deal with those A/V files.

    Originally Posted by android View Post
    I have also seen some videos info/property that their encoding SW/writting application was GPAC-2.2-rev0-gab012bbfb-ab-suite instead of lavf but container was mp4
    GPAC is another library for dealing with A/V files.
    Quote Quote  
  15. Does video editors like vegas pro ,adobe, kine master etc also use this library,

    lavf gpac only packs streams in mp4 mov does it means they just copy pastes compressed streams by x264 ,aac etc and packs in mp4 mov etc

    What are some other library like lavf gpac
    Quote Quote  
  16. If someone compiles his own x264 encoder from the x264 source code, and encodes a video using that encoder, will lavf and gpac be written in that too??

    And also check
    Does video editors like vegas pro ,adobe, kine master etc also use this library,

    lavf gpac only packs streams in mp4 mov does it means they just copy pastes compressed streams by x264 ,aac etc and packs in mp4 mov etc

    What are some other library like lavf gpac
    Quote Quote  
  17. Originally Posted by android View Post
    Does video editors like vegas pro ,adobe, kine master etc also use this library,
    Probably not. Open source projects often come with limitations that aren't compatible with commercial software.

    Originally Posted by android View Post
    lavf gpac only packs streams in mp4 mov does it means they just copy pastes compressed streams by x264 ,aac etc and packs in mp4 mov etc
    Yes. Though it's much more complex than "copy paste."

    Originally Posted by android View Post
    What are some other library like lavf gpac
    I don't know.

    Originally Posted by android View Post
    If someone compiles his own x264 encoder from the x264 source code, and encodes a video using that encoder, will lavf and gpac be written in that too??
    The h.264 and aac streams can be written to elementary streams. But if you want them packaged in an MP4 (or other) container you need to use a muxer. You can either write your own muxer or use a library.
    Quote Quote  
  18. Elementary streams what is it??
    Quote Quote  
  19. Elementary streams are the native format for a codec's output.
    https://en.wikipedia.org/wiki/Elementary_stream
    Quote Quote  
  20. Is it playable by video players
    Quote Quote  
  21. Thanks for explaining
    Quote Quote  
  22. Keep in mind that an elementary stream will have only one stream. So a h.264 elementary stream will only have video -- no audio, no subs, no chapters.
    Quote Quote  
  23. How can I extract elementary streams from containers and make it playable, i did lil bit research and found that mp4 have video track in mdat(am not sure about it) so I opened an video file in hex editor and deleted everything except mdat and saved as .h264 file ,but it isn't playing ,there's something am doing wrong or may be everything idk
    Quote Quote  
  24. ffmpeg can extract the elementary stream:

    Code:
    ffmpeg -i input.mp4 -c copy -an output.264
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!