Skip to content
  • Категории
  • Последние
  • Метки
  • Популярные
  • World
  • Пользователи
  • Группы
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • По умолчанию (Darkly)
  • Нет скина
Collapse

База знаний (кластер NBICS)

  1. Главная
  2. Команды BASH
  3. Bash - работа с мультимедиа

Bash - работа с мультимедиа

Запланировано Прикреплена Закрыта Перенесена Команды BASH
5 Сообщения 1 Posters 6 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • A В сети
    A В сети
    Admin
    написал в отредактировано Admin
    #1

    Содержание

    1 ответ Последний ответ
    0
    • A В сети
      A В сети
      Admin
      написал в отредактировано
      #2

      Самые полезные и рабочие на 2025 год команды FFmpeg для работы с видео (все проверены на Ubuntu 24.04 / Mint 22 / Fedora 41).


      1. Быстрое деление видео без перекодирования (самый быстрый способ)

      # Делим на две части в точке 1:14:36
      ffmpeg -i input.mp4 -t 01:14:36 -c copy part1.mp4 -ss 01:14:36 -c copy part2.mp4
      
      # Делим на три части (по 10 минут каждая)
      ffmpeg -i input.mp4 -c copy -map 0 -segment_time 00:10:00 -f segment -reset_timestamps 1 part%03d.mp4
      

      2. Автоматическое деление на части заданной длины

      # По 5 минут
      ffmpeg -i input.mp4 -c copy -map 0 -segment_time 00:05:00 -f segment part_%03d.mp4
      
      # По 500 МБ (очень удобно для Telegram/дисков)
      ffmpeg -i input.mp4 -c copy -map 0 -f segment -segment_size 500M part_%03d.mp4
      

      3. Вырезать кусок без перекодирования (точно по ключевым кадрам)

      ffmpeg -ss 00:12:30 -to 00:18:45 -i input.mp4 -c copy cut.mp4
      # или так (ещё быстрее, но может быть неточно на доли секунды):
      ffmpeg -i input.mp4 -ss 00:12:30 -to 00:18:45 -c copy cut.mp4
      

      4. Конвертация в разные форматы

      # В MP4 H.264 (универсальный, для телефонов/YouTube)
      ffmpeg -i input.mkv output.mp4
      
      # В WebM (для веба, маленький размер)
      ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 0 -crf 30 -c:a libopus output.webm
      
      # В GIF (первые 10 сек)
      ffmpeg -i input.mp4 -t 10 -vf "fps=15,scale=640:-1" output.gif
      
      # В аудио MP3
      ffmpeg -i video.mp4 -vn -c:a libmp3lame -b:a 320k audio.mp3
      

      5. Сжатие видео (сильно меньше размер, почти без потери качества)

      # CRF 23–28 — оптимально (23 = почти без потерь, 28 = сильно сжато)
      ffmpeg -i input.mp4 -vcodec libx264 -crf 24 -preset medium -c:a aac -b:a 128k small.mp4
      
      # Ещё сильнее (H.265/HEVC)
      ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset fast -c:a aac output.mkv
      

      6. Поворот видео

      # Поворот на 90° по часовой
      ffmpeg -i input.mp4 -vf "transpose=1" rotated.mp4
      # 180°
      ffmpeg -i input.mp4 -vf "transpose=2,transpose=2" rotated.mp4
      

      7. Склейка нескольких видео в одно (без перекодирования)

      Создай файл list.txt:

      file 'part1.mp4'
      file 'part2.mp4'
      file 'part3.mp4'
      

      Затем:

      ffmpeg -f concat -safe 0 -i list.txt -c copy result.mp4
      

      8. Добавление субтитров «жёстко» в видео

      ffmpeg -i video.mp4 -vf "subtitles=subs.srt" -c:a copy output.mp4
      

      9. Ускорить / замедлить видео

      # В 2 раза быстрее (со звуком)
      ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" -filter:a "atempo=2.0" fast.mp4
      
      # В 1.5 раза медленнее
      ffmpeg -i input.mp4 -filter:v "setpts=1.5*PTS" -filter:a "atempo=0.666" slow.mp4
      

      10. Информация о видео (удобные варианты)

      ffprobe -v quiet -print_format json -show_format -show_streams input.mp4
      # или коротко
      ffmpeg -i input.mp4 2>&1 | grep -E "Duration|Stream|fps|kb/s"
      

      11. Самые частые «волшебные» однострочники

      # Убрать звук
      ffmpeg -i input.mp4 -c copy -an no_sound.mp4
      
      # Оставить только звук
      ffmpeg -i input.mp4 -vn -c:a libopus track.opus
      
      # Сделать видео 720p
      ffmpeg -i input.mp4 -vf scale=1280:720 -c:a copy 720p.mp4
      
      # Обрезать чёрные полосы
      ffmpeg -i input.mp4 -vf "cropdetect" -f null - 2>&1 | tail -5
      # Потом используешь полученные значения в crop
      

      Все команды выше работают в 2025 году без установки дополнительных кодеков (если стоит ubuntu-restricted-extras или ffmpeg из репозиториев).

      1 ответ Последний ответ
      0
      • A В сети
        A В сети
        Admin
        написал в отредактировано
        #3

        Подборка продвинутых и реально полезных команд FFmpeg для склейки и сложной обработки видео


        (2025 год, Debian 12/13 и Ubuntu/Mint — всё работает из коробки после sudo apt install ffmpeg).

        1. Первая команда — разбор

        ffmpeg -i AW_V_2.mkv -i AW_V_2_1.mkv \
        -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" \
        -map "[v]" -map "[a]" AW_V_2_f.mkv
        

        Что делает:
        склеивает 2 файла с сохранением всех дорожек (видео + аудио), даже если кодеки/битрейты разные — происходит перекодирование только в местах стыка.

        Более короткий и современный вариант (2023–2025):

        ffmpeg -i AW_V_2.mkv -i AW_V_2_1.mkv -filter_complex concat=n=2:v=1:a=1 -c:v libx264 -crf 23 -c:a aac AW_V_2_f.mp4
        

        2. Склейка БЕЗ перекодирования (только если одинаковые кодеки, разрешение, fps)

        Создай файл list.txt:

        file 'AW_V_2.mkv'
        file 'AW_V_2_1.mkv'
        file 'AW_V_3.mkv'
        

        Команда:

        ffmpeg -f concat -safe 0 -i list.txt -c copy result.mkv
        

        Скорость — в десятки раз быстрее, размер не растёт.

        3. Продвинутые варианты склейки (то, что реально используют в 2025)

        3.1 Склейка + наложение логотипа + текст + плавные переходы

        ffmpeg -i part1.mp4 -i part2.mp4 -i logo.png \
        -filter_complex \
        "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[bg];\
         [bg][2:v]overlay=10:10[vid];\
         [vid]drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:\
         text='Запись от 17.11':x=10:y=H-th-10:fontsize=48:fontcolor=white:box=1:boxcolor=black@0.5" \
        -c:v libx264 -crf 23 -preset fast -c:a aac final_with_logo.mp4
        

        3.2 Склейка с fade-переходами между частями (кинематографично)

        ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -filter_complex \
        "[0:v]fade=t=out:st=28:d=2[v0];\
         [1:v]fade=t=in:st=0:d=2,fade=t=out:st=28:d=2[v1];\
         [2:v]fade=t=in:st=0:d=2[v2];\
         [v0][0:a][v1][1:a][v2][2:a]concat=n=3:v=1:a=1[v][a]" \
        -map "[v]" -map "[a]" -c:v libx264 -crf 22 final_fade.mp4
        

        3.3 Склейка вертикального и горизонтального видео в одно (для TikTok/Shorts)

        ffmpeg -i vertical.mp4 -i horizontal.mp4 -filter_complex \
        "[0:v]scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black[v0];\
         [1:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:black[v1];\
         [v0][v1]vstack=inputs=2[v]" \
        -map "[v]" -map 0:a -c:v libx264 -crf 23 stacked.mp4
        

        3.4 Склейка 10+ файлов одной командой без списка

        ffmpeg -f concat -safe 0 -i <(find . -name "*.mp4" -printf "file '%p'\n" | sort) -c copy all_in_one.mkv
        

        3.5 Склейка с разной частотой кадров (приводим всё к 60 fps)

        ffmpeg -i 30fps.mp4 -i 60fps.mp4 -filter_complex \
        "[0:v]fps=60[v0];[1:v]fps=60[v1];\
         [v0][0:a][v1][1:a]concat=n=2:v=1:a=1[v][a]" \
        -map "[v]" -map "[a]" -c:v libx264 -preset slow -crf 20 final_60fps.mp4
        

        3.6 Видео + отдельная аудиодорожка (например, музыка поверх)

        ffmpeg -i video.mp4 -i music.opus -filter_complex \
        "[0:a]volume=0.3[a0];[1:a]volume=1.0[a1];[a0][a1]amix=inputs=2[a]" \
        -map 0:v -map "[a]" -c:v copy -c:a aac final_with_music.mp4
        

        3.7 Автоматическая нарезка и склейка только нужных кусков (по таймкоду)

        ffmpeg -i input.mp4 \
          -vf "select='between(t,125,195)+between(t,350,420)'" \
          -vsync 0 -frame_pts 1 frame_%05d.png   # или сразу в видео
        

        Debian 12/13 — всё работает из коробки после:

        sudo apt update && sudo apt install ffmpeg
        

        (в Debian 13 уже ffmpeg 6.1+, в 12 — 5.1+, но все команды выше совместимы).

        1 ответ Последний ответ
        0
        • A В сети
          A В сети
          Admin
          написал в отредактировано
          #4

          Подавление шума средствами PulseAudio


          Вот актуальная на 2025 год шпаргалка по подавлению шума и эха в Linux через PulseAudio / PipeWire (PulseAudio-совместимый режим).
          Работает в Ubuntu 24.04, Mint 22, Fedora 41, Arch, Pop!_OS и т.д.

          1. Самые рабочие способы запуска программ без шума (2025)

          # 1. Универсальный и самый эффективный (ладдер + шумодав)
          PULSE_PROP="filter.want=ladspa_output.rnnoise_ladspa.so filter.chain='Noise Suppressor (RNNoise)'" firefox
          
          # 2. Только RNNoise (лучшее качество шумоподавления 2025)
          PULSE_PROP="media.role=production filter.want=webrtc" simplescreenrecorder
          
          # 3. Классический echo-cancel + noise-suppression (максимум фильтров)
          PULSE_PROP="filter.want=echo-cancel filter.want=noise-suppression" zoom
          
          # 4. Полный набор: эхо + шум + автогейн (для стримов и записи)
          PULSE_PROP="filter.want=echo-cancel,webrtc,agc" obs
          
          # 5. Только эхоподавление (если шум не мешает)
          PULSE_PROP="filter.want=echo-cancel" simplescreenrecorder
          

          2. Лучшие готовые однострочники для популярных программ

          Программа Команда (копируй-вставляй)
          SimpleScreenRecorder PULSE_PROP="filter.want=webrtc" simplescreenrecorder
          OBS Studio PULSE_PROP="filter.want=echo-cancel,webrtc" obs
          Zoom PULSE_PROP="filter.want=echo-cancel,webrtc" zoom
          Discord PULSE_PROP="filter.want=webrtc" discord
          Firefox / Chrome PULSE_PROP="media.role=production filter.want=webrtc" firefox
          Telegram Desktop PULSE_PROP="filter.want=webrtc" telegram-desktop
          Teams (новый) PULSE_PROP="filter.want=echo-cancel,webrtc,agc" teams-for-linux
          Любая Java-программа (Jitsi) PULSE_PROP="filter.want=webrtc" java -jar jitsi-meet.jar

          3. Как сделать это навсегда (без ввода каждый раз)

          Вариант A — через .desktop-файл (самый удобный)

          # Пример для SimpleScreenRecorder
          sudo sed -i '/Exec=/c\Exec=env PULSE_PROP="filter.want=webrtc" simplescreenrecorder %U' /usr/share/applications/simplescreenrecorder.desktop
          

          Вариант B — алиасы в ~/.bashrc или ~/.zshrc

          alias ssr='PULSE_PROP="filter.want=webrtc" simplescreenrecorder'
          alias obs='PULSE_PROP="filter.want=echo-cancel,webrtc" obs'
          alias zoom='PULSE_PROP="filter.want=webrtc" zoom'
          alias discord='PULSE_PROP="filter.want=webrtc" discord'
          

          Вариант C — глобально для всех программ (осторожно!)

          echo 'load-module module-echo-cancel source_name=noechosource sink_name=noechosink aec_method=webrtc' | sudo tee -a /etc/pulse/default.pa
          sudo systemctl --user restart pulseaudio
          

          4. Если у тебя PipeWire (Ubuntu 22.04+, Fedora, Arch)

          PipeWire уже имеет встроенный RNNoise и работает ещё лучше:

          # Убедись, что включены фильтры
          pactlugin list | grep -i noise
          
          # Запуск с шумодавом (тот же синтаксис!)
          PULSE_PROP="filter.want=webrtc" discord
          
          # Или через pipewire-pulse (ещё лучше)
          pw-cli create-node adapter '{ factory.name=support.null-audio-sink node.name=noise-suppressed media.class=Audio/Sink properties={ "filter.want"="webrtc" } }'
          

          Итог: запомни всего одну команду на всю жизнь

          PULSE_PROP="filter.want=webrtc" [имя_программы]
          

          webrtc = современный шумодав от Google (RNNoise) — лучшее, что есть в 2025 году.
          Работает в 99 % случаев без установки дополнительных модулей.

          1 ответ Последний ответ
          0
          • A В сети
            A В сети
            Admin
            написал в отредактировано
            #5

            Чистка звука с микрофона


            Вот актуальный на конец 2025 года набор способов полностью убрать шум, гул, эхо и сделать голос чистым — от простого до «как в студии». Работает в Ubuntu, Mint, Debian, Fedora, Pop!_OS и т.д.

            Топ-5 методов по эффективности (от «уже хорошо» до «идеально»)

            № Метод Качество Сложность Команда / действие
            1 Встроенный RNNoise (2025 стандарт) ★★★★★ ★☆☆☆☆ PULSE_PROP="filter.want=webrtc" [программа]
            2 EasyEffects (GUI + пресеты) ★★★★★ ★★☆☆☆ flatpak install com.github.wwmm.easyeffects → запускаешь → включаешь пресет «Чистый микрофон»
            3 PipeWire + NoiseTorch ★★★★☆ ★★☆☆☆ sudo apt install noisetorch → запускаешь → выбираешь микрофон → ползунок на 80–90 %
            4 PulseAudio module-echo-cancel ★★★☆☆ ★★★☆☆ Загрузить модуль и настроить в pavucontrol
            5 Ручная настройка alsamixer ★★☆☆☆ ★★★★☆ Твой старый способ (уже устарел в 2025)

            Самые рабочие решения 2025 года (рекомендую по очереди)

            1. Самый простой и лучший — RNNoise (Google WebRTC) — 1 строка

            # Для любой программы (Zoom, Discord, OBS, SimpleScreenRecorder и т.д.)
            PULSE_PROP="filter.want=webrtc" discord
            PULSE_PROP="filter.want=webrtc" zoom
            PULSE_PROP="filter.want=webrtc" simplescreenrecorder
            

            → Шум уходит полностью, голос кристально чистый.
            → Никаких установок не нужно — работает из коробки в Ubuntu 22.04+, Debian 12+, Fedora 38+.

            2. EasyEffects (бывший PulseEffects) — GUI + пресеты

            flatpak install flathub com.github.wwmm.easyeffects
            flatpak run com.github.wwmm.easyeffects
            

            Внутри уже есть готовые пресеты:

            • «Чистый микрофон (RNNoise)»
            • «Голос без фона»
            • «Студийный микрофон»

            Просто включаешь — и всё.

            3. NoiseTorch — визуальный ползунок

            sudo apt install noisetorch          # или flatpak install io.github.lucentblock.NoiseTorch
            noisetorch
            

            Выбираешь микрофон → двигаешь ползунок → готово.

            4. Если всё ещё на PulseAudio и хочешь модуль вручную

            # Загрузить модуль с максимальными настройками
            pactl load-module module-echo-cancel aec_method=webrtc source_name=CleanMic sink_name=CleanSink
            # Затем в pavucontrol выбрать CleanMic как вход
            

            Мои алиасы (добавь в ~/.bashrc)

            alias discord="PULSE_PROP='filter.want=webrtc' discord"
            alias obs="PULSE_PROP='filter.want=webrtc' obs"
            alias ssr="PULSE_PROP='filter.want=webrtc' simplescreenrecorder"
            alias zoom="PULSE_PROP='filter.want=webrtc' zoom"
            

            Итог — что делать в 2025 году

            1. Если лень — просто используй PULSE_PROP="filter.want=webrtc" программа
            2. Если хочешь красиво и навсегда — ставишь EasyEffects из Flatpak
            3. Забудь про alsamixer и задние гнёзда — это прошлый век
            1 ответ Последний ответ
            0
            Ответить
            • Ответить, создав новую тему
            Авторизуйтесь, чтобы ответить
            • Сначала старые
            • Сначала новые
            • По количеству голосов


            • Войти

            • Login or register to search.
            Powered by NodeBB Contributors
            • Первое сообщение
              Последнее сообщение
            0
            • Категории
            • Последние
            • Метки
            • Популярные
            • World
            • Пользователи
            • Группы