Linux - Son konumdan videoyu kes


2

Linux için farklı video kesme komut satırı araçlarına bakıyordum ve sonunda bir video kesme işlemini destekleyen herhangi bir şey bulamıyorum.

Örneğin, değişken uzunlukta 10 video var. Her videonun son 3 saniyesini almam gerekiyor.

Ben ffmpeg ve mpgtx içine baktı ama boşuna.

Birisi bana videoyu son konumundan kesmek için araç / komut söyleyebilir mi?

Herhangi bir yardım çok takdir edilmektedir.


Ffmpeg ile ne denedin? ffmpeg bunun için uygundur. Maalesef "son saniye" seçeneği mevcut değil, ancak son 3 saniyeyi elde etmek için -ss(zaman kayması) ve -t(süre) seçeneklerini kullanabilirsiniz.
llogan

-T seçeneğini denedim, ancak son 3 saniye boyunca çalıştıramadım, bu yüzden soru.

Yanıtlar:


4

Bunu yapmanın en zarif yolu olamaz, ama işe yarıyor.

Kolaylık sağlamak için değişkene dosya adı girin:

file="yourvideo.avi"

Videonun uzunluğunu -3 saniye alın (-3 sedkomutuna ayarlanır - sonuna kesip ID_LENGTH=ekleriz -3):

start=$(mplayer -identify -vo dummy -ao dummy -really-quiet "$file" 2>/dev/null | sed -n '/ID_LENGTH=/s/ID_LENGTH=\(.*\)/\1-3/p' | bc)

Aynı şeyi avprobe veya ffprobe (avconv veya ffmpeg ile birlikte verilir) ile de yapabilirsiniz:

start=$(avprobe -i "$file" -show_format 2> /dev/null | sed -n '/duration=/s/duration=\(.*\)/\1-3/p' | bc)

Başlangıç ​​pozisyonu ile FFmpeg ( ffmpeg) veya Libav ( avconv) ile kesin $start:

avconv -ss $start -t 3 -i $file -vcodec copy -acodec copy end_${file}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.