Git Product home page Git Product logo

Comments (4)

fireattack avatar fireattack commented on August 19, 2024 1

So far I never notice any broken video, so yeah "Found duplicated MOOV Atom" is just a warning and likely what causes this slowness, but this is just performance.

As for muxing, I think we can just use native concat as we do now, and then directly mux the result two .ts files together using ffmpeg. (ffmpeg -i video_nativecat.ts -i audio_nativecat.ts -c copy etc.), without muxing each track into separate mp4 file first.

It will still have the performance issues mentioned above (since we still need to read it at least once), but it removes the need to read/write the track twice (or thrice if we count concat). And I don't find it causing issues in final result.

Edit: a bug ticket about the remuxing long duration video issue is now created: https://trac.ffmpeg.org/ticket/9941

from livestream_saver.

fireattack avatar fireattack commented on August 19, 2024

Another issue with merging: it looks like after we concatenated the file, we firstly remux each track to mp4 and then remux them together.

I'm not sure why not just remux all the tracks together in one-pass; as it could prolong the merging process significantly due to disk I/O (since it is writing the file one more time).

from livestream_saver.

glubsy avatar glubsy commented on August 19, 2024

Thanks for reporting. Unfortunately there is not much I can do about this.
My understanding is that the repeated Found duplicated MOOV Atom log messages from ffmpeg should not be a real problem as they are mostly just a warning.

What version of ffmpeg are you using? I don't have any major issue with 4.3.2, 4.4.2, nor 5.0.1. It does take a while for very long livestreams but so far I have not found any other reliable way of doing concatenation + remux.

Another issue with merging: it looks like after we concatenated the file, we firstly remux each track to mp4 and then remux them together.

I'm not sure why not just remux all the tracks together in one-pass; as it could prolong the merging process significantly due to disk I/O (since it is writing the file one more time).

Indeed, that is what is happening. I don't remember exactly why I ended up doing it this way, but as far as I know, there is not other way around this.
Feel free to experiment with other methods though, and if you find one that is reliable and doesn't result in a corrupt file, please let us know. ;)

I plan on revisiting this step in the future, especially to handle corrupt video/audio packets better.

from livestream_saver.

glubsy avatar glubsy commented on August 19, 2024

Thanks for taking the time to create that ticket.

Regarding muxing, I'm fairly certain I ran into issues doing it the way you suggest, I think the audio and video were not synchronized last time I tried (and probably some other weird issues like that).
But since you're saying you didn't have any issue on your side, I'll have to test that again.

from livestream_saver.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.