У меня есть файл
Другое - Analogue Clock-JEJqy1Wlovw.mp4, который можно загрузить с https://www.youtube.com/watch?v=JEJqy1Wlovw.
Это 2 минуты 13 секунд.
У меня были некоторые проблемы, урезавшие это до второго.
Я смог использовать эту команду
ffmpeg -ss 0 -i infile.mp4 -c copy -t 60 output.mp4
чтобы сделать файл, который был 60 секунд, так что никаких проблем до сих пор.
Это файл ровно через 1 минуту, никаких проблем пока нет.
C:\vids\a>dir
blahhclo.mp4 9,590,540 bytes
C:\vids\a>
C:\vids\a>mediainfo blahhclo.mp4
General
Complete name : blahhclo.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 9.15 MiB
Duration : 1mn 0s
Overall bit rate : 1 278 Kbps
Writing application : Lavf58.3.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1mn 0s
Bit rate : 1 146 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.022
Stream size : 8.21 MiB (90%)
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 1mn 0s
Bit rate mode : Constant
Bit rate : 126 Kbps
Channel count : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Delay relative to video : 40ms
Stream size : 920 KiB (10%)
C:\vids\a>
Но у меня действительно есть проблема, когда я пытаюсь сократить это в следующие моменты времени, и это - пытаюсь ли я сократить 1-минутную одну или целые 2 минуты 13 секунд одна.
Если я обрежу с -ss 0 -t 1, то получится файл с размером 1 с 22 мс.
Так что это не так уж плохо, это довольно близко к одной секунде. 1,022 секунды - это неплохо для попытки сократить одну секунду.
Если я обрежу с -ss 0 -t 2, то получится файл 3s 19ms. Это ужасно! это должно быть одна секунда!
Если я обрежу с -ss 0 -t 30, то это нормально, 30 с 1 мс.
Или это видео, например, также mp4 https://www.youtube.com/watch?v=pJ3-xf26wDE
C:\blah>ffmpeg -ss 189 -i vid.mp4 -c copy -t 6 someoutput.mp4
C:\blah>mediainfo someoutput.mp4
производит длительность 8 с 383 мс
Это так неправильно, потому что это должно быть 6 секунд! Так что это две секунды слишком долго!
C:\blah>ffmpeg -ss 191 -i vid.mp4 -c copy -t 6 someoutput2.mp4
C:\blah>mediainfo output2.mp4
показывает, что ffmpeg произвел длительность 10 с 403 мс
что безумно неправильно, потому что команда ffmpeg указала 6 секунд!
Так что это не просто одна секунда, это 4 секунды!
Это почти на 50% больше, чем должно быть!