Có cách nào để thêm hiệu ứng mờ dần vào hiệu ứng đen mờ vào video, từ dòng lệnh không?


9

Tôi có một tập lệnh để mã hóa video (sử dụng mencoder), nhưng có một cách để thêm "fade out / in to black" đơn giản từ dòng lệnh, tốt nhất là miễn phí (như trong nguồn mở).

Nó có thể là trên Windows hoặc Ubuntu Linux.


1
Liệu mmsuper8 dường như công việc cho bạn? Vui lòng nêu hệ điều hành, v.v.
slhck

Lấy làm tiếc. Ubuntu hoặc bảy.
Manu

Đặt mmsuper8 làm câu trả lời của bạn, tôi sẽ bỏ phiếu cho bạn :)
Manu

Câu trả lời:


1

Điều duy nhất tôi có thể tìm thấy - dựa trên dòng lệnh - là mmsuper8, một công cụ Linux.

Cụ thể, nó có tính năng mmsuper8fadecông cụ, có vẻ như nó có thể hữu ích cho bạn.

Tốt nhất sẽ là nếu bạn chỉnh sửa câu hỏi này và cung cấp một ví dụ phù hợp với bạn!


14

Một ffmpeg gần đây với bộ lọc video 'fade' có thể làm điều này. Thật không may, ffmpeg trong repos Ubuntu không có bộ lọc được kích hoạt vì một số lý do vô ích, vì vậy bạn sẽ phải lấy nó từ một nơi khác (xem tại đây ).

Để mờ dần từ màu đen, bắt đầu từ khung 0, trên 50 khung hình (2 giây @ 25fps):

ffmpeg -i input.mp4 -filter:v 'fade=in:0:50' \
-c:v libx264 -crf 22 -preset veryfast -c:a copy output.mp4

Để làm mờ dần bắt đầu từ khung 21000 (14 phút @ 25 khung hình / giây), hơn 50 khung hình:

ffmpeg -i input.mp4 -filter:v 'fade=out:21000:50' \
-c:v libx264 -crf 22 -preset veryfast -c:a copy output.mp4

Bạn có thể kết hợp cả hai thành một bộ lọc:

ffmpeg -i input.mp4 -filter:v 'fade=in:0:50,fade=out:21000:50' \
-c:v libx264 -crf 22 -preset veryfast -c:a copy output.mp4

Như bạn có thể thấy từ các ví dụ này, bạn phải chuyển mã video khi sử dụng bộ lọc video. Do ffmpeg và mencoder chia sẻ nhiều thư viện, nên việc viết lại các tập lệnh của bạn để sử dụng ffmpeg thay vì mencoder khá dễ dàng và tránh việc mã hóa thêm không cần thiết. Tôi khá chắc chắn rằng bạn có thể đạt được điều tương tự trong mencoder, nhưng tôi không biết cú pháp mencoder.


6

Tôi có tập lệnh bash này để tự động làm mờ dần phần cuối của phim (âm thanh + video):

#!/bin/bash

# Audio + vidéo fade out at the end of mp4 files

# 2015-09-09 19:07:17.0 +0200 / Gilles Quenot

# length of the fade out
fade_duration=2 # seconds

if [[ ! $2 ]]; then
    cat<<EOF
Usage:
    ${0##*/} <input mp4> <output mp4>
EOF
    exit 1
fi

for x in bc awk ffprobe ffmpeg; do
    if ! type &>/dev/null $x; then
        echo >&2 "$x should be installed"
        ((err++))
    fi
done

((err > 0)) && exit 1

duration=$(ffprobe -select_streams v -show_streams "$1" 2>/dev/null |
    awk -F= '$1 == "duration"{print $2}')
final_cut=$(bc -l <<< "$duration - $fade_duration")
ffmpeg -i "$1" \
    -filter:v "fade=out:st=$final_cut:d=$fade_duration" \
    -af "afade=t=out:st=$final_cut:d=$fade_duration" \
    -c:v libx264 -crf 22 -preset veryfast -strict -2 "$2"

Sử dụng :

FadeOutMp4 <input mp4> <output mp4>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.