Join Files not working on MP4 videos

i just joined some Files (.mp4) that seamed to work but on play back the new file is only the length of the first video yet the file size is showing the size of all videos that i asked to join... i looked at more videos i had joined and they too have the same issue

Join literally joins the raw file data together, typically after it has been split up using the similar Split command.

Join won't work with two standalone mp4 files. It's like tying to make a stretch limo by welding the rear bumper of one normal sized car to the front bumper of another.

You need a tool specific to mp4 files for that. You can use command line tools and set up buttons in Opus to automate them, or use a GUI video editor/joiner.

A regular simple join of multiple video/audio and most other type of files is very likely to not work as expected. Such files do not only contain the video frames. There is a whole lot of metadata included in each file like multiple streams, languages, subtitles and structural information about the actual video data. If you join such files, these metadata blocks are in there multiple times, at positions in the file where no player would ever expect them to be. So imagine there is a metadata entry that tell the video player "this file plays for 30 minutes, has x-Number of frames at y-fps", how is the player to know about the other metadata block somewhere behind the videodata of the first file.

These file formats are not meant to be appended in such a simple way. There are tools out there doing this, ffmpeg probably does this for you. It will update/combine/fix the metadata and make sure there is only one block of them at the right place etc..

If there is a video-format professional out there reading this, he probably has much to correct here, but you probably get the idea why the join "failed".

in that case maybe update the help file to state that join is not for all file types

Join is for joining files (all files contains binary data), not movies, music etc. MP4 is file with movie inside, but Opus joins (as any other filemanager) files, not combine data inside them. Joining all type of data (video, sound, etc.) is just impossible. It's not confusing. For example - what do you expect if you "join" 5 pictures? Slideshow? All of them on the same screen with proportional transparency? One beside the other vertically? Horizontally? There are special programs that can join movies, other which can join sound and many others for other filetypes. Filemanager joins files, video processing programs joins video.

Get a copy of FFmpeg, install it and use this button after updating the path to ffmpeg.exe. It will concatenate the selected files to a new one. FFmpeg usually works flawlessly if the original files are compatible on the inside (same recording device, encoder settings etc.), but check the results before deleting the originals.

@nofilenamequoting
@nodeselect
@filesonly 
del ffmlist.txt
echo # {date} {time} >> ffmlist.txt
echo file '{filepath$}' >> ffmlist.txt
@nodeselect 
@firstfileonly
echo # C:\ppAppsLXP\ffmpeg-x64\bin\ffmpeg.exe -f concat -safe 0 -i ffmlist.txt -c copy "{filepath$|noext}.all{filepath$|ext}" >> ffmlist.txt
C:\ppAppsLXP\ffmpeg-x64\bin\ffmpeg.exe -f concat -safe 0 -i ffmlist.txt -c copy "{filepath$|noext}.all{filepath$|ext}"
@filesonly
echo # file '{filepath$}' >> ffmlist.txt
pause

ffm Concat videos.dcf (1.1 KB)

2 Likes

all i asked for was the help file to be updated ... like i said it appeared to work mite save someone from losing files they care about

thank you i will give it a try

Great That did the trick Thank you again

Thank you @lxp, tested the button, it really works! o)
Do you coincidentally have some more of these, like splitting a video maybe? o)

@wobbly
I've never met someone who expected a file-join like this to work as you did, but that said, a note in docs as you suggested won't hurt anyone. Computer science has gotten broad and wide these days, many aspects and a lot of specialized knowhow and dontknowhow out there. o) Splitting and joining files has been used heavily back in the days where disk storage and transfer times where an issue. Nowadays it's less required, so I can see why some people would misinterpret it's actual use case. No offense, we all know that we know nothing, right? o)

@ tbone just because you may know how something is meant to work or not work do not assume anything ... just a few more lines in the help file would be nice if i had read that it was not for movies or music or what ever in the help file ... i would not be writhing this now its a help file after all

The help seems to explain how to use the program, but not what it actually does. Apparently it's assumed that the user knows the technicalities. Indeed i was confused as well as to what the heck it achieves to join files. Don't we have zip for that? Didn't think that it could join videos together though.

I understand splitting files when you need smaller chunks, and then maybe join those back together later. But joining files outright is still a bit of a mystery to me too.

Edit: @below; maybe then instead of Join, a term like Restore might be a better fit.

Splitting is usually used to store/send files via things that have size limits. Joining lets you join them together again at the other end.

If you could split files but not join them, that would be a bit of a problem as you would have the file split into parts and no way to get the original file back. :slight_smile: Joining exists to put things back together.

I'm locking the thread now as I think all that needs to be said has been said and we've veered off into non-technical discussions.