FFmpeg debug verbosity

2

Saya men-debug ffmpeg dengan -loglevel debug, dan saya ingin pesan debug (yang pada dasarnya hanya mencetak ke terminal nilai variabel yang berbeda) tetapi di depan setiap baris adalah file offset dalam teks biru, dan saya tidak ingin untuk melihat itu, karena itu tidak berguna bagi saya.

Bagaimana saya bisa melakukan ini?

Berikut contoh tangkapan layar: masukkan deskripsi gambar di sini

Saya ingin teks biru [dca @ 0x7fe86c80f000] dihapus, tetapi teks hijau tetap ada

Saya mencoba -nostats dan -hide_banner bersama-sama dan berpisah, dan itu juga tidak berhasil.

MarcusJ
sumber
2
Dalam lingkungan * nix akan lebih mudah untuk menyalurkan output melalui sed atau cut. OS apa yang sedang Anda kerjakan?
Nifle
Saya menggunakan OS X, alasan saya mencetak info debug menggunakan av_log adalah karena itu akan berakhir dalam file .log, yang dapat saya tinjau nanti untuk memastikan semuanya dibaca dengan benar.
MarcusJ

Jawaban:

5

Seperti komentar Nifle, Anda bisa menggunakan sed seperti ini. Tanpa sed, jika output Anda adalah:

$ ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi -loglevel debug

here is a line without any brackets and stuff, it should display too
[dca @ 0x7fe86c80f000] leave this stuff here
[dca @ 0x7fe86c80f000] and this
[dca @ 0x7fe86c80f000] this stuff too
another line that should just be printed plainly.

Maka Anda bisa menambahkan

| sed 's/\[.*\] *\t*//'

sampai akhir, seperti ini: (dijalankan di linux saya, osX sed mungkin sedikit berbeda)

$ ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi -loglevel debug | sed 's/\[.*\] *\t*//'
here is a line without any brackets and stuff, it should display too
leave this stuff here
and this
this stuff too
another line that should just be printed plainly.

Terlihat baik?

Ryan S
sumber