GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mendapatkan jumlah bingkai dalam video di baris perintah linux?

ffprobe dapat digunakan untuk mendapatkan info tentang file media:

ffprobe -select_streams v -show_streams input.avi

Anda akan mendapatkan detail tentang streaming:

nb_frames=159697

Cari nb_frames dengan grep :

ffprobe -select_streams v -show_streams input.avi 2>/dev/null | grep nb_frames | sed -e 's/nb_frames=//'

Itu berfungsi untuk avi, mp4 dan lain-lainUntuk beberapa wadah, itu tidak menunjukkan nilai yang valid mis. mpeg.

Dalam hal ini, ini bekerja ffprobe -show_packets a.mpg 2>/dev/null | grep video | wc -l


Ini mengerikan, dan bodoh, dan lambat, tetapi tampaknya berhasil:

ffmpeg -i foo.avi -vcodec copy -f rawvideo -y /dev/null 2>&1 | tr ^M '\n' | awk '/^frame=/ {print $2}'|tail -n 1

Ini juga akan berfungsi langsung pada file terpotong dan aliran mentah (itulah sebabnya Anda tidak mendapatkan apa-apa untuk file .vob)


Saya memposting ini pada pertanyaan lain. Menggunakan tcprobe alat (dari transcode paket), jumlah frame disertakan dalam info. Gunakan -i beralih untuk mendapatkan info dump dari file:

$ tcprobe -i foo.avi
[tcprobe] RIFF data, AVI video
[avilib] V: 29.970 fps, codec=XVID, frames=38630, width=512, height=384
[avilib] A: 48000 Hz, format=0x55, bits=16, channels=2, bitrate=128 kbps,
[avilib]    53707 chunks, 21768720 bytes, VBR
[tcprobe] summary for foo.avi, (*) = not default, 0 = not detected
import frame size: -g 512x384 [720x576] (*)
       frame rate: -f 29.970 [25.000] frc=4 (*)
      audio track: -a 0 [0] -e 48000,16,2 [48000,16,2] -n 0x55 [0x2000] (*)
                   bitrate=128 kbps
           length: 38630 frames, frame_time=33 msec, duration=0:21:28.954

Perhatikan jumlah bingkai yang diberikan pada dua baris di sini (baris keluaran ke-2 dan baris keluaran terakhir).


Linux
  1. Bagaimana Cara Mendapatkan Hitungan File Dalam Direktori Menggunakan Baris Perintah?

  2. Cara Menampilkan Baris Tertentu dari File di Baris Perintah Linux

  3. Bagaimana saya bisa mendapatkan resolusi (lebar dan tinggi) untuk file video dari baris perintah linux?

  1. Cara menginstal perangkat lunak dari baris perintah Linux

  2. Bagaimana saya bisa mendapatkan bitrate video dari baris perintah di Linux?

  3. Bagaimana cara mendapatkan alamat IP saya dari baris perintah?

  1. Cara Mengekstrak File tar.gz di Linux dengan Menggunakan Command Line

  2. Cara Menghapus Pengguna di Linux Menggunakan Command Line

  3. Dengan Perintah "kucing" Linux, Bagaimana Hanya Menampilkan Baris Tertentu Dengan Angka?