2011-04-08 5 views
18

ffmpegsubprocess.Popen으로 호출하고 stderr 출력을 캡처하여 logging에 작성하려고합니다.구성 정보를 출력하지 않고 ffmpeg를 실행 하시겠습니까?

는 FFmpeg 버전 0.6.2-4 : 0.6.2-1ubuntu1, 저작권 (C) 2000-2010 Libav 개발자

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

는 다음과 같은 구성 정보를 많이 생성 G22에서 4.5.2
구성 : --extra-version = 4 : 0.6.2-1ubuntu1 --prefix =/usr - 사용 가능 - avfilter - 사용 가능 avfilter -lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex - 사용 가능 libtheora - 사용 가능 libvorbis - 사용 가능 -pthreads - 사용 가능 -zlib - 사용 가능 libvpx - 사용 불가능 - 제거 가능 - 런타임 - cpudetect - 사용 가능 - 사용 가능 - 사용 가능 - 사용 가능 - postproc - 사용 가능 - swscale - 사용 가능 - x11grab - 사용 가능 - libdc1394 - 사용 가능 - 공유 - 사용 불가 - 정적 경고 : 라이브러리 구성 불일치 libavutil 구성 : --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 - 사용 가능 -libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-libopenjpeg - -enable-libscad - 사용 가능 -libfaad - 사용 가능 -libmp3lame - 사용 가능 -libtmp - 사용 가능 libcad - 사용 가능 libcad - 사용 가능 libcad - 사용 가능 - -enable-libxvid - 사용 가능 -libdc1394 - 사용 가능 공유 --disable-static libavcodec 설정 : --extra-version = 4 : 0.6.2-1ubuntu2 --prefix =/usr - 사용 가능 - avfilter - 사용 가능 - avfilter-lavf - 사용 가능 - vdpau - 사용 가능 -bzlib - 사용 가능 libdirac - 사용 가능 libgsm - 사용 가능 libopenjpeg - 사용 가능 libschroedinger - 사용 가능 libspeex - 사용 가능 libtheora - 사용 가능 libvorbis - 사용 가능 -pthreads - 사용 가능 -zlib - 사용 가능 libvpx - 사용 불가능 - 스트라이핑 - 사용 가능 런타임 - cpudetect - 사용 가능 - 사용 가능 - 사용 가능 - libopenjpeg - 사용 가능 - 사용 가능 - 사용 가능 - 사용 가능 - 사용 가능 - swscale - 사용 가능 - x11grab - 사용 가능 - libfaad - 사용 가능 -libdirac - 사용 가능 libfaad - 사용 가능 libmp3lame - 사용 가능 -librtmp - 사용 가능 libx264 - 사용 가능 libxvid - 사용 가능 libdc1394 - 사용 가능 공유 - 사용 불가 - 정적 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

전에 마지막 재료를 출력하는 I 로그 싶습니다 스트림 0 코덱 프레임 레이트 컨테이너 상이

보인다 프레임 속도 : 47.95 (1,395분의 66,893) -> 23.98 (2,790분의 66,893) 하나 이상의 출력 파일 은

이 과도한 출력을 방지 할 수있는 옵션이 있습니까

를 지정해야합니다? 내가 다르게해야 할까?

답변

32

-hide_banner 옵션이있는 FFmpeg 2.2부터 가능합니다. 관련 committicket도 참조하십시오.

+2

FFOPTIONS 환경 변수가 있으면 좋을 것입니다. 배너를 항상 숨기도록 추가 할 수는 있지만 그런 기능은 없다고 생각합니까? – yoyo

0

ffmpeg의 맨 페이지, 특히 -loglevel 매개 변수를 살펴보십시오.

+1

'-loglevel'을 시도했지만 아무 효과가없는 것 같습니다. –

+0

-loglevel 패닉 시도하고 출력을 표시하지 않습니다. https://superuser.com/questions/326629/how-can-i-make-ffmpeg-be-quieterless-verbose – nish

3

AFAIK 없습니다. loglevel는 사용하지 마십시오. ffmpeg보세요.C :

init_opts(); 
show_banner(); 

및 cmdutils.c :

void show_banner(void) 
{ 
    fprintf(stderr, "%s version " FFMPEG_VERSION ", Copyright (c) %d-%d the FFmpeg developers\n", 
      program_name, program_birth_year, this_year); 
    fprintf(stderr, " built on %s %s with %s %s\n", 
      __DATE__, __TIME__, CC_TYPE, CC_VERSION); 
    fprintf(stderr, " configuration: " FFMPEG_CONFIGURATION "\n"); 
    print_all_libs_info(stderr, INDENT|SHOW_CONFIG); 
    print_all_libs_info(stderr, INDENT|SHOW_VERSION); 
} 

그것을 건너 뛰는 시도가 실패한 (필자는 GPL이의 아무것도 무슨 상관하지 않습니다)에 대한 here를 참조하십시오. 나는 file a bug에 당신을 건의하고 당신은 충분히 convicing 희망한다.

다른 많은 사람들과 마찬가지로 ffmpeg는 show_banner()으로 컴파일되었으므로 간단히 말해서 귀찮습니다.

+0

버그 추적기는 현혹 적으로 쓰레기입니다. +1 당신이 배너에 대해 트래커 _에서 버그에 대한 링크를 얻을 수 있다면. 감사. –

+0

추적기의 관련 버그에 연결할 수 있다면 여전히 +1하고 싶습니다. –

+1

@Matt : 배너와 관련된 버그 보고서를 찾지 못했습니다 : https://ffmpeg.org/trac/ffmpeg/query?status=closed&status=new&status=open&status=reopened&max=3000&order=priority. 그러나 저자 중 한 명 (Ronald S. Bultje)은 메일 링리스트에서 이것이 일어나지 않을 것이라고 말했습니다. – tokland

-1

는 FFmpeg에! = -loglevel 매개 변수는 FFmpeg에서

ffmpeg Libav

예상 작품으로.

+1

ffmpeg의 버전은 무엇입니까? 허용 된 솔루션은 실제로 작동하지 않는이 사이트를 언급합니다. –

+0

은 ffmpeg처럼 보입니다. -loglevel 은 "정보"보다 높은 모든 loglevel에서 작동합니다. loglevel 매개 변수는 (최소 자세한 정보부터 최대 정보까지) "quiet" "panic" "fatal" "error" "warning" "info" "verbose" "debug"입니다. 나는 ffmpeg 1.0 (Mac에 내장)을 사용하고 있습니다. – stib

관련 문제