Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!

АВТОМАТИЗАЦИЯ с FFMPEG

Translated30 915 UAH

  1. 21933
     20  0

    10 дней30 915 UAH

    Здравствуйте! Готова выполнить задачу по автоматизации через FFmpeg: генерация видео с титрами, эффектами, масками, водяным знаком, а также озвучка текста через API синтеза речи (например, ElevenLabs или Google TTS). Реализую форму для загрузки больших текстов (до 100 000 символов) с последующей обработкой и сборкой видео. Оценка по срокам — до 14 дней. Все будет автоматизировано и протестировано. Подробности готова обсудить в личных сообщениях.

  2. 232  
    3 дня30 915 UAH

    Добрый вечер, я разрабатываю очень похожую программу уже 10 месяцев. Все функции там есть, вам просто нужно выбрать то, что вам нужно.

  3. 99  
    5 дней30 915 UAH

    Ваш проект по генерации видео выглядит интересно. Я могу создать скрипт для субтитров, эффектов, масок и водяных знаков, а также синтеза голоса через API и интеграции ChatGPT. У меня есть опыт в подобных задачах, например, в AI-платформах и многоязычных ассистентах, так что я знаю, как обрабатывать большие тексты. Давайте обсудим детали.

    Мои прошлые работы:
    https://elysianai.com/
    https://storyai.cc/

  4.    1  2   3
    5 дней30 915 UAH

    Здравствуйте! Понимаю вашу задачу: нужен скрипт, который сможет автоматически генерировать видео с наложением субтитров, эффектов, масок и водяных знаков, а также с озвучкой через API ChatGPT. Предлагаю реализовать это через связку Python + FFMPEG + стороннюю интеграцию текст-в-речь для генерации аудио. Форму для загрузки больших текстов можно сделать через Flask или FastAPI с поддержкой объёмных данных. Уже есть наработки, готов оперативно приступить и настроить рабочую систему под ваши требования

  5. 260    1  1
    2 дня30 915 UAH

    все будет максимально быстро, будет готово сегодня, но я предлагаю лучше чем скрипт, напишите мне в личку расскажу больше.

  6. 1660    100  5   3
    10 дней31 173 UAH

    Добрый день! Интересный проект. Пишите, Буду рад сотрудничать с Вами!

  7. 4189    123  0
    14 дней30 864 UAH

    Я могу создать такой скрипт. Я буду использовать Python + ffmpeg.
    для API генерации голоса openai

  8. 120  
    2 дня30 967 UAH

    Я готов выполнить ваш проект. Я умею работать с GraphicsMagick и FFMPEG. Я знаю bash-скрипты.

  9. Еще 2 ставки скрыты
  • Якоб Ингерс
    12 мая 2025, 20:47 |

    Sample (without API of ChatGPT (pay for)).



    #!/bin/ksh

    ############################################
    input_video="input.mp4"
    output_video="output_with_k.mp4"
    watermark_text="КR"
    font_size=100
    font_color="white"
    font_file="Arial"
    watermark_x=50
    watermark_y=50
    audio_description_prompt="dsgddfgdfdgfg bbbdfbd"
    generated_audio_file="generated_audio.mp3"

    #0
    watermark_image="watermark_k.png"
    echo "Generating with letter K '$watermark_text'..."
    gm convert -background none -fill "$font_color" -font "$font_file" -pointsize "$font_size" label:"$watermark_text" "$watermark_image"
    if [ $? -ne 0 ]; then
      echo "Error genereating watermark"
      exit 1
    fi
    echo "Image for watermark  '$watermark_image' created"

    #1
    echo "adding to video '$input_video'..."
    ffmpeg -i "$input_video" -i "$watermark_image" -filter_complex "overlay=x=$watermark_x:y=$watermark_y" -c:a copy "video_with_watermark.mp4"
    if [ $? -ne 0 ]; then
      echo "error"
      rm -f "$watermark_image"
      exit 1
    fi
    echo "1th step of video: video_with_watermark.mp4"



  • Якоб Ингерс
    12 мая 2025, 23:17 |

    The sample of my new script: 

    ./finale.ksh  -size 122  -i input.mp4 -label sdfds  -shadow -x 250 -y 250 -font Helvetica -wave -color white
    The result:



    This is a shell script (.ksh) designed to add a text watermark to a video file. It utilizes two command-line tools:

    1. GraphicsMagick (gm convert, gm composite): Used to generate the watermark image with optional shadow and wave effects.
    2. FFmpeg (ffmpeg): Used to overlay the generated watermark image onto the input video.

    Key functionalities:

    • Takes input video and watermark text as mandatory arguments.
    • Offers several optional parameters:
      • -font: Specifies the font for the text watermark.
      • -color: Sets the color of the text.
      • -size: Controls the size of the text.
      • -shadow: Enables a shadow effect behind the text.
      • -wave: Applies a wave distortion effect to the text.
      • -x and -y: Define the position of the watermark on the video.
    • Lists available fonts using the --help fonts option.
    • Generates a PNG image of the text watermark (with shadow and wave if enabled) using GraphicsMagick.
    • Overlays the generated PNG image onto the input video using FFmpeg.
    • Outputs the watermarked video to a file named output_with_wm.mp4.
    • Handles errors such as missing mandatory arguments or failures in image generation or video processing.
    • Cleans up by removing the temporary watermark image file after processing.

    In essence, the script automates the process of creating a text-based watermark with optional visual enhancements and embedding it into a video file.


    #!/bin/ksh


    # --- Default parameters ---

    input_video=""
    watermark_text=""
    selected_font="Arial"
    text_color="white"
    text_size=50
    enable_shadow=0
    enable_wave=0
    watermark_x=10
    watermark_y=10


    # --- Function to list available fonts ---
    list_fonts() {
      echo "Avaiable Fonts:"
      fc-list | awk -F: '{print $1}' | sort -u
    }


    # --- Argument processing ---
    while [ $# -gt 0 ]; do
      case "$1" in
        -i)
          if [ $# -gt 1 ]; then
            input_video="$2"
            shift 2
          else
            echo "Error: Expected filename after -i."
            exit 1
          fi
          ;;
        -label)
          if [ $# -gt 1 ]; then
            watermark_text="$2"
            shift 2
          else
            echo "Error: Expected text after -label."
            exit 1
          fi
          ;;
        -font)
          if [ $# -gt 1 ]; then
            selected_font="$2"
            shift 2
          else
            echo "Error: Expected font name after -font."
            exit 1
          fi
          ;;
        -color)
          if [ $# -gt 1 ]; then
            text_color="$2"

            shift 2

          else

            echo "Error: Expected color after -color."

            exit 1

          fi

          ;;

        -size)

          if [ $# -gt 1 ]; then

            text_size="$2"

            shift 2

          else

            echo "Error: Expected size after -size."

            exit 1

          fi

          ;;

        -shadow)

          enable_shadow=1

          shift

          ;;

        -wave)

          enable_wave=1

          shift

          ;;

        -x)

          if [ $# -gt 1 ]; then

            watermark_x="$2"

            shift 2

          else

            echo "Error: Expected value after -x."

            exit 1

          fi

          ;;

        -y)

          if [ $# -gt 1 ]; then

            watermark_y="$2"

            shift 2

          else

            echo "Error: Expected value after -y."

            exit 1
          fi
          ;;

        --help)
          case "$2" in
            fonts)
              list_fonts
              exit 0
              ;;

            *)

              echo "Usage: $0 -i <input_video> -label \"text\" [options]"
              echo "Options: -font <font_name>, -color <color>, -size <size>, -shadow, -wave, -x <number>, -y <number>"
              echo "           $0 --help fonts"
              exit 0

              ;;
          esac
          exit 0
          ;;

        *)

          echo "Unknown parameter: '$1'"
          echo "Usage: $0 -i <input_video> -label \"text\" [options]"
          echo "           $0 --help fonts"
          exit 1
          ;;
      esac

    done


    # --- Check for mandatory parameters ---

    if [ -z "$input_video" ] || [ -z "$watermark_text" ]; then
      echo "Error: You must specify -i <input_video> and -label \"text\"."
      echo "Usage: $0 -i <input_video> -label \"text\" [options]"
      echo "           $0 --help fonts"
      exit 1
    fi


    # --- GraphicsMagick settings ---

    watermark_text_safe=$(echo "$watermark_text" | sed 's/ /_/g')
    watermark_image="watermark_${watermark_text_safe}_${selected_font}_${text_color}_${text_size}.png"
    font_file="$selected_font"
    shadow_color="#00000080" # Semi-transparent black

    shadow_offset="+2+2"
    wave_amplitude=5
    wave_length=20
    watermark_x_offset=0
    watermark_y_offset=0

    output_video="output_with_wm.mp4"

    echo "Input video file: $input_video"
    echo "Watermark text: $watermark_text"
    echo "Font: $selected_font"
    echo "Text color: $text_color"
    echo "Text size: $text_size"
    echo "Position (x, y): ($watermark_x, $watermark_y)"

    if [ $enable_shadow -eq 1 ]; then
      echo "Shadow enabled."
    fi

    if [ $enable_wave -eq 1 ]; then
      gm convert "$watermark_image" -bordercolor none -border 10x10 -wave "$wave_amplitude"x"$wave_length" -trim "$watermark_image"
      echo "Wave effect enabled."
    fi

    # --- 1. Generating the image with text and effects using GraphicsMagick ---
    echo "Generating image with text '$watermark_text' in font '$selected_font', color '$text_color', size '$text_size'..."

    text_image="text_$watermark_image"
    shadow_image="shadow_$watermark_image"
    final_image="$watermark_image"

    # Create image with main text
    gm convert -background none -font "$font_file" -pointsize "$text_size" -fill "$text_color" label:"$watermark_text" "$text_image"

    # Create shadow image (offset text)
    if [ $enable_shadow -eq 1 ]; then
      gm convert -background none -font "$font_file" -pointsize "$text_size" -fill "#00000080" label:"$watermark_text" -bordercolor none -border 5x5 "$shadow_image"

      gm composite -geometry "+12+12" "$text_image" "$shadow_image" "$final_image"
    else
      cp "$text_image" "$final_image"
    fi

    rm -f "$text_image" "$shadow_image"

    if [ $? -ne 0 ]; then
      echo "Error generating watermark image."
      exit 1
    fi

    if [ $enable_wave -eq 1 ]; then
      gm convert "$watermark_image" -bordercolor none -border 200x200 "$watermark_image"
      gm convert "$watermark_image" -wave "$wave_amplitude"x"$wave_length" "$watermark_image"
      gm convert "$watermark_image" -trim "$watermark_image"
    fi

    # Trim the final image
    gm convert "$final_image" -trim "$watermark_image"

    echo "Watermark image '$watermark_image' created."

    # --- 2. Adding the watermark to the video using FFmpeg ---
    echo "Adding watermark to video '$input_video'..."
    ffmpeg -i "$input_video" -i "$watermark_image" -filter_complex "overlay=x=$watermark_x:y=$watermark_y" -c:a copy "$output_video"


    if [ $? -ne 0 ]; then
      echo "Error adding watermark to video."
      rm -f "$watermark_image"
      exit 1
    fi

    echo "Watermark added. Output file: $output_video"
    rm -f "$watermark_image"


    echo "Script finished."


    exit 0


  • Якоб Ингерс
    12 мая 2025, 23:17 |

    The sample of my new script: 

    ./finale.ksh  -size 122  -i input.mp4 -label sdfds  -shadow -x 250 -y 250 -font Helvetica -wave -color white
    The result:

    image


    This is a shell script (.ksh) designed to add a text watermark to a video file. It utilizes two command-line tools:

    1. GraphicsMagick (gm convert, gm composite): Used to generate the watermark image with optional shadow and wave effects.
    2. FFmpeg (ffmpeg): Used to overlay the generated watermark image onto the input video.

    Key functionalities:

    • Takes input video and watermark text as mandatory arguments.
    • Offers several optional parameters:
      • -font: Specifies the font for the text watermark.
      • -color: Sets the color of the text.
      • -size: Controls the size of the text.
      • -shadow: Enables a shadow effect behind the text.
      • -wave: Applies a wave distortion effect to the text.
      • -x and -y: Define the position of the watermark on the video.
    • Lists available fonts using the --help fonts option.
    • Generates a PNG image of the text watermark (with shadow and wave if enabled) using GraphicsMagick.
    • Overlays the generated PNG image onto the input video using FFmpeg.
    • Outputs the watermarked video to a file named output_with_wm.mp4.
    • Handles errors such as missing mandatory arguments or failures in image generation or video processing.
    • Cleans up by removing the temporary watermark image file after processing.

    In essence, the script automates the process of creating a text-based watermark with optional visual enhancements and embedding it into a video file.


    #!/bin/ksh


    # --- Default parameters ---

    input_video=""
    watermark_text=""
    selected_font="Arial"
    text_color="white"
    text_size=50
    enable_shadow=0
    enable_wave=0
    watermark_x=10
    watermark_y=10


    # --- Function to list available fonts ---
    list_fonts() {
      echo "Avaiable Fonts:"
      fc-list | awk -F: '{print $1}' | sort -u
    }


    # --- Argument processing ---
    while [ $# -gt 0 ]; do
      case "$1" in
        -i)
          if [ $# -gt 1 ]; then
            input_video="$2"
            shift 2
          else
            echo "Error: Expected filename after -i."
            exit 1
          fi
          ;;
        -label)
          if [ $# -gt 1 ]; then
            watermark_text="$2"
            shift 2
          else
            echo "Error: Expected text after -label."
            exit 1
          fi
          ;;
        -font)
          if [ $# -gt 1 ]; then
            selected_font="$2"
            shift 2
          else
            echo "Error: Expected font name after -font."
            exit 1
          fi
          ;;
        -color)
          if [ $# -gt 1 ]; then
            text_color="$2"

            shift 2

          else

            echo "Error: Expected color after -color."

            exit 1

          fi

          ;;

        -size)

          if [ $# -gt 1 ]; then

            text_size="$2"

            shift 2

          else

            echo "Error: Expected size after -size."

            exit 1

          fi

          ;;

        -shadow)

          enable_shadow=1

          shift

          ;;

        -wave)

          enable_wave=1

          shift

          ;;

        -x)

          if [ $# -gt 1 ]; then

            watermark_x="$2"

            shift 2

          else

            echo "Error: Expected value after -x."

            exit 1

          fi

          ;;

        -y)

          if [ $# -gt 1 ]; then

            watermark_y="$2"

            shift 2

          else

            echo "Error: Expected value after -y."

            exit 1
          fi
          ;;

        --help)
          case "$2" in
            fonts)
              list_fonts
              exit 0
              ;;

            *)

              echo "Usage: $0 -i <input_video> -label \"text\" [options]"
              echo "Options: -font <font_name>, -color <color>, -size <size>, -shadow, -wave, -x <number>, -y <number>"
              echo "           $0 --help fonts"
              exit 0

              ;;
          esac
          exit 0
          ;;

        *)

          echo "Unknown parameter: '$1'"
          echo "Usage: $0 -i <input_video> -label \"text\" [options]"
          echo "           $0 --help fonts"
          exit 1
          ;;
      esac

    done


    # --- Check for mandatory parameters ---

    if [ -z "$input_video" ] || [ -z "$watermark_text" ]; then
      echo "Error: You must specify -i <input_video> and -label \"text\"."
      echo "Usage: $0 -i <input_video> -label \"text\" [options]"
      echo "           $0 --help fonts"
      exit 1
    fi


    # --- GraphicsMagick settings ---

    watermark_text_safe=$(echo "$watermark_text" | sed 's/ /_/g')
    watermark_image="watermark_${watermark_text_safe}_${selected_font}_${text_color}_${text_size}.png"
    font_file="$selected_font"
    shadow_color="#00000080" # Semi-transparent black

    shadow_offset="+2+2"
    wave_amplitude=5
    wave_length=20
    watermark_x_offset=0
    watermark_y_offset=0

    output_video="output_with_wm.mp4"

    echo "Input video file: $input_video"
    echo "Watermark text: $watermark_text"
    echo "Font: $selected_font"
    echo "Text color: $text_color"
    echo "Text size: $text_size"
    echo "Position (x, y): ($watermark_x, $watermark_y)"

    if [ $enable_shadow -eq 1 ]; then
      echo "Shadow enabled."
    fi

    if [ $enable_wave -eq 1 ]; then
      gm convert "$watermark_image" -bordercolor none -border 10x10 -wave "$wave_amplitude"x"$wave_length" -trim "$watermark_image"
      echo "Wave effect enabled."
    fi

    # --- 1. Generating the image with text and effects using GraphicsMagick ---
    echo "Generating image with text '$watermark_text' in font '$selected_font', color '$text_color', size '$text_size'..."

    text_image="text_$watermark_image"
    shadow_image="shadow_$watermark_image"
    final_image="$watermark_image"

    # Create image with main text
    gm convert -background none -font "$font_file" -pointsize "$text_size" -fill "$text_color" label:"$watermark_text" "$text_image"

    # Create shadow image (offset text)
    if [ $enable_shadow -eq 1 ]; then
      gm convert -background none -font "$font_file" -pointsize "$text_size" -fill "#00000080" label:"$watermark_text" -bordercolor none -border 5x5 "$shadow_image"

      gm composite -geometry "+12+12" "$text_image" "$shadow_image" "$final_image"
    else
      cp "$text_image" "$final_image"
    fi

    rm -f "$text_image" "$shadow_image"

    if [ $? -ne 0 ]; then
      echo "Error generating watermark image."
      exit 1
    fi

    if [ $enable_wave -eq 1 ]; then
      gm convert "$watermark_image" -bordercolor none -border 200x200 "$watermark_image"
      gm convert "$watermark_image" -wave "$wave_amplitude"x"$wave_length" "$watermark_image"
      gm convert "$watermark_image" -trim "$watermark_image"
    fi

    # Trim the final image
    gm convert "$final_image" -trim "$watermark_image"

    echo "Watermark image '$watermark_image' created."

    # --- 2. Adding the watermark to the video using FFmpeg ---
    echo "Adding watermark to video '$input_video'..."
    ffmpeg -i "$input_video" -i "$watermark_image" -filter_complex "overlay=x=$watermark_x:y=$watermark_y" -c:a copy "$output_video"


    if [ $? -ne 0 ]; then
      echo "Error adding watermark to video."
      rm -f "$watermark_image"
      exit 1
    fi

    echo "Watermark added. Output file: $output_video"
    rm -f "$watermark_image"


    echo "Script finished."


    exit 0


Актуальные фриланс-проекты в категории C и C++

Чёрная Украина (RP-проект на базе MTA)

51 525 UAH

Исправление ошибок различной сложности, как на изображениях. Корректировка навигации карты. Исправление дыр в карте, адаптация транспортных средств к проекту, удаление логотипов или их переписывание.

C и C++Python ∙ 20 часов 59 минут назад ∙ 11 ставок

Инженер по инфраструктуре резидентных прокси

Мы строим сеть резидентных прокси с нуля — полностью собственную, без сторонних поставщиков. Нам нужен один исключительный сетевой инженер для создания всей технической базы. Что вы будете строить: - Android SDK для фонового использования, который направляет прокси-трафик через…

C и C++DevOps ∙ 5 дней 5 часов назад ∙ 13 ставок

Добробка в существующей версии 1с розница блока для РЦ(распределительного центра)

В общем поясню, что у нас за база - есть общий сервер, где есть база Розница (где ставятся все приходы) - база УТП, куда переливаются все продажи - считается наценка, остатки по складам - маленькие базы розничных магазинов. По обменам у нас магазины обмениваются с базой Розница…

C и C++C# ∙ 5 дней 20 часов назад ∙ 6 ставок

ПО Мастер-программа «KONSTRUCTOR»

185 490 UAH

Мы ищем очень опытного C++ разработчика для модернизации существующего ПО (мастер-программы). Программа отвечает за создание производного ПО представляющего аудио-визуальные сеансы психологической коррекции. Текущая версия написана на чистом WinAPI (Visual Studio 2019/2022).…

C и C++Десктопные приложения ∙ 10 дней 23 часа назад ∙ 19 ставок

Написание кода для Arduino

Необходимо разработать программное обеспечение для весового дозатора на базе Arduino Uno. Комплектующие: Arduino Uno R3 HX711 + тензодатчик LCD1602 I2C дисплей MAX7219 светодиодная матрица 8x32 5 кнопок управления 4-канальное реле 2 сигнальные лампы Вибромагнит грубого…

C и C++Встраиваемые системы и микроконтроллеры ∙ 12 дней 7 часов назад ∙ 15 ставок

Заказчик
David Tourino TouxStudio
Испания Las Palmas  6  0
Проект опубликован
1 год назад
185 просмотров
Метки
  • ffmpeg
  • API
  • ЧатGPT