Menambahkan cap waktu pada bingkai yang diambil menggunakan FFmpeg

1

Saya mencoba menangkap bingkai menggunakan FFmpeg dan menambahkan cap waktu saat ini ke sana.

Kode di bawah ini berfungsi dengan baik untuk PC Linux:

ffmpeg -i  input -vf "drawtext=fontfile=/usr/share/fonts/TTF/Vera.ttf: text='%{localtime}': x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" image%03d.png

Tetapi hal yang sama tidak berlaku untuk Windows karena:

  • Filter diterapkan dalam -vfopsi.
  • fontfile=/usr/share/fonts/TTF/Vera.ttf tidak berlaku untuk PC Windows.
  • Beberapa hal lain juga tidak valid.

Saya mencoba mengedit dan menghapusnya dengan beberapa opsi lain tetapi tidak ada yang berhasil.

  1. Saya perlu menambahkan cap waktu pada gambar yang diambil menggunakan FFmpeg di Windows.
  2. Bagaimana saya bisa menambahkan cap waktu agar akurat dalam milidetik - tidak perlu tanggal di cap waktu.

Apa yang saya coba sejauh ini adalah:

text='%{localtime\:%X}%{pts\:hms}'

Di atas mencetak waktu setempat dan Poin. Saya perlu menambahkan keduanya dan mencetak, sehingga saya bisa mendapatkannya dengan benar.

Segala jenis bantuan akan dihargai. Saya memecahkan kepala saya untuk ini dari beberapa jam terakhir.

csharpcoder
sumber
Bisakah Anda memposting perintah penuh yang terakhir Anda coba dengan output konsolnya? Saya dapat melakukannya di Windows, dengan ekspresi teks yang sama dan dengan jalur yang valid ke file font.
Gyan
Ya terima kasih. . Saya menemukan jawabannya. Satu-satunya hal yang saya salah adalah jalur yang valid ke file font. Tapi sekarang saya perlu cap waktu yang benar untuk milidetik. akan memposting kode kerja saya ..
csharpcoder

Jawaban:

3

Saya membuatnya bekerja. Posting saja di sini:

ffmpeg -i input -vf "drawtext=fontfile=/Windows/Fonts/Arial.ttf: text='%{localtime}': x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1: fontsize=30" -r 25 -t 5 image%03d.png
csharpcoder
sumber