-
-
Notifications
You must be signed in to change notification settings - Fork 965
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add audio support #128
Add audio support #128
Conversation
Cool! |
Thanks a lot for this amazing PR! I'm currently wrapping up some other features and bugs and trying to make a 1.4 release soon. So it will take a few days until I can take a look, but nonetheless I'm hyped! |
@tomByrer: From what I understand, you simply place @yuta0801: In the meanwhile, could you give me access to push on this branch? Maybe you have to invite me to your repo. This would be helpful if I need to reorganize, cleanup or add docs, would be nice to have everything in one branch. |
@JonnyBurger |
It seems the stitching is broken after the merge, I don't know if there was any breaking changes or if the merge was wrong. I'm tracking it down... |
@yuta0801 already figured it out, pushed a fix! |
Seems to crash when there are no audio stream:
|
Hey guys, great work so far! Could we add support for More than happy to add it if you need me to! |
Great idea @ljbc1994! 💯 |
On it now! Added the code to support it... but output is buggy so looking into it. EDIT: PR ready here: yuta0801#1 |
I've investigated about the the adelay filter's all flag is not supported in ffmpeg 4.2.4 at least (since the feature was added at Oct 2019, and release note say the version "was cut from master on 2019-07-21") The problem is there's no way to install compatible ffmpeg in ubuntu LTS (I cannot find it even though spent hours)
I've only success manually installed static build binary ffmpeg 3.4.2 from here... |
Thanks for investigating that @yuta0801, that's a shame that LTS Ubuntu doesn't have that functionality .. In that case, we would have to find out the number of audio channels (through i.e. `adelay=${new Array(channels).fill(startInVideo).join("|")}` EDIT: @yuta0801, pushed new changes to remove filter and manually build up |
Woah awesome work @ljbc1994!! this will be awesome to support a broader range of versions of ffmpeg. |
I committed sample video and audio, and worked a bit on the PR, audio testing and audio testing mute works well in preview and render! Still lots of things to do and test, but this is now my top priority. I also merged main branch which fixes some embarrassing bugs in video playback in development. It's getting solid! |
Today I added a bunch of tests, including one that takes JSX input and simulates a render, and compares it with the media output it gets. Will be very helpful to figure out the edge cases. Also, I fixed the audio being low if you have multiple audio tracks, so now the volume, at least in early testing, is just like in the preview! |
@JonnyBurger Ah that multiple audio tracks is perfect! Also moving the filter generation makes absolute sense! Be interesting to expound on how we could add audio filters (i.e. fade in / out audio), but guess that would be difficult as it'd require ffmpeg to process it first. |
@ljbc1994 I am working on it as you say it 😂 hope to have support for it in a few hours! I'll give an update today. |
This PR adds audio support!
It might not work fine with many audios by limitation of ffmpeg and pattern detecting from audio data of every frame, so we need more tests.