Recently, I sent away about 4 hours of old 8mm home video footage to a company called Memorable to get digitized. They did an absolutely fantastic job transferring and restoring the 8mm film, it looks incredible (it's all home movies from the 1950s through the 1970s). However, it's all out of order (i.e. my Dad, who appears in the videos, will be 3 years old one minute, and then it'll skip ahead to when he's like 17).
Ideally, I'd like to cut up these 4 hours of video and organize the smaller videos into separate folders on my hard drive. This way I'd be able to organize all the videos chronologically for a much better viewing experience.
In order to do this, I'm looking for a program (free or paid, I don't care as long as it works) that will allow me to cut/trim these videos without them being re-encoded. I don't want to lose any quality or alter the videos in any way; I just want to cut/trim them. I also want to be able to cut/trim the videos at exact, precise locations (i.e. I don't want any of the previous or next "scenes" to appear at the beginning or the end of the current "scene," if that makes sense).
They are all mp4 files, and they are 16 frames per second.
I have read multiple posts on this message board about this topic, but the posts are all fairly dated and I thought I'd re-post the topic here in case anything has changed in the last few years. I did try multiple suggestions that were given on this message board in other posts, but I still haven't found a program I'm fully happy with. If anyone has any suggestions whatsoever, I would sincerely appreciate it!
For now, here are my results with the programs I've tried so far:
#1) Smart Cutter Ps/Ts: Fairly impressive. I tested this out and compared it in Sony Vegas side by side to the original video. As far as I can tell, it is the exact quality of the original mp4 file. However, it did cut out 2 frames early initially (meaning there should have been 2 more frames at the end of the video). Maybe this is because it has to transcode the first few and last few frames of the video? (Not sure how it works?) Very easy to use though. Other than that, it's pretty decent! (A top option so far).
Additionally, in doing another test, while most of the video matches up with the original mp4 video in Sony Vegas, the last 30 frames (exactly 30 - I counted) gets slightly out of sync with the original video. Again, maybe because it has to re-encode a little bit in order to work properly? This results in the new video being 5 total frames shorter than the original one.
#2) Boilsoft: Also very impressive - exact quality of the original. And it literally allows you to cut the file by the millisecond. The only problem (and pain in the neck) is it doesn't allow you to scrub any more than by 1 second - yikes! So although you can specify the exact frame to the millisecond, it kind of becomes a guessing game. So it takes a long time to try to fix it. If anyone knows any way to make this program be more precise, it'd definitely be my top option.
#3) LosslessCut: Great program, and I've used it for other mp4 files and it's worked absolutely flawlessly - however, it's not very accurate with these mp4 files for whatever reason. I'll tell it to cut the video at a certain point, and it'll cut it like 2 seconds ahead of when I tell it to (so I end up getting 2 seconds of another "scene" at the beginning of each clip, which I really want to avoid). It's a pain in the neck to try to adjust - so I'd prefer not to use this.
#4) VideoReDo TV Suite (have to purchase to use): Initially when I tried it out, the finished product was full of errors and glitches. But this happened when it was set to "Tools," "Options," "Editing Accuracy: Frame Accurate," and I saved the video as an H.264 MP4. Then, I changed it to "Editing Accuracy: GOP Accurate," and I saved it as "H.264 MP4." This worked fairly well, but not perfect. For whatever reason, it started the video 4 frames before I told it to (so it starts a little earlier than it should have). Also, the first 12 frames are out of sync with the original MP4 file - it must have recoded the start point and so it's a little out of sync (barely, but noticeably in Vegas). This definitely is not noticeable when watching the video in Windows Media Player, so this isn't a huge deal. Possibly an option.
#5) Cut Assistant: This looks like it could be promising, but in all honesty, I couldn't figure out how to save the file after setting save points!
#6) SolveigMM Video Splitter: This also looks so promising and so good, but it IMMEDIATELY hangs up as soon as I import my mp4 file into it, lol. I tried it like 5 times and it just hangs up! It could be because it's the demo mode.
#7) My MP4Box GUI: Interesting program! Technically speaking, this worked flawlessly and was easy to use. However, very limited options - you don't scrub through and select the frame you want to split. Instead, you tell it the exact second you want it to split the video by. Because of this, it's not precise at all - you only get to break it down by seconds, so this would be very messy.
Other options I tried but decided not to use:
Avidemux: Useless, doesn't even recognize my mp4 file.
H264TS_Cutter: Doesn't work on mp4 files, I tried it and no luck!
MeGUI: Way too confusing and over my head, haha.
That's all I've tried so far. If anyone has any suggestions, I'd greatly appreciate it! I'm looking for a quick, easy, and most of all accurate and precise program that can accomplish my goal (seems like it should be so easy!).
Thanks so much for the help!
+ Reply to Thread
Results 1 to 11 of 11
Mp4 is a container format so you have one of several video and audio codecs.
First I suggest you post a mediainfo (text mode) report of one of these mp4s.
16fps is not standard for digital video although it will match the original 8 mm film. Absolute trimming on the frame you see is not achieveable since a video is made up of a series of different frames (I,B,P). Only I frames are complete frames and the distance between such frames varies according to the video codec - they could be as much as 40+ frames.
The requested report will assist in achieving your goal but if certain programs can not even load them to get trimmed video without quality loss and, equally important, no re-encoding maybe difficult without more low-level tools such as ffmpeg
It's interesting that you mentioned that "absolute trimming on the frame you see is not achieveable since a video is made up of a series of different frames (I,B,P)." Does this mean that the description of the program I've been using for lossless trimming of other files (LosslessCut) is essentially inaccurate? Because the description of this program seems to say that it never encodes whatsoever, and I've been able to cut other video files literally wherever I want with LosslessCut. So I wonder if LosslessCut does do some re-encoding at the start and end points of each cut (although I should mention the files I've been using were captured via StreamCatcher software using a GOP of "1" - these are completely different files from the ones I'm trying to cut/trim now).
Here's the description of LosslessCut: "LosslessCut is a cross platform GUI tool for lossless trimming / cutting of videos using ffmpeg and electron. Great for rough processing of large video files taken from a video camera, drone, etc. Lets you quickly get rid of the useless parts. It doesn't do any decoding / encoding and is therefore very fast and has no quality loss. Also allows for taking JPEG snapshots of the video at the selected time" (taken from https://www.videohelp.com/software/LosslessCut)
And below is the report - thank you very much for your help, I sincerely appreciate it!!
Complete name : T:\DeGennaro Family Videos\1956 to 1981 - Memorable Transfer of Videos from Grandpa's Old Revere Camera\mp4\21310_DeGennaro-8mm_01-01_HQ.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 797 MiB
Duration : 34 min 2 s
Overall bit rate : 3 272 kb/s
Writing application : Lavf57.20.100
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings : CABAC / 2 Ref Frames
Format settings, CABAC : Yes
Format settings, RefFrames : 2 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 34 min 2 s
Bit rate : 3 141 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 16.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.095
Stream size : 765 MiB (96%)
Writing library : x264 core 148 r2601 a0cd7d3
Encoding settings : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=8 / lookahead_threads=8 / sliced_threads=1 / slices=8 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=2 / keyint=250 / keyint_min=16 / scenecut=40 / intra_refresh=0 / rc=crf / mbtree=0 / crf=24.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : mp4a-40-2
Duration : 34 min 2 s
Bit rate mode : Constant
Bit rate : 128 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 31.2 MiB (4%)
Language : English
Default : Yes
Alternate group : 1
TMPGEnc Smart Renderer. But I just downloaded the Trial Version now, and I can't believe it, but it works flawlessly for my mp4 files!!! Totally hassle-free. The trimmed video looks exactly like the original mp4 file when comparing it in Sony Vegas, and no frames are dropped or out of sync with the original footage. It's literally perfect! I am pretty positive I'm going to go ahead and purchase this program, though I'm going to do a little more testing just in case. Thank you so much for recommending it, I think it's exactly what I was looking for!!
As a back-up - it sounds like you're saying VideoReDo is a pretty reliable and trustworthy program, correct? If I run into any problems with TMPGEnc, I'll give it another look in case I did something wrong.
As for the MediaInfo report for one of my clips, I just posted it above. Thank you so much once again for your help, you are a life saver!! (Or at least a "wife saver" - my wife has been yelling at me lately because I've been staying up all hours of the night looking for a program that works, haha)
As a follow-up question - even though I've experienced no problem to my knowledge with LosslessCut for my other video files, would you recommend I use TMPGEnc for the other files anyway? (I'm a little nervous now that LosslessCut is doing something behind the scenes I'm not aware of - now I'm distrusting it, haha). Thanks so much again!!
Yes, that is the report. If the program as suggested has done what you ask then you have won. Of course you can prepare another mediainfo report of the new video and compare it to the old (always keep the old as well) to see if there are any differences. With the description of the working of that program I do suspect that it is, as is many programs, a front-end for ffmpeg and that being so you could learn to use that - it is command line with a host of switches but a simple trim should not involve that many - and save yourself a few bucks.
Maybe I did not make myself clear but it is frame-accurate trimming that is the issue and not an actual non-reencode. If you trim on any frame that is not an I-frame you either re-encode the whole video or have incomplete detail until the decoder finds the next I-frame.
What is more concerning for me is what you can now do with these mp4's. Have you tried playing them through a Blu-ray player on a usb stick etc. or direct to a tv also with a usb ?
If it does not play due to that quirky frame-rate and you want to view them on something other than a PC you would have to change the frame rate and re-encode. And despite the frame size being full HD it has a very low bitrate which could also be an issue come re-encoding.
Tmpgenc smart renderer can ; but it's a newer, different product than older tmpgenc software that some people are familiar with. It's in the same category of videoredo, solviegmm video splitter
@Capt - It's not quite "literally perfect", because that source file uses long GOP . Tmpgenc will re-encode the frames around the cutsite if your cuts are not on IDR boundaries. Looking at the mediainfo settings, this can be anywhere from 0-249 frames re-encoded for each cut (the GOP length max is 250 if the metadata is correct). Additionally, "crf24" using x264 is not going to be fantastic quality. It's a lower quality trade off preferring lower filesize.
This is one of the other reasons people want a higher quality version like prores for film transfers . Prores is all I-frame and you can cut on any frame without re-encoding. Each frame is individually encoded . Most formats using MP4 container will be long GOP (temporal compression, where some of the frames rely on data from adjacent frames, they are not individually encoded), and you will have to re-encode at least some of the frames if your cuts are not on GOP boundaries. A potential problem is introducing a type of flicker, because the re-encoded frames typically have less grain, less detail, and are lower quality. The lower the quality of the source - actually the less of an issue this becomes.
Glad it's working for you.
Sounds like you're working in fairly large chunks, so the GOP-level re-encoding should not be a huge pain. TMPGenc's rendering engine is pretty good and for normal viewing fairly transparent (though statements like that can easily start an argument.)
The information added by DB83 and poisondeathray is, as always, excellent.
Tried it... Not bad as usage goes but couldn't quickly find how to change the output folder. Also it is NEAR frame accurate as shown below according to FFPROBE
325.783 End Frame Requested
Key Frames include in Final Output
Final Frames in Output
9760 325.659000 0 P
9761 325.692400 0 P
9762 325.725700 0 P
9763 325.759100 0 B
9764 325.792500 0 P
9765 325.825800 0 P
Key Frames In original
Final frames Before and after cut in original
9762 325.725726 0 P
9763 325.759092 0 B
9764 325.792459 0 P
9765 325.825826 0 P
9766 325.859193 0 P
9767 325.892559 0 B
9768 325.925926 0 P
9769 325.959293 0 B
9770 325.992659 0 P
9771 326.026026 0 P
9772 326.059393 0 P
9773 326.092759 0 B
14307 477.377377 0 P
14308 477.410744 0 P
14309 477.444111 0 P
Cut point Capital in Red, End frame achievement in Capital
It stopped on the frame that FFMpeg would stop on (2nd frame after request that is not a 'B' Frame, - > b<P>P or <B>P) at least it should not be a problem joininf to other segments
Don't know why the timings are only shown as 4 decimal places for PTS but no glitches at the end as many have.
Notice also the final cut dframe is listed as 9765, The same as the original frame number aty that time.
In reality the best you can hope for with FFMPEG is to stop the next 'P' frame after cutting at a 'B' frame, or a second 'P' frame after a 'P' cut point so this is pretty CLOSE to Frame accurate since No program I know of cuts at a 'B' frame without encoding or experiencing a glitch.