Comment puis-je activer FFMPEG journalisation et où puis-je trouver le FFMPEG fichier journal?
Je veux être en mesure de se connecter FFMPEG processus parce que je suis en train de travailler sur la durée d'une minute de vidéo pour convertir pour aider avec la planification de la capacité de mon encodage vidéo serveur. Comment puis-je activer la journalisation et où est le fichier journal enregistré. J'ai FFMPEG installé sur un CentOS LAMPE de la machine.
Vous devez vous connecter pour publier un commentaire.
FFmpeg ne pas écrire dans un fichier journal spécifique, mais plutôt envoie sa sortie de erreur standard. À saisir, vous devez soit
Exemple pour le std erreur de redirection:
Une fois le processus terminé, vous pouvez inspecter
out.txt
.C'est un peu plus compliqué à faire la première option, mais il est possible. (Je l'ai fait moi-même. Donc, avoir d'autres. Un coup d'oeil autour et le net pour plus de détails.)
-pass 1/2
.ffmpeg
commande sur votre système a été vraiment à l'aide de laavconv
fourche de FFmpeg, qui est certainement quelque chose qui pourrait avoir changé.)J'ai trouvé le dessous des choses dans ffmpeg Docs. Espérons que cette aide! 🙂
Référence: http://ffmpeg.org/ffmpeg.html#toc-Generic-options
of=out.mkv; FFREPORT="level=32:file=$of.log" ffmpeg -v verbose ... "$of"
pour définir le niveau de journalisation de stderr sur "commentaires", et le niveau de journalisation deout.mkv.log
de "statut". (AV_LOG_WARNING=24
,AV_LOG_INFO=32
,AV_LOG_VERBOSE=40
). Son Support est ajouté il y a 2 ans, si vous avez besoin d'un non-ancienne version de ffmpeg.Je trouve la réponse.
1/la Première à mettre dans les presets, j'ai cet exemple du format de Sortie "MPEG2 DVD HQ"
Si vous voulez un rapport inclut les commandes-vstats_file MFRfile.txt dans les presets comme dans l'exemple. cela peut rendre un rapport qui c'est ubicadet dans le dossier source de votre fichier Source.
vous pouvez mettre n'importe quel nom si vous le souhaitez , j'ai résolu mon problème "j'écris à plusieurs reprises dans ce forum" en lisant un complet .docx sur mpeg propriétés. enfin, je peux faire ma barre de progression de la lecture de ce fichier txt généré.
Ce qui concerne.
apparaît que si vous l'ajouter à la ligne de commande:
ou
Vous obtenez plus de commentaires de sortie de débogage à la ligne de commande.
ffmpeg journaux à la sortie stderr, et peut se connecter à un fichier avec un autre log au niveau de la sortie stderr. Le
-report
option de ligne de commande ne vous donne pas le contrôle du nom de fichier journal ou le niveau de journal, le choix de la variable d'environnement est préférable.(
-v
est synonyme de-loglevel
. Exécuterffmpeg -v help
pour voir le niveau. Exécuterffmpeg -h full | less
pour TOUT voir. Ou consulter le documents en ligne, ou leurs pages wiki comme l'h.264 encoder guide).Qui trancode
src.mp4
avec x264, et de définir le niveau de journalisation de stderr sur "commentaires", et le niveau de journalisation deout.mkv.log
de "statut".(
AV_LOG_WARNING=24
,AV_LOG_INFO=32
,AV_LOG_VERBOSE=40
, etc.). Son Support est ajouté il y a 2 ans, si vous avez besoin d'un non-ancienne version de ffmpeg. (Toujours une bonne idée de toute façon, pour la sécurité /corrections de bugs et des accélérations)Quelques codecs, comme
-c:v libx265
, écrire directement à la sortie stderr au lieu d'utiliser ffmpeg de journalisation de l'infrastructure. De sorte que leurs messages de journal ne se retrouvent pas dans le fichier de rapport. Je suppose que c'est un bug /TODO-élément de la liste.De journal stderr, tout en voyant dans un terminal, vous pouvez utiliser
tee - (1)
.Si vous utilisez un niveau de journal qui comprend la ligne d'état des mises à jour (la valeur par défaut
-v info
, ou plus), ils seront inclus dans le fichier journal, séparés par^M
(retour chariot aka\r
). Il n'y a pas de niveau de journal qui comprend codeur stats (comme SSIM), mais pas de la ligne d'état des mises à jour, de sorte que la meilleure option est probablement pour filtrer les flux.Si vous ne voulez pas de filtre (par exemple, si les fps /bitrate à chaque état-intervalle de mise à jour est là dans le fichier), vous pouvez utiliser
less -r
pour passer directement à votre terminal, vous pouvez visualiser les fichiers proprement. Si vous avez.enc
journaux à partir de plusieurs code que vous souhaitez parcourir,less -r ++G *.enc
fonctionne très bien. (G++signifie commencer à la fin du fichier pour tous les fichiers). Avec une seule touche de raccourcis clavier comme.
et,
le fichier suivant et précédent fichier, vous pouvez feuilleter quelques fichiers journaux très bien. (les liaisons par défaut sont:n
et:p
).Si vous ne souhaitez filtrer,
sed 's/.*\r//'
fonctionne parfaitement pour ffmpeg sortie. (Dans le cas général, vous avez besoin de quelque chose commevt100.py
, mais pas juste des retours chariot). Il y a (au moins) deux façons de le faire avec tee + sed:tee
à /dev/tty et le tuyau té de sortie en sed, ou d'utiliser un processus de substitution à tee dans une pipe à sed.Pour tester un peu différentes de coder les paramètres, vous pouvez faire une fonction comme celui-ci que j'ai utilisé récemment pour tester quelques trucs. Je l'ai eu sur une seule ligne, donc je pourrais facilement flèche vers le haut et de le modifier, mais je vais de l'onu-embrouiller ici. (C'est pourquoi il y a
;
s à la fin de chaque ligne)Remarque qu'il teste l'existence du fichier vidéo de sortie pour éviter crachant des poubelles supplémentaires dans le fichier de log si il existe déjà. Même si, je l'ai utilisé et append (
>>
) de redirection.Il serait plus "propre" pour écrire une fonction shell qui a eu des arguments au lieu de regarder des variables shell, mais c'était pratique et facile à écrire pour mon propre usage. C'est aussi pourquoi j'ai fait gagner de l'espace en ne citant correctement toutes mes extensions de variable. (
$v
au lieu de"$v"
)Vous devez déclarer le reportfile comme variable de la console.
Problème, c'est tous les Dokumentations vous pouvez trouver sont pas en cours d'exécution ainsi ..
J'ai été donner 1 jour de ma vie à trouver le bon chemin ....
Exemple: pour un lot de/console
cmd.exe /K set FFREPORT fichier=='C:\ffmpeg\proto\test.log':niveau=32 && C:\ffmpeg\bin\ffmpeg.exe -loglevel avertissement -rapport-je inputfile f outputfile
Exemple Javascript:
var reortlogfile = "cmd.exe /K set FFREPORT fichier=='C:\ffmpeg\proto\" + nomfichier + ".le journal':niveau=32 && C:\ffmpeg\bin\ffmpeg.exe" .......;
Vous pouvez modifier le dossier et nom de fichier de la façon dont vous le voulez.
Frank de Berlin
Si vous voulez simplement savoir combien de temps il faut pour la commande à exécuter, vous pouvez envisager d'utiliser le le temps de commande. Vous, par exemple, utiliser
time ffmpeg -i myvideoofoneminute.aformat out.anotherformat