Як я міг вирізати останню 7 секунду мого відео за допомогою ffmpeg?


2

Я зняв відео з камери, але не знаю точно, скільки це триває. Я хочу використовувати, ffmpegщоб зберегти та вирізати лише останні 7 секунд відео. Чи можливо це?

Я спробував команду:

ffmpeg -t 00:00:07 -i input.avi -vcodec copy newfile.avi

але він пропускає лише перші 7 секунд відео і відображає відео, перевернуте.


1
Цікаво, чому це показує відео, перевернуте. Але щоб знати тривалість відео, використовуйте команду ffmpeg -i input.aviбез виводу вихідного файлу. Це покаже тривалість. Потім ви можете використовувати duration - 7для використання для -ssпрапора. Наведіть тут повний вихід консолі.
Раджиб

Я це знаю, але я намагаюся використовувати ffmpeg зі свого коду C #, тому я намагаюся це зробити, не знаючи тривалості відео. Я просто хочу скоротити останні 7 секунд
NickName

Я взагалі не дізнався про C #, але чому ви не можете запитати тривалість у C # - ffmpeg / ffprobe (перевірити модулі, які передбачають тривалість у коді), а потім передати інформацію назад?
Раджиб

Відповіді:


2

Ви повинні дізнатися загальну тривалість відео (або з розбором ffmpegрезультатів, або з використанням інших бібліотек, таких як MediaInfo тощо), d, а потім відняти час вручну з цього.

Скажімо, ваше відео триває 40 секунд, і ви хочете скоротити 7 секунд, вам потрібно кодувати лише 33 секунди, так що:

ffmpeg -i input.avi -t 33 -c copy output.avi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.