Я также ищу решение для Linux (в отдельном вопросе)
У меня есть два записанных видеофайла с расширением .ts
. Мне нужно удалить некоторую часть первого, разделить второй, а затем объединить первый файл с первой (разделенной) частью второго файла.
Они оба имеют одинаковые характеристики:
Format : MPEG-TS
File size : 3.16 GiB
Duration : 1h 39mn
Overall bit rate mode : Variable
Overall bit rate : 4 527 Kbps
Video
ID : 720 (0x2D0)
Menu ID : 6181 (0x1825)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : 27
Duration : 1h 39mn
Width : 1 440 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : MBAFF
Они также содержат несколько звуковых дорожек и субтитров.
Я хочу обработать их без перекодирования файлов, по крайней мере, иметь возможность удалить начало и т.д.
FFMPEG
:
ffmpeg -i source.mts
дает:
Input #0, mpegts, from 'source1.mts':
Duration: 01:40:00.76, start: 2995.511878, bitrate: 4526 kb/s
Program 6181
Stream #0:0[0x46](fra,fra): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
Stream #0:1[0x2d0]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:2[0x2da](fra): Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 73 kb/s
Stream #0:3[0x2db](qaa): Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 67 kb/s
Stream #0:4[0x2dc](deu): Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 49 kb/s
Stream #0:5[0x2dd](qad): Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 57 kb/s
Я думаю, что это очень хорошо выполнимо с ffmpeg
, который также является кроссплатформенным, как команда, которую я нашел здесь, чтобы удалить часть одного файла.
ffmpeg -i InputFile -vcodec copy -acodec copy -ss 00:12:34.567 -t 00:34:56.789 OutputFile
работает, за исключением того факта, что на входе есть четыре звуковых дорожки и, таким образом, берется только первое (Stream #0:2[0x2da](fra)
) аудио. Что я хочу, так это: либо все аудио, либо третье (Stream #0:3[0x2db](qaa)
). Как настроить?
Поэтому ffmpeg
должен работать для:
1. Обрезать начало первого файла (удалить первые 2 минуты из файла продолжительностью 1 ч 40 мин)
2. Разделить второй (1 час) файл на две части (через 3,05 минуты)
3. Присоедините (добавьте) к концу первого файла 3,05-минутную часть, полученную в результате разбиения второго файла.
Что я пробовал:
Openshot: не может обрабатываться без транскодирования.
Avidemux (Linux): при попытке сохранения появляется сообщение «Это не совместимо с MPEG - вы не можете использовать кодек копирования».
Avidemux в Windows: звук не синхронизирован.