mifi / lossless-cut

The swiss army knife of lossless video/audio editing
https://losslesscut.app/
GNU General Public License v2.0
28.03k stars 1.36k forks source link

Add a Dialog Box to Specify In and Out "Frame" for Segment and Make Selection Accurate to the Frame (No Rounding) #2071

Closed hummbugg closed 1 month ago

hummbugg commented 4 months ago

The fewer issues I have to read, the more new features I will have time to implement, so I ask that you please try these things first

Description

I think you did a great job on LosslessCut. This is more of a wish list than a request to potentially replace an app I wrote. Lead-in: In my job I splice 4 hour School Board Meetings into small pieces according to the agenda.
I use Premiere to find the in frame and out frame points for each clip. I must have splice accuracy down to the frame do to people that talk fast in the audio. While in Premiere I will make chapter marks just to save those points for future reference. I need to be able to copy the inframe and outframe from Premiere and paste them into your app via maybe a dialog box with inframe and outframe textboxes that would select a segment.

If I were to use you app as is to split as opposed to my app then I would have to manually do the math to convert frames to seconds at the given the frame rate.

Wish/Request: My request would probably involve some additions (very simplified, I know it won't be easy and the accuracy is totally dependent on the number of decimal places you can get for the frame rate, avoid rounding use the entire float. ):

  1. Menu option to select default timecode display: seconds | frames. (i.e. 01:04:47.420 | 01:04:47.13 ) where 13 is frames
  2. Function to return the frame rate of the opened video at least to the 7th decimal place. (i.e. (30/1001)*1000 =29.97002997002997).
  3. Function to return the in frame in seconds. Also do not round the conversion of frames to seconds use as many decimal places as you can. Final resulting float for the ffmepg -ss I think is 7 or 8 decimal places which is a must have for me
  4. Function to return the frame count.
  5. Button & Dialog box to enter in and out frames and move the scrubber to the corresponding location after clicking OK.

Like I said this would be a lot of work that's why it is probably a wish list.

FYI: About 10 years ago I wrote a simple application very much like yours by creating a wrapper around ffmpeg and a GUI specific to my needs that allows me to open a video for viewing, prompt for frame rate (i.e. 29.9970029) , in-frame and out-frame. Then basically run the equivalent of this: ffmpeg -y -ss %INFRAMEINSECONDS% -i %INPUTFILENAME% -frames:v %FRAMECOUNT% -map 0:v -c:v copy -map 0:a -c:a copy -map 0:a %OUTPUTFILENAME%

Thank you for your time and I must say you have done a great job!

mifi commented 3 months ago

hi!

  • Menu option to select default timecode display: seconds | frames. (i.e. 01:04:47.420 | 01:04:47.13 ) where 13 is frames

I believe this already exists (see Settings "In timecode show")

  • Function to return the frame rate of the opened video at least to the 7th decimal place. (i.e. (30/1001)*1000 =29.97002997002997).

why do you need such precision?

  • Function to return the in frame in seconds.

do you mean 62.345 instead of 01:02.345?

Also do not round the conversion of frames to seconds use as many decimal places as you can. Final resulting float for the ffmepg -ss I think is 7 or 8 decimal places which is a must have for me

I think the reason why we round for -ss is because ffmpeg will error out if you send too many decimals (i don't remember exactly how many)

  • Function to return the frame count.

already exists afaik

5. Button & Dialog box to enter in and out frames and move the scrubber to the corresponding location after clicking OK.

not sure what you mean by this

mifi commented 1 month ago

closung due to lack of response