-
С ключом
-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
Please register or sign in to comment