2011-11-02 43 views
5

Tôi đang sử dụng drawtextdrawbox avfilters trên FFmpeg, hai trong số các chức năng ghi nhận kém nhất đối với loài người.Drawtext, drawbox hoặc lớp phủ trên chỉ là một khung hình duy nhất sử dụng FFmpeg

Tôi đang đấu tranh để làm việc hiểu xem và làm thế nào tôi có thể sử dụng chúng trên chỉ là một khung duy nhất, tức là, drawtext vào frame 22.

lệnh hiện tại:

ffmpeg -i test.wmv -y -b 800k -f flv -vcodec libx264 -vpre default -s 768x432 \ 
    -g 250 -vf drawtext="fontfile=/home/Cyberbit.ttf:fontsize=24:text=testical:\ 
    fontcolor=green:x=100:y=200" -qscale 8 -acodec libfaac -sn -vstats out.flv 

Hai yếu tố nêu in the documentationnt. Tuy nhiên, tôi dường như chỉ có thể sử dụng chúng trong x và y. Không có trong văn bản hoặc thậm chí là các thông số khác.

Bất kỳ trợ giúp hoặc hướng dẫn FFmpeg nào cũng sẽ được nhận biết ơn.

+1

có thể trùng lặp của [ffmpeg drawbox trên một khung nhất định] (http://stackoverflow.com/questions/17339841/ffmpeg-drawbox-on-a-given-frame) – Jannes

Trả lời

3

Trong một ví dụ tuyệt vời của FFmpeg luôn giữ bạn trên ngón chân của bạn, điều này là tầm thường để làm với drawtext và cực kỳ đau đớn với drawbox.

Điều quan trọng là drawtext bao gồm các draw tham số:

vẽ
Đặt một biểu thức trong đó nêu rõ nếu văn bản nên được rút ra. Nếu biểu thức đánh giá là 0, văn bản sẽ không được vẽ. Điều này hữu ích khi chỉ định rằng văn bản sẽ chỉ được vẽ khi các điều kiện cụ thể được đáp ứng.

Vì vậy, để chỉ hiển thị văn bản trên khung 22:

ffmpeg -i in.wmv -vf drawtext="fontfile=font.ttf:text='blah':draw='eq(n,22)'" out.flv 

drawbox không có draw tham số, và không có cách nào nói chung bắt chước nó, vì vậy bạn đang trái làm một cái gì đó giống như giải nén phần của video mà bạn muốn đặt hộp trên và sau đó bao phủ nó với một offset:

ffmpeg -i in.wmv -t 1 -ss 10 -vf drawbox=10:10:20:20:red boxed.flv 
ffmpeg -i in.wmv -itsoffset 10 -i boxed.flv -filter_complex overlay out.flv 

(mặc dù điều này sẽ rời khỏi khung cuối cùng của boxed.flv nhìn thấy mãi mãi) hoặc phá vỡ dựng video thành nhiều phần, vẽ lên các phần thích hợp và sau đó kết hợp lại.

+3

drawbox (và drawtext) có khả năng chỉnh sửa video những những ngày cho phép bạn làm điều tương tự theo cách chung chung. http://stackoverflow.com/questions/17339841/ffmpeg-drawbox-on-a-given-frame – Jannes

Các vấn đề liên quan