На це питання вже є відповідь тут:
У мене є файл
Інше - Аналоговий годинник-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, він створює файл розміром 1s 22ms.
Тож це не дуже погано, що досить близько однієї секунди. 1,022 секунди цілком непогані для спроби скоротити одну секунду.
Якщо я скорочу з -ss 0 -t 2, він створює файл, який становить 3s 19ms. Це жахливо! це означало бути однією секундою!
Якщо я виріжу з -ss 0 -t 30, то це добре, це робить 30s 1ms.
Або це відео, наприклад, також 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
виробляє тривалість 8s 383ms
Це так неправильно, хоча 'це повинно бути 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% довше, ніж має бути!
copy
для цього.