Führen Sie ffmpeg aus, ohne Konfigurationsinformationen auszugeben?
Ich bin aufrufen ffmpeg
mit Unterprozess.Popen
und versuchen zu erfassen, die stderr
Ausgabe und schreiben Sie es auf logging
.
args = ['ffmpeg', '-i', path]
if start:
args += ['-ss', start]
if end:
args += ['-t', end]
args += [
'-vcodec', 'copy',
'-acodec', 'copy',
'-scodec', 'copy',
'-f', 'mpegts',
'-y', '/dev/stdout']
self.child = subprocess.Popen(
args,
stdin=open(os.devnull, 'rb'),
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
ffmpeg
erzeugt eine Menge von Konfigurations-Informationen, wie den folgenden:
FFmpeg version 0.6.2-4:0.6.2-1ubuntu1,
Copyright (c) 2000-2010 die Libav
Entwickler gebaut am Mar 22 2011
15:55:04 mit gcc 4.5.2
Konfiguration:
--extra-version=4:0.6.2-1ubuntu1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-Strippen --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-statische WARNUNG: library-Konfiguration
mismatch libavutil-Konfiguration:
--extra-version=4:0.6.2-1ubuntu2 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-Strippen --enable-runtime-cpudetect --enable-vaapi --enable-libopenjpeg --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdirac --enable-libfaad --enable-libmp3lame --enable-librtmp --enable-libx264 --enable-libxvid --enable-libdc1394 --enable-shared --disable-static libavcodec-Konfiguration:
--extra-version=4:0.6.2-1ubuntu2 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-Strippen --enable-runtime-cpudetect --enable-vaapi --enable-libopenjpeg --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdirac --enable-libfaad --enable-libmp3lame --enable-librtmp --enable-libx264 --enable-libxvid --enable-libdc1394 --enable-shared --disable-static libavutil 50.15. 1 /50.15. 1
libavcodec 52.72. 2 /52.72. 2
libavformat 52.64. 2 /52.64. 2
libavdevice 52. 2. 0 /52. 2. 0
libavfilter 1.19. 0 /1.19. 0
libswscale 0.11. 0 /0.11. 0
libpostproc 51. 2. 0 /51. 2. 0
Bevor schließlich die Ausgabe der Sachen, die ich möchte zu Protokoll:
Scheint stream 0 codec frame rate
unterscheidet sich von container frame rate:
47.95 (66893/1395) -> 23.98 (66893/2790) mindestens eine Ausgabe-Datei
muss angegeben werden,
Ist es eine option, um zu verhindern, dass diese hohe Leistung? Sollte mache ich es anders???
InformationsquelleAutor der Frage Matt Joiner | 2011-04-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist dies nun möglich, da der FFmpeg 2.2 mit der
-hide_banner
option. Siehe auch die einschlägigen Begehen und ticket.InformationsquelleAutor der Antwort Andrew Marshall
AFAIK gibt es keine Möglichkeit,
loglevel
keine Verwendung. Blick auf ffmpeg.c:und cmdutils.c:
Sehen hier für einen fehlgeschlagenen Versuch zu überspringen (ich verstehe nicht, was das mit der GPL zu tun hat mit etwas von dieser). Ich schlage vor, Sie einen bug und hoffen, dass Sie überzeugenden genug.
Als viele andere, ich habe ffmpeg kompiliert mit
show_banner()
auskommentiert, es ist einfach anstrengend.InformationsquelleAutor der Antwort tokland
Werfen Sie einen Blick auf ffmpeg ' s manpage, insbesondere die
-loglevel
parameter.InformationsquelleAutor der Antwort Dr McKay
FFmpeg != Libav
ffmpeg
von FFmpeg mit-loglevel
parameter funktioniert wie erwartet.InformationsquelleAutor der Antwort Elvis Presley