Skip to content
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

FLAC with WAV file merge not prohibited and not functional #494

Closed
deton24 opened this issue Nov 7, 2020 · 7 comments
Closed

FLAC with WAV file merge not prohibited and not functional #494

deton24 opened this issue Nov 7, 2020 · 7 comments

Comments

@deton24
Copy link

deton24 commented Nov 7, 2020

The program allows to do it, though it's impossible from a technical side and it ends up in distorted audio without 2nd segment.
At least with WAV as output.

I'd just prevent users from merging various audio file formats, at least with WAV as output, just by showing some error.

It could be also added an error on the attempt of merging 16/24/32 bit audio files together in wav, because it results in improper decoding between segments anyway.

I still wonder whether Matroska would handle it.

From the other hand, it's possible to correctly merge video files with the same codec and resolution but with different framerate in MKVMerge (mp4 files with MKV as output). But it doesn't look like it's supported with different audio files via Matroska MKA container. I checked in MKVMerge, but maybe it's some implementation issues. Or maybe not. Tested with WAV/FLAC, and also with only WAV or FLAC (different bit depth files).

Anyway, great thanks for the app. I looked for such tool for literally ages and it just showed up recently in Google when I needed it :)
I fighting with some sync issues, since cut feature is not precise, and timestamps are not precise when I read it from DAW, but it's cool anyway, and hell a lot better than cutting in hxD...

@mifi
Copy link
Owner

mifi commented Nov 15, 2020

the app could do this, but there are so many different formats/codecs that i don't know the details of which are compatible with which, and this may change from ffmpeg version to the next.

as for precise cutting, i would love to find a solution for determining exactly how the cuts will end up. I tried a lot but it really depends on codec/format parameters, so I was never able to find a consistent way of determining this for all files.

@deton24
Copy link
Author

deton24 commented Nov 15, 2020 via email

@mifi
Copy link
Owner

mifi commented Jan 15, 2022

just to be sture: you're taliking about merging multiple concurrent tracks/streams, not concatenating files right? Possibly related #547

@mifi
Copy link
Owner

mifi commented Feb 19, 2022

closing due to lack of response

@mifi mifi closed this as completed Feb 19, 2022
@deton24
Copy link
Author

deton24 commented Feb 19, 2022

From what I understood, you can't set all possible warnings to make the software idiot-proof and prevent people from concatenating not compatible files with each other. Then yes, it can be closed.

But, I also wrote about joining various streams of the same code, but with different parameters like FPS.
In such case I presume you can't just join such two files, because there need to be an information about FPS in header otherwise the video won't be properly decoded, but maybe I'm wrong. Anyways, using MKVMerge you can put e.g. two H.264 files in one container, they will differ by the FPS, but they still will be played from one MKV container. I don't know whether your software supports something like that.
And it might be also bound to some specific codec settings. E.g. I used mp4/h.264 clips from Windows DVR with various FPS settings and joined them in MKVMerge.
Few videos went fine, one video lost sync with audio joining clips that way, and in that case they even had the same FPS.

@mifi
Copy link
Owner

mifi commented Feb 20, 2022

Just to be sure, you're talking about concatenating only here right? when you say put two h264 files in one container, you don't mean as separate parallell tracks/streams but one after another?

I think it may be possible to improve detection and give the user an error in certain cases, but I also don't want to exclude any use case that I think is not possible, but in reality ffmpeg can do it.

@deton24
Copy link
Author

deton24 commented Feb 20, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants