Lewati bagian video saat mengonversinya menjadi gambar dengan ffmpeg


0

Saya menggunakan perintah ini di ffmpeg untuk mengkonversi video menjadi gambar:

ffmpeg -i video.mp4 -q:v 1 -r 1 -f image2 frame-03d%.jpg

Yang ingin saya lakukan adalah melewatkan x detik pertama dan y detik terakhir video dari konversi bingkai, pada dasarnya penyihir intro dan berakhir. Setiap video memiliki panjang yang berbeda tetapi intro dan ending selalu sama di setiap video (sekitar 30 detik). Apakah ada cara untuk melakukan ini?

Jawaban:


1
ffmpeg -i BigBuckBunny_320x180.mp4 -ss 00:00:09.000 -t 60 -q:v 1 -r 1 -f image2 image_%05d.jpeg

-ss start time
-t duration from start time

atau gunakan trim

ffmpeg -i BigBuckBunny_320x180.mp4 -vf trim=09:69 -r 1 -f image2 image_%05d.jpeg

Cara mendapatkan durasi contoh video.

ffprobe -v quiet -show_streams -select_streams v: 0 -show_entries stream = durasi BigBuckBunny_320x180.mp4 | durasi grep | awk -F = '{print $ 2}'


Perlu dicatat bahwa untuk video dengan panjang yang berbeda-beda, Anda harus menggunakan skrip shell atau file batch untuk mengetahui total durasi dalam detik dan kemudian kurangi 30 detik dari ujung sebelum memanggil ffmpeg. Ini adalah bagian "rumit" dari pertanyaan.
sok

Itu hanya contoh. Bagaimanapun dia akan mendapatkan intro dan mengakhiri periode. Dia bisa mendapatkan durasi klip dari iterasi yang sama.
Alam

Ya, dia bisa, tetapi seperti yang saya katakan, ini adalah masalah yang lebih rumit di sini. Jadi jawaban Anda akan lebih membantu jika itu menunjukkan cara mendapatkan durasi, melakukan perhitungan, kemudian meneruskannya ke ffmpeg.
slhck

Sslhck Saya menambahkan perintah untuk mendapatkan durasi video. Semoga ini bisa membantu.
Alam

Ok jadi perintahnya harus -tx di mana x dihitung sebagai VIDEO DURATION - 60 (30 detik dari awal dan 30 detik dari akhir). Tetapi saya tidak mendapatkan apa yang dilakukan perintah trim, apakah 09:69?
Hyperion
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.