Tool like Media File Segmenter for Linux
I'm looking for a tool for Linux which can segment a video file into multiple small .ts files.
I know one for Mac OS X called Media File Segmenter which is a simple command line tool - I'm looking for an equivalent tool for Linux.
Solution 1:
Others have mentioned ffmpeg; it now has a nice, clean segment muxer. On Linux, instead of relying on whatever (outdated) version of ffmpeg
comes with your package manager, you should download a static build or compile it from source.
To split a video into several one-minute segments, also generating an m3u8 playlist & copying all streams (so lossless, but not entirely accurate cutting):
ffmpeg -i input.mpg -c copy -f segment \
-segment_time 60 -segment_list list.m3u8 output%03d.ts
For accurate splitting, the documentation recommends re-encoding and using -force_key_frames
to ensure that there will be I-frames on the times that the segment muxer will attempt to split on (see also the libx264 and AAC encoding guides on the ffmpeg wiki):
ffmpeg -i input.mpg -c:v libx264 -crf 22 -preset veryfast -c:a libfdk_aac -vbr 3 \
-force_key_frames expr:gte(t,n_forced*60) -f segment \
-segment_time 60 -segment_list list.m3u8 output%03d.ts
Solution 2:
if you want to cut video from H.264 you should use:
ffmpeg -i Black_Lagoon_E10.mkv -ss 00:08:55 \
-c copy -t 00:00:32 \
-vbsf h264_mp4toannexb -f mpegts Ostanovites.ts