簡體   English   中英

如何在ffmpeg中縮放疊加圖像

[英]How to scale overlay image in ffmpeg

如何在ffmpeg中縮小疊加圖像以scale=320:240 無論我在哪里嘗試放置縮放命令,我都無法得到結果。 這是我正在使用的命令,但它實際上是拉伸圖像:

ffmpeg -i video.mp4 -i image.jpg -b:v 1M -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2, drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: text='Test Text': x=1: y=1: fontsize=30" output.mp4

在過濾器鏈中,必須先單獨縮放圖像,然后執行疊加。 只需在[1:v]scale=320:240 [ovrl],[0:v][ovrl] 最后的命令行(拆分為多行以提高可讀性):

ffmpeg -i video.mp4 -i image.jpg -b:v 1M \
-filter_complex "[1:v]scale=320:240 [ovrl], \
[0:v][ovrl]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2, \
drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: \
text='Test Text': x=1: y=1: fontsize=30" output.mp4

但是,如果您的視頻是變形的 (存儲寬高比(SAR)與顯示寬高比(DAR)不同,主要用於電視廣播),則視頻會在播放時調整大小(拉伸)。 當然,疊加的圖像也會被拉伸,因為它是視頻的一部分。
例如,PAL SD廣播(存儲在720x576像素,SAR = 5:4)通常使用16:9 DAR顯示,因此在播放到1024x576時將調整大小以保持DAR。 因此,如果您在此類視頻上疊加320x240圖像,則其顯示尺寸將為455x240,並且看起來會拉伸。

如果您需要保留疊加圖像(4:3)的寬高比,則需要考慮視頻的SAR和DAR,並計算正確的尺寸以調整圖像的疊加大小。 如果您知道視頻的SAR和DAR,則可以使用此公式計算正確的寬度以調整疊加圖像的大小(假設高度保持在240): width = 320 * SAR / DAR

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM