열린 글꼴 파일의 최대 수에 대한 FFmpeg drawtext 제한


1

FFmpeg를 사용하여 drawtext( filter_complex사용됨)을 사용하여 텍스트에 주석을 달거나 쓰는 이미지에서 비디오를 만들려고합니다 .

수있는 경우 drawtext필터가 500을 초과 오류가 발생합니다 :

Sans 패밀리에 유효한 글꼴을 찾을 수 없습니다

FFmpeg는 동시에 열 수있는 글꼴 파일 수에 제한이 있습니다.

  1. 어떻게 drawtext작업 - 왜 새 파일이 모든 글꼴 파일이 동일한 경우에도 각 필터 열립니다?
  2. 이 문제를 해결할 방법이 있습니까? 동시에 열 수있는 파일에 대한 제한을 늘리면?
  3. drawtext문서에는 옵션이 있습니다 fontconfig– 사용 방법? 위 시나리오에서 도움이 되나요?

전체 명령
ffmpeg -f concat -i input.txt -i input_audio.wav -y -r 10 -filter_complex_script filterCommand.txt -crf 22 -threads 2 -preset ultrafast output_video.mp4

-filterCommand.txt-텍스트 파일에 drawtext=enable='between(n,0,0)':fontsize=10:fontfile='C\:/‌​windows/Fonts/calibr‌​ib.ttf':fontcolor='0‌​x000000쉼표로 구분

-509 번 반복 텍스트가 509 번 반복되고 텍스트가 510 번 실패합니다.

콘솔 로그
ffmpeg version N-81989-g7845c13 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.0 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib libavutil 55. 32.100 / 55. 32.100 libavcodec 57. 61.103 / 57. 61.103 libavformat 57. 52.100 / 57. 52.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 64.100 / 6. 64.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 2.100 / 2. 2.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, concat, from 'temp/test4/node-5303540733531691237.txt': Duration: 00:00:01.61, start: 0.000000, bitrate: 0 kb/s Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc Guessed Channel Layout for Input Stream #1.0 : mono Input #1, wav, from 'temp/32_anonymoususer1825804750300631765/part/1_subPart/audio/part_audio.wav': Duration: 00:00:09.50, bitrate: 705 kb/s Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, mono, s16, 705 kb/s Fontconfig error: Cannot load default config file [Parsed_drawtext_509 @ 000000000a4ca9a0] Cannot find a valid font for the family Sans [AVFilterGraph @ 0000000000b8cfc0] Error initializing filter 'drawtext' with args 'enable=between(n,21,21):fontsize=10:fontfile=C\:/windows/Fonts/calibrib.ttf:fontcolor=0x000000:text=100\.0:x=398:y=119-th' Error initializing complex filters. No such file or directory


필터의 내부 작동에 대해 잘 모르지만 문제를 나타내는 명령과 결과로 얻는 전체 명령 줄 출력을 알려주시겠습니까? (너무 길면 PasteBin에 업로드 할 수도 있습니다.)
slhck

샘플 명령 ffmpeg -f concat -i input.txt -i input_audio.wav -y -r 10 -vf "drawtext=enable='between(n,0,0)':fontsize=10:fontfile='C\:/windows/Fonts/calibrib.ttf':fontcolor='0x000000':text='120\.0':x=480:y=61-th" -crf 22 -threads 2 -preset ultrafast output_video.mp4--적어도 550 회 drawtext 명령 반복
AM25

요청 된 모든 내용, 즉 오류 하나가 아닌 전체 명령 및 전체 출력을 포함하십시오.
slhck 2016 년

ffmpeg 티켓 5893 을 참조 할 수 있습니다-약 512 개의 드로우 텍스트 필터에 대해 언급하지만 해결책 / 구제 없음
AM25

나는 그와 같은 것이 문제가 될 것이라고 추측하려고했습니다. 누군가가 버그를 고치기를 기다리는 것만 큼 두려워합니다. 각 필터가 개별적으로 글꼴을로드하기 때문에 쉬운 지 확실하지 않습니다.
slhck 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.