пт, 30 мая 2025 г., 00:30 Andrew Randrianasulu <[email protected]>:
чт, 29 мая 2025 г., 23:42 Terje J. Hanssen via Cin < [email protected]>:
Is it possible with CinGG's Record utility (via FFMPEG) to record a stream to file segments of same duration or file size and use auto-naming?
Typical example: Record a video/audio input stream (i.e from playing a camcorder tape cassette) and encode to output file segments of 10 minutes or 10 GB each and auto-name file numbers.
Similar example code using an input file instead at
https://unix.stackexchange.com/questions/1670/how-can-i-use-ffmpeg-to-split-...
Just use what is built into ffmpeg to do exactly this.
ffmpeg -i invid.mp4 -threads 3 \ -vcodec copy *-f segment -segment_time 10:00 \ -reset_timestamps 1 \ cam_out_h264_%02d.mp4*
This will split it into roughly 10-minute chunks, split at the relevant keyframes, and will output to the files *cam_out_h264_01.mp4, cam_out_h264_02.mp4*, etc.
Very interesting question! Never tried this, did not even know it existed!
As long as this -f just ordinary avformat muxer you probably can copy your favourite ffmpeg video/audio profiles with new .seg name and put "segmented" at very first line there , where "mov" or "matroska" or other format name was, and add rest of options. And add pattern (%02d) into name just as with ffmpeg-based image lists.
I'll try this with termux's version, but I do not have audio here so it will be incomplete.
so I created this file: cat ffmpeg/video/mpeg2.seg segment mpeg2video segment_format=mpeg segment_time=00:10 reset_timestamps=1 trellis=2 mbd=rd cmp=2 subcmp=2 b=4000000 and it worked! in sense it created six segments, each with corresponding increasing timecode. But they all uneven duration, probably due to mpeg2 codec placing keyframes at will. You can try to modify it back to 10:00 segment time and see how it work for longer encode?
Terje J. H
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin