Κόψιμο(trim) ή διαίρεση(split) αρχείων βίντεο στο τερματικό

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Κόψιμο(trim) ή διαίρεση(split) αρχείων βίντεο στο τερματικό

Δημοσίευσηαπό Reinach » 04 Ιαν 2011, 01:49

Φαντάζομαι ότι το να προσπαθήσει κανείς να κόψει ένα αρχείο βίντεο σε μικρότερα κομμάτια, ή το να αφαιρέσει από αυτό κάποια κομμάτια επειδή τα θεωρεί άχρηστα ή επειδή θέλει να μειώσει τον όγκο του αρχείου, είναι εργασίες που θα τις κάνει 'για πλάκα' με το πρόγραμμα kdenlive.

Εγώ όμως που βιαζόμουνα κάποια στιγμή να κάνω κάτι τέτοιο, χωρίς να έχω διαβάσει κάποιον οδηγό πριν, χωρίς να το έχω ψάξει το πράγμα σοβαρά, έτρεξα το kdenlive και αφού έσυρα το βίντεο στο σχετικό παράθυρο του προγράμματος, μετά χάθηκα κυριολεκτικά....προσπαθώντας να κόψω και να ράψω. Δε λέω ότι είναι δύσκολο...λέω απλώς ότι πήγα να κάνω πράγματα χωρίς να το ψάξω καθόλου.

Έτσι, αναζητώντας κάτι γρήγορο πραγματικά, έψαξα στο διαδίκτυο και είδα ότι αυτές οι δουλειές γίνονται και από το τερματικό (φυσικά) πολύ εύκολα, με χρήση των εντολών ffmpeg ή mencoder. Προκειμένου να μην πάει χαμένος ο μικρός αυτός κόπος μου σκέφτηκα να γράψω έναν μικρό οδηγό για όποιον θελήσει να επεξεργαστεί με αυτούς τους τρόπους ένα βίντεο, εύκολα και γρήγορα, από το τερματικό όμως. (Δεν ξέρω αν υπάρχει παρόμοιος οδηγός στο φόρουμ, από όσο έψαξα όμως δεν βρήκα κάτι ίδιο αλλά κοντινά πράγματα - με κορυφαίο τον οδηγό του sokoban4ever http://forum.ubuntu-gr.org/viewtopic.php?f=9&t=9131 Αν υπάρχει ήδη αντίστοιχος οδηγός, είναι προφανές ότι ο παρών απλώς θα αγνοηθεί)

Έχουμε και λέμε λοιπόν:

Α. Κόψιμο/διαίρεση αρχείου βίντεο με χρήση του ffmpeg

Εγκαθιστούμε αρχικά από το τερματικό (Εφαρμογές>Βοηθήματα>Τερματικό) το πρόγραμμα ffmpeg δίνοντας την εντολή:
Κώδικας: Επιλογή όλων
sudo apt-get install ffmpeg


Πριν την εφαρμογή οποιασδήποτε από τις παρακάτω μεθόδους, αντιγράφουμε το αρχείο βίντεο που θέλουμε να επεξεργαστούμε (π.χ. movie.avi) στον προσωπικό μας φάκελο /home/yourname Στον ίδιο φάκελο θα βρίσκουμε στο τέλος και το αρχείο που προκύπτει κάθε φορά.

Τώρα κάνουμε τα εξής:
Τρέχουμε πρώτα το βίντεο (από το οποίο θέλουμε να κόψουμμε ένα κλιπ) με ένα πρόγραμμα αναπαραγωγής και εντοπίζουμε την ακριβή χρονική στιγμή στην οποία θέλουμε να ξεκινά το κλιπ που θα φτιάξουμε. Εντοπίζουμε επίσης τη χρονική στιγμή στην οποία θέλουμε να τελειώνει το κλιπ. Σημειώνουμε και τους δύο χρόνους στη μορφή ωω:λλ:δδ (ω=ώρες, λ=λεπτά, δ=δευτερόλεπτα) π.χ. έναρξη: 00:03:35 και τερματισμός: 00:04:50 Από εδώ, με μία αφαίρεση υπολογίζουμε τη διάρκεια που θα έχει το κλιπ. Έτσι στο συγκεκριμένο παράδειγμα η διάρκεια που προκύπτει είναι: 00:01:15 ...και το σημειώνουμε κάπου και αυτό.

Πηγαίνουμε στο τερματικό και δίνουμε την παρακάτω εντολή, που αφορά εδώ το πιο πάνω παράδειγμα:
Κώδικας: Επιλογή όλων
ffmpeg -i movie.avi -ss 00:03:35 -t 00:01:15 clip.avi


Όπου:
-i movie.avi - δηλώνουμε το αρχείο που θέλουμε να επεξεργαστούμε
-ss 00:03:35 - δηλώνουμε τη στιγμή στην οποία θέλουμε να ξεκινά το κλιπ
-t 00:01:15 - δηλώνουμε τη χρονική διάρκεια του κλιπ
clip.avi - είναι το κλιπ που προκύπτει

Εννοείται ότι το όνομα 'movie' το αλλάζουμε με το όνομα του αρχείου βίντεο που θέλουμε να κόψουμε. Επίσης το όνομα 'clip' το αλλάζουμε με κάποιο της προτίμησής μας.

Με κατάλληλη προσαρμογή των χρόνων της εντολής αυτής, μπορούμε να διαιρέσουμε το βίντεο σε περισσότερα κλιπ. Αρκεί βέβαια προηγουμένως να έχουμε δει το βίντεο και να έχουμε σημειώσει τους χρόνους έναρξης-τερματισμού για κάθε ένα κλιπ που θέλουμε να εξάγουμε.

Η παραπάνω επεξεργασία με το πρόγραμμα ffmpeg έγινε για αρχεία βίντεο σε avi format. Λειτουργεί εξίσου καλά όμως αν αντί για avi χρησιμοποιήσουμε flv, mp4 ή ts. Πιθανόν και με άλλους τύπους βίντεο τους οποίους δεν έχω προλάβει να δοκιμάσω.

Πηγή:
http://www.ubuntuhowtos.com/howtos/cut_part_of_avi_video


Εναλλακτικά με το ffmpeg μπορούμε να χρησιμοποιήσουμε το πρόγραμμα mencoder:

Β. Κόψιμο/διαίρεση αρχείου βίντεο με χρήση του mencoder

Για την εγκατάσταση του mencoder δίνουμε στο τερματικό:
Κώδικας: Επιλογή όλων
sudo apt-get install mencoder


Οι τρόποι με τους οποίους μπορούμε να χρησιμοποιήσουμε το mencoder για να πετύχουμε τα παραπάνω είναι οι εξής:

1. Κόψιμο του αρχικού τμήματος ενός βίντεο

Ας πούμε ότι έχουμε ένα βίντεο .flv διάρκειας 2 λεπτών και θέλουμε να αφαιρέσουμε τα πρώτα 35 δευτερόλεπτα. Δίνουμε στο τερματικό την εντολή:
Κώδικας: Επιλογή όλων
mencoder -ss 00:00:35 -ovc copy -oac pcm input.flv -o clip.flv


όπου:
ss 00:00:35 - δηλώνουμε τη χρονική στιγμή έναρξης του κλιπ
input.flv - είναι το αρχείο που θέλουμε να κόψουμε
clip.flv - είναι το ψαλιδισμένο αρχείο που θα προκύψει
(εννοείται ότι προσαρμόζουμε καταλλήλως τα ονόματα των αρχείων)

Η εντολή λειτουργεί και για αρχεία mp4, avi (αρκεί να αντικαταστήσουμε το "-oac pcm" με το "-oac copy"), και πιθανόν και για άλλους τύπους αρχείων βίντεο.

2. Κόψιμο του τελευταίου μέρους ενός βίντεο

Στην περίπτωση που θέλουμε να αφαιρέσουμε το τελευταίο μέρος ενός βίντεο, π.χ. από τη χρονική στιγμή 00:03:25 και μετά, θα δώσουμε στο τερματικό την εντολή:
Κώδικας: Επιλογή όλων
mencoder -endpos 00:03:25 -ovc copy -oac copy in.avi -o out.avi


Εδώ, το αρχείο 'out.avi' που θα προκύψει, θα είναι τα πρώτα 3 λεπτά και 25 δευτερόλεπτα του αρχικού μας αρχείου 'in.avi'

Επίσης λειτουργεί και με άλλους τύπους αρχείων βίντεο εκτός του avi.

3. Διαίρεση ενός αρχείου βίντεο σε μικρότερα

Έστω ότι ένα αρχείο βίντεο (π.χ. movie.avi) διάρκειας 5 λεπτών θέλουμε να το διαιρέσουμε σε δύο τμήματα, ένα των 3 λεπτών και ένα των 2 λεπτών.
Δίνουμε στο τερματικό τις εντολές:
Κώδικας: Επιλογή όλων
mencoder -endpos 0:03:00 -ovc copy -oac copy movie.avi -o first_part.avi


και
Κώδικας: Επιλογή όλων
mencoder -ss 00:03:00 -oac copy -ovc copy movie.avi -o second_part.avi


Όπου:
first_part.avi - είναι το πρώτο μέρος που προκύπτει
second_part.avi - είναι το δεύτερο μέρος

Οι εντολές λειτουργούν και με flv βίντεο αλλά στις δοκιμές που έκανα εγώ χρειάστηκε να αλλάξω το "oac copy" σε "oac pcm" (όπως φαίνεται στην περίπτωση [1]) γιατί έβγαζε πρόβλημα με το format του ήχου.



Πηγή:
http://www.misterhowto.com/index.php?category=Computers&subcategory=Video&article=trim_or_split_with_mencoder


Σε όλες τις πιο πάνω περιπτώσεις το αρχικό μας αρχείο βίντεο παραμένει αναλλοίωτο στο τέλος, αφού αυτό που κάνουν οι εντολές ffmpeg και mencoder είναι να 'αντιγράφουν' τμήματα των αρχικών αρχείων και να δίνουν ένα νέο όνομα σε κάθε ένα από αυτά τα τμήματα.
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Καθόλου ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, MATE mate)
3 Intel Core i5-1035G1 CPU @ 1.00GHz ‖ RAM 19566 MiB ‖ LENOVO LNVNB161216 - LENOVO 81WE
4 Intel Iris Plus Graphics G1 (Ice Lake) [8086:8a56] {i915}
5 wlp0s20f3: Intel Ice Lake-LP PCH CNVi WiFi [8086:34f0] (rev 30) ⋮ enx7cc2c61085a5: 2357:0601 TP-Link UE300 10/100/1000 LAN (ethernet mode) [Realtek RTL8153]
Άβαταρ μέλους
Reinach
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 692
Εγγραφή: 09 Νοέμ 2008, 20:48
Εκτύπωση

  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Οδηγοί - How to - Tutorials

cron