Saya mencoba menggunakan ffmpeg untuk memotong file video pada waktu yang tepat. Bantuan ffmpeg menunjukkan opsi -timecode_frame_start untuk menentukan frame awal tetapi saya tidak dapat menjalankan perintah ini. Video yang dihasilkan selalu dimulai di awal video asli. Berikut ini contoh perintah yang saya jalankan:
ffmpeg -i input.mpg -acodec copy -vcodec copy -timecode_frame_start 200 -vframes 210 -n ouput.mpg
Saya telah memindahkan opsi timecode_frame_start sebelum dan sesudah opsi lain tanpa perubahan hasil. Apakah ada opsi tambahan yang perlu saya tentukan? Saya sudah mencoba berbagai format file, mkv, avi, mp4, dan sepertinya masalahnya tidak terkait codec. Ini satu file yang sudah saya coba:
http://www.seaotter.com/marine/movies/hermit-long-01.mpg
Apakah saya melewatkan sesuatu?
melt
, lihat Secara akurat memotong file video dari baris perintah - Super UserJawaban:
Saya baru tahu bahwa
timecode_frame_start
tidak berfungsi seperti ini. Satu-satunya cara untuk memulai pada frame tertentu adalah dengan mengubah sejumlah frame menjadiss.ms
sintaks, atauhh:mm:ss.ms
. Jadi, jika video Anda pada 25 fps, dan Anda ingin memulai pada 133 frame, Anda perluJadi, lari
Perhatikan bahwa memotong frame yang tepat dengan salinan bitstream (
-c:v copy
) tidak dimungkinkan karena tidak semua frame dikodekan dalam dan dapat berdiri sendiri.-ss
akan selalu akurat frame.Jika Anda ingin menyandikan sejumlah frame tertentu, gunakan
-frames:v
, misalnya:Anda juga memiliki pilihan untuk menggunakan filter video , tetapi dukungan audio mungkin tidak tepat. Dan ternyata, mencari di frame masih bukan fitur. Anda dapat mengikuti utas milis pengguna FFmpeg ini untuk info lebih lanjut:
sumber
select=gte(n\,100)
metode bekerja tapi mencari yang memakan kinerja. Jika Anda menguji dengan menyandikan hanya 30 frame pada satu waktu, Semakin jauh ke dalam video saya mulai, semakin lama ffmpeg diperlukan untuk menyelesaikan karena pencarian.Pilihan
misalnya,memotong video dari (termasuk) ke-200 hingga (termasuk) bingkai ke-300, penghitungan urutan dimulai dari 0.
sumber