Comments (4)
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.
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.
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.
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)
- Exception while accessing title of video (possibly a pytube issue) HOT 1
- I think the latest change broke something HOT 2
- "The following content is not available on this app." errors HOT 8
- Help getting yt-dlp to spawn on events? HOT 4
- Cookie HOT 2
- Outdated client error. Retrying shortly... HOT 1
- SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] HOT 2
- How to install? HOT 4
- No module named 'yt_dlp' HOT 1
- Use yt-dlp for download HOT 1
- [Question] how to redirect output to another app like ffmpeg or a player like VLC? HOT 5
- Quality is not highest by default HOT 2
- [Question] How to make the "livestream_saver" download videos in monitor mode without splitting the downloaded video file into parts? HOT 4
- Function to always download the most recent live from the channel if it is not detected by livestream_saver for some reason HOT 3
- "on_upcoming_detected" download trigger does not work after a "Handle urllib.error.URLError <urlopen error" error, or URL Timeout exceptions. HOT 1
- Timestamps crash after exception error "<urlopen error [Errno -3] Temporary failure in name resolution>" HOT 7
- The function "get_public_streams" from the monitor.py file returns random VOD's after a certain time. HOT 3
- -o output-dir doesn't work HOT 3
- Video and Audio files are not combined at end of stream HOT 1
- -q parameter ignored? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from livestream_saver.