मैं ffmpeg का उपयोग करके टेक्स्ट ओवरले के साथ वीडियो को GIF में कैसे परिवर्तित करूं


0

मैं वर्तमान में इस कमांड को संशोधित करने की कोशिश कर रहा हूं, जो एक gif बनाने के लिए ffmpeg से स्प्लिट कमांड का उपयोग करता है

ffmpeg -y -ss 30 -t 3 -i input.flv -filter_complex "fps=10,scale=320:-1:flags=lanczos[x];[x]split[x1][x2];[x1]palettegen[p];[x2][p]paletteuse" output.gif

यह ठीक काम करता है, समस्या यह है कि जब मैं कोशिश करता हूं और gif का उपयोग करके एक पाठ ओवरले में जोड़ता हूं golden ratio

ffmpeg -y -ss 30 -t 3 -i "input.mp4" -filter_complex "fps=10,scale=320:-1:flags=lanczos[x],drawtext=box=1:boxcolor=black@0.4:boxborderw=5:fontfile=font3.ttf:text='Stackoverflow':fontsize=24:fontcolor=white:x=(w-tw)/2:y=(h/PHI)+th[x];[x]split[x1][x2];[x1]palettegen[p];[x2][p]paletteuse" output.gif

अब मुझे यकीन नहीं है कि मुझे पैलेटस के लिए एक और चर में जोड़ना होगा? मैं इसे एक पास में चलाने की कोशिश कर रहा हूं

त्रुटि कहती है

ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
  configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2016-01-21 04:12:34
  Duration: 00:04:24.38, start: 0.000000, bitrate: 730 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 640x360 [SAR 1:1 DAR 16:9], 632 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s (default)
    Metadata:
      creation_time   : 2016-01-21 04:12:35
      handler_name    : IsoMedia File Produced by Google, 5-11-2011
Cannot find a matching stream for unlabeled input pad 0 on filter Parsed_drawtext_2

जवाबों:


1

पहले कुछ फ़िल्टरों के क्रम में ड्राफ़्ट को लागू करें।

ffmpeg -y -ss 30 -t 3 -i "input.mp4"
  -filter_complex "fps=10,scale=320:-1:flags=lanczos,
   drawtext=box=1:boxcolor=black@0.4:boxborderw=5:fontfile=font3.ttf:text='Stackoverflow':fontsize=24:fontcolor=white:x=(w-tw)/2:y=(h/PHI)+th,
   split[x1][x2];[x1]palettegen[p];[x2][p]paletteuse" output.gif
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.