Puncte:1

Folosind ffmpeg pentru a tăia videoclipuri în mai multe puncte

drapel cn

Am un videoclip care este un meci de fotbal. Aș vrea să reduc timpul înainte de joc, la jumătatea timpului și în sfârșit sfârșitul jocului.

Lungimea totală a clipului 1h 51m sau 111m

În mod ideal, tăierile și timpul sunt după cum urmează:

+------------+-------------+---------------------+
| Ora de începere | Ora de terminare | Durata clipului |
+------------+-------------+---------------------+
| 1:30 | 47:30 | 47:30 |
| 53:00 | 100:00 | 47 |
+------------+-------------+---------------------+

Cu toate acestea, videoclipul meu se termină la

ffmpeg -ss 00:01:30 -i Tripod_Camera.mp4 -t 00:47:30 -ss 00:53:00 -t 00:47:00 -c copie VideoClip.mp4
24601 avatar
drapel in
v-ați gândit să utilizați un instrument precum `LosslessCut` pentru a efectua această sarcină? Vedeți [această referință](https://www.maketecheasier.com/extract-clips-video-losslesscut/?utm_source=newsletter&utm_medium=email&utm_campaign=07092020)
vanadium avatar
drapel cn
@24601 ffmpeg poate face acest lucru perfect, iar comanda dată într-adevăr o face fără pierderi. Este o chestiune de a găsi opțiunile de comandă corecte pentru a o face dintr-o singură mișcare.
drapel cn
@vanadium ai dreptate. Doar că nu știu când și cum! :/
llogan avatar
drapel jp
Cât de precise trebuie să fie tăieturile? Pentru că dacă puteți accepta tăierea numai pe cadre cheie, atunci puteți face acest lucru fără a re-coda. Consultați [Verificarea intervalului cadrelor cheie?](https://stackoverflow.com/a/18088156/) pentru a vedea frecvența cadrelor cheie.
drapel cn
De fapt, nu trebuie să fie strâns deloc. Având în vedere că am o mulțime de drumuri de ambele părți ale vremurilor. Mai mult, nu am reușit să înțeleg cum să trec „2 tăieturi” așa cum ar fi la o comandă FFMPEG.
andrew.46 avatar
drapel in
Câteva direcții aici: https://superuser.com/questions/681885/how-can-i-remove-multiple-segments-from-a-video-using-ffmpeg
Puncte:2
drapel jp
  1. Face input.txt care conțin marcajele de timp (în secunde) de tăiat:

    fișierul „input.mp4”
    punctul 90
    punctul de ieşire 2850
    fișierul „input.mp4”
    punctul 3180
    punct de ieşire 6000
    
  2. Alerga ffmpeg a se concatena cu concat demuxer:

    ffmpeg -f concat -i input.txt -c copy output.mp4
    
  • Asta va copie în flux, deci nu are loc nicio re-codificare, ceea ce înseamnă că întregul proces va fi rapid și calitatea va fi păstrată. Cu toate acestea, se vor face tăieturi pe cadre cheie, așa că este posibil să nu fie suficient de precis. Dacă este nevoie de o precizie mai mare, va trebui să utilizați o metodă mult mai lentă, cum ar fi folosirea filtrelor (a)trim, (a)setpts și concat care necesită re-codificare.

  • Dacă obțineți desincronizare A/V atunci obțineți marcaje temporale ale cadrelor cheie, utilizați marcajele temporale ale cadrelor cheie ca dvs inpoint, dar adăugați 0,001 la fiecare inpoint marca temporală în input.txt.

drapel cn
Multumesc :D Functioneaza perfect! Trebuie sa intreb, trebuie sa fie un dosar? Sau as putea sa o fac direct in terminal?
llogan avatar
drapel jp
@JamieHutber Un fel. Consultați [FFmpeg Wiki: Concatenate](http://trac.ffmpeg.org/wiki/Concatenate).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.