Remix.run Logo
drewp 3 days ago

Can you recommend a tool for dicing up 2h digitizations of VHS tapes? I want to play the 2h video, seek around easily, mark 'chapters' and give them filenames, then do a no-transcode rough cut extraction of each chapter into its own video.

numpad0 a day ago | parent | next [-]

Sounds like a task "easily" done with one massive painful line of `gst-launch-1.0 filesrc ... ! ... ! splitmuxsink`

wonger_ 3 days ago | parent | prev | next [-]

I've been working on a video editor for this use case: https://github.com/wong-justin/vic

jazzyjackson 2 days ago | parent [-]

Interesting approach, i like the aesthetic. When you say 'add audio' is a big task , does this mean the videos after cutting up don't have audio, or just that the preview doesn't have audio? the latter wouldn't be a problem for the use case of slicing up home videos. I have the same task as parent, might have to make a weekend project out of it.

wonger_ 2 days ago | parent [-]

Thanks :) The preview doesn't play audio. But the sliced output has audio.

The UX should be a lot smoother once I get around to non-blocking inputs and the audio player. For now, futzing around with mpv or a fully-featured video editor might be the way to go.

j45 3 days ago | parent | prev | next [-]

Is it one continuous file at the moment?

drewp 3 days ago | parent [-]

Yeah, I play a VHS tape and capture the whole thing. Maybe I should be using a scene detector to split files on camera cuts, which would be roughly correct for home movies (but not for TV shows).

pdyc 3 days ago | parent | prev [-]

u can do it with this command, it will just copy audio and video

ffmpeg -i input.mp4 -ss 00:00:00 -to 0:30:00 -c:v copy -c:a copy chapter1.mkv

u can just copy paste it 10 times in your text editor, than adjust ss, to times using any video player that can play vhs file.

drewp 3 days ago | parent [-]

That's where I am now. I'd like to optimize out the retyping and duplication of time strings.

I want the player ui (I'm using mpv) to have a command that:

1. Remembers the last end time to use as this chapter's start time

2. Gets the current time to use as chapter-end.

3. Accepts the name (e.g. 'chapter1').

4. Runs the ffmpeg copy command.

Perhaps mpv+lua can already handle this. I see commands for setting a loop range and for calling a subprocess. Not sure how I'd input the chapter name. Maybe I'll have an LLM name the chapters for me :)

pdyc 3 days ago | parent [-]

u r on right track with llm, just tell it that you will give input file and set of start, end times and that it should generate the command for u. As a bonus ask it to give u the example as well so that it doesn't misunderstands! i think even chatgpt mini should be able to do it.

drewp 3 days ago | parent [-]

I found some existing mpv scripts:

https://github.com/oltodosel/mpv-scripts/blob/master/show_ch... display chapter names as OSD

https://gitlab.com/lvml/mpv-plugin-excerpt press 'i' and 'o' for in/out points, then 'x' to make a new (auto-named) file.

https://github.com/shinchiro/mpv-createchapter press 'shift-c' to mark chapters; export as xml file.

https://github.com/mar04/chapters_for_mpv mark chapter times, input titles, save as txt file

By having an LLM name the chapters, I meant having whisper do speechrec on the chapter and then asking an LM to summarize the content into a name up to k chars.