Видео


 * kino - для работы с камерами. при открытии файла спрашивает это NTSC или PAL
 * Avidemux - не может толком выкусить кусок, зависая
 * mencoder - рассинхрон звука и видео
 * ffmpeg - лучше всего, пожалуй
 * kdenlive для линукса советуют


 * Форматы
 * mjpeg
 * Ogg
 * Theora


 * Работа с видеозаписями
 * Split разбить файл

ffmpeg -ss 00:01:00 -i video.mp4 -to 00:02:00 -c copy cut.mp4 ffmpeg -i video.mp4 -ss 00:01:00 -to 00:02:00 -c copy cut.mp4

Here, the first command will cut from 00:01:00 to 00:03:00 (in the original), whereas the second command would cut from 00:01:00 to 00:02:00, as intended.

If you cut with stream copy (-c copy) you need to use the ​`-avoid_negative_ts 1` option if you want to use that segment with the ​concat demuxer.

https://trac.ffmpeg.org/wiki/Seeking%20with%20FFmpeg

Без репроцессинга
> So my question is: how to accurately and fast trim video files without encoding. You can't get frame-accurate cuts without reencoding at least the GOP atthe beginning of each cut (unless the cut you make happens to be at an I-frame). If you cut off an I-frame, you lose information required to properly decode the rest of the GOP.

Your first command is just a straight copy of the audio and video codecs so ffmpeg is no doing any transcoding, and if that is the case, maybe it is more dependent on the timestamps that are in the stream. Your "cutting" accuracy may depend on the frequency of the timestamps in the source file. If the timestamps are every 2 seconds, then that is your accuracy. Your second command may be causing transcoding to happen, and in this case ffmpeg may has more control over timing marks, and in fact, may be setting it's own default. The solution may be to increase your timestamp frequency in your source video. If your timestamp setting in the source is say 300, and you are at 30 frames/second, your accuracy will be 10 seconds.

You can use the command ffmpeg -i "input.mp4" to get info on the file. It will show the timestamp rate

25 fps, 25 tbr, 50 tbn, 50 tbc

Well it's all about time. FFMpeg uses in fact three different timestamps in different bases in order to work.

tbn = the time base in AVStream that has come from the container tbc = the time base in AVCodecContext for the codec used for a particular stream tbr = tbr is guessed from the video stream and is the value users want to see when they look for the video frame rate

There are three different time bases for time stamps in FFmpeg. The values printed are actually reciprocals of these, i.e. 1/tbr, 1/tbn and 1/tbc.

tbn is the time base in AVStream that has come from the container, I think. It is used for all AVStream time stamps.

tbc is the time base in AVCodecContext for the codec used for a particular stream. It is used for all AVCodecContext and related time stamps.

tbr is guessed from the video stream and is the value users want to see when they look for the video frame rate, except sometimes it is twice what one would expect because of field rate versus frame rate.

все возомжно и без пересжатия. только надо разбираться http://rutracker.org/forum/viewtopic.php?t=2660545

т.е. можно спокойно один кусок заменить, не переделывая все вот тут конкретные даже инструкции даны http://rutracker.org/forum/viewtopic.php?t=2660571

работа со звуком (но тут чисто виндовое что-то( http://rutracker.org/forum/viewtopic.php?t=2660561

-async: Audio sync method. "Stretches/squeezes" the audio stream to match the timestamps, the parameter is the maximum samples per second by which the audio is changed. -async 1 is a special case where only the start of the audio stream is corrected without any later correction. This option has been deprecated. Use the aresample audio filter instead.

Пакетная обработка
bash for f in *.MTS; do ffmpeg -i "$f" "${f%}.mpg"; done

ffmpeg -acodec copy -sameq -vcodec copy -i MVI_0438.AVI -ss 00:00:37 -t 00:01:50 russia.avi Сначала указать результирующий файл avimerge -o new.avi -i 01.AVI MVI_0421.AVI
 * Основные задачи
 * Вырезать нужный фрагмент видео
 * Склеить видео

такое работать не будет cat 01.AVI MVI_0421.AVI > new.avi


 * avimerge из transcode     A text-console utility for video stream processing
 * mpgjoin в mpgtx         A command line MPEG audio/video/system file toolbox


 * DVD диски с меню делать - kdenlive

Работа с видео без пересчета http://rutracker.org/forum/viewtopic.php?t=2660571