• С ключом -re можно выставить кодирование потоков в copy, вещание будет идти просто путем упаковки потока в пакеты.

  • Вариант для вещания M2TS H.264:

    ffmpeg -re -i 01.mkv -f mpegts -cluster_size_limit 2M -cluster_time_limit 5100 -content_type video/m2ts -c:a copy -c:v copy -deadline realtime icecast://source:hackme@10.8.0.2:9999/tv

    Работает нестабильно, так как GOPlen не выставлен в значение, необходимое для вещания.

  • Кодирование аудио с сохранением метаданных ID3:

    find . -name "*.flac" -exec ffmpeg -i {} -ab 160k -map_metadata 0 -id3v2_version 3 {}.mp3 \;

    https://stackoverflow.com/questions/26109837/convert-flac-to-mp3-with-ffmpeg-keeping-all-metadata

  • Кодирование из последовательности изображений:

    ffmpeg -framerate 30 -f image2 -pattern_type glob -i "./tmpfs/stage_*.png" -c:v h264_nvenc -b:v 1150k -tune animation -profile:v high -level:v 4.0 -f mp4 animated.mp4
  • Наложение изображения с прозрачностью и кроссфейдом

    ffmpeg -i $FILE -t 00:00:08.25 -framerate 30 -loop 1 -i $IMAGE -filter_complex "[1:v] fade=st=3:d=0.3:alpha=1, fade=out:st=7:d=1.3:alpha=1 [logo]; [0:v][logo] overlay=785:600" -y -f mp4 -c:v libx264 -b:v 9500k -profile:v high -level:v 4.1 $OUTPUT
  • Наложение видео, с одновременной подстройкой длительности (по коэффициенту PTS, при необходимости заменяется на PTS-STARTPTS, если подстройка не нужна)

    ffmpeg -i $INPUT_1 -i $INPUT_2 -filter_complex "[0:v]setpts=PTS*0.831081081[top];[1:v]setpts=PTS-STARTPTS,format=yuva420p,colorchannelmixer=aa=0.4[bottom];[top][bottom]overlay=shortest=1" -c:v h264_nvenc -profile:v high -level:v 4.1 -b:v 4800k -pix_fmt yuv420p -an -f mp4 $OUTPUT_FILE
  • Случай наложения с пре-ресайзом и постпроцессингом

    ffmpeg -i $VIDEO -loop 1 -i $LOGO -filter_complex "[0:v]scale=1920:1080, pp [frame]; [1:v] fade=st=2:d=1.3:alpha=1 [logo]; [frame][logo] overlay=1:1" -y -f mp4 -c:v h264_nvenc -b:v 2500k -profile:v high -c:a copy $OUTPUT
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment