国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FFMPEG命令生成各國(guó)國(guó)旗

這篇具有很好參考價(jià)值的文章主要介紹了FFMPEG命令生成各國(guó)國(guó)旗。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

亞洲篇

中國(guó)

先畫(huà)個(gè)五角星

  1. 在100x100的畫(huà)布P1中,先畫(huà)一個(gè)三角形M
    ffplay -f lavfi -i color=ffffff00:100x100[white];[white]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),0)'
  2. 此三角形M水平鏡像后得到M1, M1與M水平方向并列排布,得到200x100的畫(huà)布P2,內(nèi)部為等腰三角形,三角形包含了向上方向的三角形
    ffplay -f lavfi -i color=ffffff00:100x100[white];[white]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),0)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2
  3. 針對(duì)200x100的畫(huà)布P2,底部再填充200x100的白色,變?yōu)?200x200的畫(huà)布P3,此時(shí)等腰三角形在畫(huà)布上半部,注意使用colorkey filter將背景白色摳圖為透明色
    ffplay -f lavfi -i color=ffffff00:100x100[white];[white]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),0)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:ffffff00[T];[T]colorkey=white
  4. 畫(huà)布P3,一分為五,分布旋轉(zhuǎn)0/72/144/216/288度,得到五個(gè)方向的三角形,overly排布后即可.
    ffplay -f lavfi -i color=ffffff00:100x100[white];[white]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),0)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:ffffff00[T];[T]colorkey=white[RAW];[RAW]split=5[T1][T2][T3][T4][T5];[T2]rotate=a=(72*PI/180):c=ffffff00[R2];[T3]rotate=a=(144*PI/180):c=ffffff00[R3];[T4]rotate=a=(216*PI/180):c=ffffff00[R4];[T5]rotate=a=(288*PI/180):c=ffffff00[R5];[R2][R3]overlay[U1];[R4][R5]overlay[U2];[U1][U2]overlay[V1];[V1][T1]overlay
  5. 由于三角形的邊緣的顏色,旋轉(zhuǎn)之后會(huì)導(dǎo)致一些邊緣出現(xiàn)在五角星內(nèi)部,故要除去此邊緣,
    ffplay -f lavfi -i color=ffffff00:100x100[white];[white]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),0)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:ffffff00[T];[T]colorkey=white[RAW];[RAW]split=5[T1][T2][T3][T4][T5];[T2]rotate=a=(72*PI/180):c=ffffff00[R2];[T3]rotate=a=(144*PI/180):c=ffffff00[R3];[T4]rotate=a=(216*PI/180):c=ffffff00[R4];[T5]rotate=a=(288*PI/180):c=ffffff00[R5];[R2][R3]overlay[U1];[R4][R5]overlay[U2];[U1][U2]overlay[V1];[V1][T1]overlay[star];[star]geq=r='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),r(X,Y),255)':g='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),g(X,Y),255)':b='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),b(X,Y),0)'
    畫(huà)圖命令為:
    ffmpeg -f lavfi -i color=ffffff00:100x100[white];[white]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),0)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:ffffff00[T];[T]colorkey=white[RAW];[RAW]split=5[T1][T2][T3][T4][T5];[T2]rotate=a=(72*PI/180):c=ffffff00[R2];[T3]rotate=a=(144*PI/180):c=ffffff00[R3];[T4]rotate=a=(216*PI/180):c=ffffff00[R4];[T5]rotate=a=(288*PI/180):c=ffffff00[R5];[R2][R3]overlay[U1];[R4][R5]overlay[U2];[U1][U2]overlay[V1];[V1][T1]overlay[star];[star]geq=r='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),r(X,Y),255)':g='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),g(X,Y),255)':b='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),b(X,Y),0) -frames:v 1 -y five_pointed_star.png
    FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg
    OK,再來(lái)看下維基百科上中國(guó)國(guó)旗的繪畫(huà)方法
    FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg
    其中紅色色號(hào)為 #ee1c25, 黃色色號(hào)為 #ffff00,其中的尺寸特征
  • 寬高為3000x2000,
  • 大五角星的外圓半徑為300,疊加坐標(biāo)為(200, 200),小五角星的外圓半徑為100,疊加坐標(biāo)分別為(900, 100), (1100, 300) (1100, 600),(900, 800)
  • 四顆小五角星的旋轉(zhuǎn)角度分別為逆時(shí)針 90+arctan(3/5), 90+arctan(1/7), 90+arctan(7/2), 90+arctan(5/4)
  • OK, 開(kāi)始繪畫(huà)
  1. 繪制透明的大五角星
    ffmpeg -f lavfi -i color=white:300x300[white];[white]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),0)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:white[T];[T]colorkey=white[RAW];[RAW]split=5[T1][T2][T3][T4][T5];[T2]rotate=a=(72*PI/180):c=white[R2];[T3]rotate=a=(144*PI/180):c=white[R3];[T4]rotate=a=(216*PI/180):c=white[R4];[T5]rotate=a=(288*PI/180):c=white[R5];[R2][R3]overlay[U1];[R4][R5]overlay[U2];[U1][U2]overlay[V1];[V1][T1]overlay[star];[star]geq=r='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),r(X,Y),255)':g='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),g(X,Y),255)':b='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),b(X,Y),0)'[s1];[s1]colorkey=white:0.35 -frames:v 1 -y big_star.png
  • 繪制小的五角星,無(wú)須透明
    ffmpeg -f lavfi -i color=white:100x100[white];[white]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),0)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:white[T];[T]colorkey=white[RAW];[RAW]split=5[T1][T2][T3][T4][T5];[T2]rotate=a=(72*PI/180):c=white[R2];[T3]rotate=a=(144*PI/180):c=white[R3];[T4]rotate=a=(216*PI/180):c=white[R4];[T5]rotate=a=(288*PI/180):c=white[R5];[R2][R3]overlay[U1];[R4][R5]overlay[U2];[U1][U2]overlay[V1];[V1][T1]overlay[star];[star]geq=r='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),r(X,Y),255)':g='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),g(X,Y),255)':b='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),b(X,Y),0) -frames:v 1 -y small_star.png
    分別對(duì)小五角星旋轉(zhuǎn)處理對(duì)應(yīng)的角度,并透明化背景得到1,2, 3,4 小五角星
    ffmpeg -i small_star.png -vf rotate=a=(3*PI/2-atan(3/5)):fillcolor=white[s1];[s1]colorkey=white:0.35 -frames:v 1 -y small_star_1.png
    ffmpeg -i small_star.png -vf rotate=a=(3*PI/2-atan(1/7)):fillcolor=white[s1];[s1]colorkey=white:0.35 -frames:v 1 -y small_star_2.png
    ffmpeg -i small_star.png -vf rotate=a=(-atan(7/2)):fillcolor=white[s1];[s1]colorkey=white:0.35 -frames:v 1 -y small_star_3.png
    ffmpeg -i small_star.png -vf rotate=a=(-atan(5/4)):fillcolor=white[s1];[s1]colorkey=white:0.35 -frames:v 1 -y small_star_4.png
    OK,至此完成了準(zhǔn)備工作,接下來(lái)創(chuàng)建背景圖像,并將大五角星和四顆小五角星分別overlay疊加到紅色背景的指定位置即可
    ffmpeg -i big_star.png -i small_star_1.png -i small_star_2.png -i small_star_3.png -i small_star_4.png -filter_complex color=ee1c25:3000x2000[bg];[bg][0:v]overlay=200:200[bg1];[bg1][1:v]overlay=900:100[bg2];[bg2][2:v]overlay=1100:300[bg3];[bg3][3:v]overlay=1100:600[bg4];[bg4][4:v]overlay=900:800 -frames:v 1 -y China_Flag.png

大功告成,China_Flag.png 如下圖所示
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg

朝鮮

參考中國(guó)國(guó)旗章節(jié),先畫(huà)一個(gè)半徑為155的白底紅色五角星
ffmpeg -f lavfi -i color=white:155x155[white];[white]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),0)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),0)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:ffffff00[T];[T]colorkey=white[RAW];[RAW]split=5[T1][T2][T3][T4][T5];[T2]rotate=a=(72*PI/180):c=ffffff00[R2];[T3]rotate=a=(144*PI/180):c=ffffff00[R3];[T4]rotate=a=(216*PI/180):c=ffffff00[R4];[T5]rotate=a=(288*PI/180):c=ffffff00[R5];[R2][R3]overlay[U1];[R4][R5]overlay[U2];[U1][U2]overlay[V1];[V1][T1]overlay[star];[star]geq=r='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),r(X,Y),255)':g='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),g(X,Y),0)':b='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),b(X,Y),0)' -frames:v 1 -y star.png
再畫(huà)對(duì)應(yīng)的背景圖案
ffmpeg -f lavfi -i color=red:1440x440[red];color=blue:1440x120[blue];[blue]split=2[b1][b2];color=white:1440x20[w0];[w0]split=2[w1][w2];[red]geq=r='if(gt((X-W/3)*(X-W/3)+(Y-H/2)*(Y-H/2),W*W/81),r(X,Y),255)':g='if(gt((X-W/3)*(X-W/3)+(Y-H/2)*(Y-H/2),W*W/81),g(X,Y),255)':b='if(gt((X-W/3)*(X-W/3)+(Y-H/2)*(Y-H/2),W*W/81),b(X,Y),255)'[r1];[b1][w1][r1][w2][b2]vstack=5 -frames:v 1 -y bg.png
再將五角星透明化,并和背景圖案overlay疊加,可得朝鮮國(guó)旗
ffmpeg -i star.png -i bg.png -filter_complex [0:v]colorkey=white:0.3[star2];[1:v][star2]overlay=W*325/1440:H*205/720 -frames:v 1 -y north_Korea_flag.png
維基百科草圖與north_Korea_flag.png 如下:
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg

由于此命令過(guò)長(zhǎng),無(wú)法將五角星等命令放置于一條命令中,可能我當(dāng)前ffmpeg的版本無(wú)法解析過(guò)長(zhǎng)的filter命令,故此國(guó)旗的制作方法拆成了三條命令

韓國(guó)

維基百科草圖如下
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg
其中白色為 #FFFFFF, 紅色為 #CD2E3A, 藍(lán)色為#0047A0, 黑色為#000000
基本思路為先在水平位置上繪制 乾卦(左上角)和坤卦(右下角),以及中心圓,隨后順時(shí)針旋轉(zhuǎn) atan(2/3)度即可
再水平方向上畫(huà)出離卦(左下角)和坎卦(右上角),隨后逆時(shí)針旋轉(zhuǎn)atan(2/3),
最后二者疊加即可
先做乾坤離坎四卦和中心圓(未旋轉(zhuǎn))
ffmpeg -f lavfi -i color=black:20x120[black];[black]split=3[b1][b2][b3];color=white:10x120[white];[white]split=2[w1][w2];[b1][w1][b2][w2][b3]hstack=5 -frames:v 1 -y Qian.png
ffmpeg -i Qian.png -vf color=white:80x10[white_strip];[0:v][white_strip]overlay=0:(11*H/24) -frames:v 1 -y Kun.png
ffmpeg -i Qian.png -vf color=white:20x10[white_strip];[0:v][white_strip]overlay=(3*W/8):(11*H/24) -frames:v 1 -y Li.png
ffmpeg -i Kun.png -vf color=black:20x10[black_strip];[0:v][black_strip]overlay=(3*W/8):(11*H/24) -frames:v 1 -y Kai.png
ffmpeg -f lavfi -i color=white:720x480[bg];[bg]geq=r='if(lt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),H*H/16),if(lt(Y,H/2),0xcd,0),r(X,Y))':g='if(lt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),H*H/16),if(lt(Y,H/2),0x2e,0x47),g(X,Y))':b='if(lt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),H*H/16),if(lt(Y,H/2),0x3a,0xa0),b(X,Y))'[c1];[c1]geq=r='if(lt((X-5*W/12)*(X-5*W/12)+(Y-H/2)*(Y-H/2),H*H/64),0xcd,r(X,Y))':g='if(lt((X-5*W/12)*(X-5*W/12)+(Y-H/2)*(Y-H/2),H*H/64),0x2e,g(X,Y))':b='if(lt((X-5*W/12)*(X-5*W/12)+(Y-H/2)*(Y-H/2),H*H/64),0x3a,b(X,Y))'[c2];[c2]geq=r='if(lt((X-7*W/12)*(X-7*W/12)+(Y-H/2)*(Y-H/2),H*H/64),0,r(X,Y))':g='if(lt((X-7*W/12)*(X-7*W/12)+(Y-H/2)*(Y-H/2),H*H/64),0x47,g(X,Y))':b='if(lt((X-7*W/12)*(X-7*W/12)+(Y-H/2)*(Y-H/2),H*H/64),0xa0,b(X,Y))' -frames:v 1 -y circle.png
之后將中心圓與乾坤卦疊加,并順時(shí)針旋轉(zhuǎn)atan(2/3)度
ffmpeg -i circle.png -i Qian.png -i Kun.png -filter_complex [0:v][1:v]overlay=(10*W/72):(3*H/8)[bg1];[bg1][2:v]overlay=(54*W/72):(3*H/8)[bg2];[bg2]rotate=a=atan(2/3):fillcolor=white -frames:v 1 -y base_1.png
之后將離坎卦疊加到一起并逆時(shí)針旋轉(zhuǎn)atan(2/3)度,并透明后
ffmpeg -i Li.png -i Kai.png -filter_complex color=white:720x480[bg];[bg][0:v]overlay=(10*W/72):(3*H/8)[bg1];[bg1][1:v]overlay=(54*W/72):(3*H/8)[bg2];[bg2]rotate=a=(2*PI-atan(2/3)):fillcolor=white[bg3];[bg3]colorkey=white:0.35 -frames:v 1 -y base_2.png
最后將base_1.png與base_2.png疊加到一塊即可
ffmpeg -i base_1.png -i base_2.png -filter_complex [0:v][1:v]overlay -frames:v 1 -y South_Korea_Flag.png
最終South_Korea_Flag.png的效果如下:
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg

蒙古~待補(bǔ)充

日本

預(yù)覽
ffplay -f lavfi -i color=white:900x600[white];[white]geq=g='if(lte((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),(H*3/10)*(H*3/10)),0,255)':b='if(lte((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),(H*3/10)*(H*3/10)),0,255)'
生成
ffmpeg -f lavfi -i color=white:900x600[white];[white]geq=g='if(lte((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),(H*3/10)*(H*3/10)),0,255)':b='if(lte((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),(H*3/10)*(H*3/10)),0,255)' -frames:v 1 Japan_flag.jpg
僅供技術(shù)交流,不代表任何意識(shí)形態(tài)
說(shuō)明
日本國(guó)旗寬高比為3:2,中心圓的直徑為高的3/5

越南

參考中國(guó)國(guó)旗的五角星一節(jié),先畫(huà)一個(gè)外圓半徑為 600 的五角星(只需改color filter內(nèi)部的寬高參數(shù)即可)
ffplay -f lavfi -i color=ffffff00:600x600[white];[white]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),0)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:ffffff00[T];[T]colorkey=white[RAW];[RAW]split=5[T1][T2][T3][T4][T5];[T2]rotate=a=(72*PI/180):c=ffffff00[R2];[T3]rotate=a=(144*PI/180):c=ffffff00[R3];[T4]rotate=a=(216*PI/180):c=ffffff00[R4];[T5]rotate=a=(288*PI/180):c=ffffff00[R5];[R2][R3]overlay[U1];[R4][R5]overlay[U2];[U1][U2]overlay[V1];[V1][T1]overlay[star];[star]geq=r='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),r(X,Y),255)':g='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),g(X,Y),255)':b='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),b(X,Y),0)'
將此五角星的非五角星的位置透明化后,與一3000x2000的矩形疊加即可
ffplay -f lavfi -i color=ffffff00:600x600[white];[white]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),0)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:ffffff00[T];[T]colorkey=white[RAW];[RAW]split=5[T1][T2][T3][T4][T5];[T2]rotate=a=(72*PI/180):c=ffffff00[R2];[T3]rotate=a=(144*PI/180):c=ffffff00[R3];[T4]rotate=a=(216*PI/180):c=ffffff00[R4];[T5]rotate=a=(288*PI/180):c=ffffff00[R5];[R2][R3]overlay[U1];[R4][R5]overlay[U2];[U1][U2]overlay[V1];[V1][T1]overlay[star];[star]geq=r='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),r(X,Y),255)':g='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),g(X,Y),255)':b='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),b(X,Y),0)'[s2];[s2]colorkey=white:0.3[star2];color=DA251D:3000x2000[bg];[bg][star2]overlay=3*W/10:H/5
整體轉(zhuǎn)換命令為
ffmpeg -f lavfi -i color=ffffff00:600x600[white];[white]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),0)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:ffffff00[T];[T]colorkey=white[RAW];[RAW]split=5[T1][T2][T3][T4][T5];[T2]rotate=a=(72*PI/180):c=ffffff00[R2];[T3]rotate=a=(144*PI/180):c=ffffff00[R3];[T4]rotate=a=(216*PI/180):c=ffffff00[R4];[T5]rotate=a=(288*PI/180):c=ffffff00[R5];[R2][R3]overlay[U1];[R4][R5]overlay[U2];[U1][U2]overlay[V1];[V1][T1]overlay[star];[star]geq=r='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),r(X,Y),255)':g='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),g(X,Y),255)':b='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),b(X,Y),0)'[s2];[s2]colorkey=white:0.3[star2];color=DA251D:3000x2000[bg];[bg][star2]overlay=3*W/10:H/5 -frames:v 1 -y Vietnam_Flag.png
維基百科的國(guó)旗草圖與最終生成的Vietnam_Flag.png如下:
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg

老撾

預(yù)覽
ffplay -f lavfi -i color=red:1500x250[red];[red]split=2[R1][R2];color=white:1500x500[white];[white]geq=r='if(lte((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),(H*2/5)*(H*2/5)),255,0)':g='if(lte((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),(H*2/5)*(H*2/5)),255,0)'[middle];[R1][middle][R2]vstack=3
生成
ffmpeg -f lavfi -i color=red:1500x250[red];[red]split=2[R1][R2];color=white:1500x500[white];[white]geq=r='if(lte((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),(H*2/5)*(H*2/5)),255,0)':g='if(lte((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),(H*2/5)*(H*2/5)),255,0)'[middle];[R1][middle][R2]vstack=3 -frames:v 1 Laos.jpg
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg

柬埔寨~待補(bǔ)充

緬甸

參考中國(guó)國(guó)旗一節(jié),先繪制外圓半徑為422的黑底白色的五角星
ffplay -f lavfi -i color=black:442x442[black];[black]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),255)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:black[T];[T]colorkey=black[RAW];[RAW]split=5[T1][T2][T3][T4][T5];[T2]rotate=a=(72*PI/180):c=black[R2];[T3]rotate=a=(144*PI/180):c=black[R3];[T4]rotate=a=(216*PI/180):c=black[R4];[T5]rotate=a=(288*PI/180):c=black[R5];[R2][R3]overlay[U1];[R4][R5]overlay[U2];[U1][U2]overlay[V1];[V1][T1]overlay[star];[star]geq=r='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),r(X,Y),255)':g='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),g(X,Y),255)':b='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),b(X,Y),255)'
再繪制三個(gè)條紋的顏色,并與透明化后的五角星疊加,注意疊加的相對(duì)位置
ffplay -f lavfi -i color=black:442x442[black];[black]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),255)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:black[T];[T]colorkey=black[RAW];[RAW]split=5[T1][T2][T3][T4][T5];[T2]rotate=a=(72*PI/180):c=black[R2];[T3]rotate=a=(144*PI/180):c=black[R3];[T4]rotate=a=(216*PI/180):c=black[R4];[T5]rotate=a=(288*PI/180):c=black[R5];[R2][R3]overlay[U1];[R4][R5]overlay[U2];[U1][U2]overlay[V1];[V1][T1]overlay[star];[star]geq=r='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),r(X,Y),255)':g='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),g(X,Y),255)':b='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),b(X,Y),255)'[s2];[s2]colorkey=black:0.3[star2];color=FECB00:1800x400[Y];color=34B233:1800x400[G];color=EA2839:1800x400[R];[Y][G][R]vstack=3[bg];[bg][star2]overlay=458*W/1800:2002*H/12000
其生成命令為
ffmpeg -f lavfi -i color=black:442x442[black];[black]geq=r='if(gt(X*tan(72*PI/180),Y),r(X,Y),255)':g='if(gt(X*tan(72*PI/180),Y),g(X,Y),255)':b='if(gt(X*tan(72*PI/180),Y),b(X,Y),255)'[triangle];[triangle]split=2[T1][T2];[T2]hflip[T22];[T22][T1]hstack=2[UP];[UP]pad=iw:ih*2:0:0:black[T];[T]colorkey=black[RAW];[RAW]split=5[T1][T2][T3][T4][T5];[T2]rotate=a=(72*PI/180):c=black[R2];[T3]rotate=a=(144*PI/180):c=black[R3];[T4]rotate=a=(216*PI/180):c=black[R4];[T5]rotate=a=(288*PI/180):c=black[R5];[R2][R3]overlay[U1];[R4][R5]overlay[U2];[U1][U2]overlay[V1];[V1][T1]overlay[star];[star]geq=r='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),r(X,Y),255)':g='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),g(X,Y),255)':b='if(gt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2),1468*H*H/(200*200)),b(X,Y),255)'[s2];[s2]colorkey=black:0.3[star2];color=FECB00:1800x400[Y];color=34B233:1800x400[G];color=EA2839:1800x400[R];[Y][G][R]vstack=3[bg];[bg][star2]overlay=458*W/1800:2002*H/12000 -frames:v 1 -y Myanmar_Flag.png
其維基百科的草圖以及Myanmar_Flag.png如下:
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg

注意由于浮點(diǎn)數(shù)的存在,五角星與背景的疊加位置只能做到相對(duì)準(zhǔn)確

泰國(guó)

ffmpeg -f lavfi -i color=A51931:900x100[R1];color=F4F5F8:900x100[W1];color=2D2A4A:900x100[B1];[R1][W1][B1]vstack=3[up];[up]split=2[up1][up2];[up2]vflip[bottom];[up1][bottom]vstack -frames:v 1 -y Thailand_Flag.png
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg

說(shuō)明:實(shí)際轉(zhuǎn)碼出來(lái)發(fā)現(xiàn) Thailand_Flag.png 中的顏色有色差,如要求的紅色是 A51931,實(shí)際轉(zhuǎn)碼出來(lái)的是 A41730,目前還未找到解決的辦法,可能與BT709這些轉(zhuǎn)換矩陣有關(guān)

馬來(lái)西亞

ffmpeg -f lavfi -i color=00803A:480x240[bt];[bt]geq=r='if(gt((X-27*W/48)*(X-27*W/48)+(Y-H/2)*(Y-H/2),H*H/9),r(X,Y),255)':g='if(gt((X-27*W/48)*(X-27*W/48)+(Y-H/2)*(Y-H/2),H*H/9),g(X,Y),255)':b='if(gt((X-27*W/48)*(X-27*W/48)+(Y-H/2)*(Y-H/2),H*H/9),b(X,Y),255)'[bt2];[bt2]geq=r='if(gt((X-30*W/48)*(X-30*W/48)+(Y-H/2)*(Y-H/2),H*H/9),r(X,Y),0)':g='if(gt((X-30*W/48)*(X-30*W/48)+(Y-H/2)*(Y-H/2),H*H/9),g(X,Y),128)':b='if(gt((X-30*W/48)*(X-30*W/48)+(Y-H/2)*(Y-H/2),H*H/9),b(X,Y),0x3A)'[fg];color=D21034:720x480[bg];[bg][fg]overlay=120:120 -frames:v 1 -y Maldives_Flag.png
先畫(huà)內(nèi)部的綠色矩形,然后特定圓內(nèi)置為白色,再設(shè)置特定園內(nèi)為綠色,隨后再畫(huà)外部的紅色矩形,二者overlay疊加即可。
參考草圖與生成的Maldives_Flag.png
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg

歐洲篇

挪威~待補(bǔ)充

瑞典~待補(bǔ)充

芬蘭~待補(bǔ)充

冰島~待補(bǔ)充

丹麥~待補(bǔ)充

愛(ài)沙尼亞

預(yù)覽
ffplay -f lavfi -i color=0072CE:990x210[blue];color=black:990x210[black];color=white:990x210[white];[blue][black][white]vstack=3
生成
ffmpeg -f lavfi -i color=0072CE:990x210[blue];color=black:990x210[black];color=white:990x210[white];[blue][black][white]vstack=3 -frames:v 1 Estonia_flag.jpg
說(shuō)明
愛(ài)沙尼亞共和國(guó)國(guó)旗(英語(yǔ):The National Flag of the Republic of Estonia,愛(ài)沙尼亞語(yǔ):Eesti Vabariik Riigilipp),是愛(ài)沙尼亞共和國(guó)的國(guó)旗,呈長(zhǎng)方形,長(zhǎng)寬比為11∶7,旗面由自上而下的藍(lán)、黑、白三色平行且面積相等的橫長(zhǎng)方形相連組成,在愛(ài)沙尼亞語(yǔ)中,國(guó)旗通常叫作“sinimustvalge”(意為“藍(lán)色-黑色-白色”).Link:參考鏈接
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg

拉脫維亞

預(yù)覽
ffplay -f lavfi -i color=9D2235:1000x200[crimson];[crimson]split=2[crimson1][crimson2];color=white:1000x100[white];[crimson1][white][crimson2]vstack=3
生成
ffmpeg -f lavfi -i color=9D2235:1000x200[crimson];[crimson]split=2[crimson1][crimson2];color=white:1000x100[white];[crimson1][white][crimson2]vstack=3 -frames:v 1 Latvia_flag.jpg
說(shuō)明
拉脫維亞共和國(guó)國(guó)旗(英語(yǔ):The National Flag of the Republic of Latvia,拉脫維亞語(yǔ):Latvijas Republikas nacionālā karogs),是拉脫維亞共和國(guó)的國(guó)旗,呈長(zhǎng)方形,長(zhǎng)寬比為2∶1,旗面由三個(gè)自上而下的橫長(zhǎng)方形相連組成,顏色依次是深紅、白色、深紅,顏色分布比例為2∶1∶2,國(guó)旗上的深紅色一般被稱之為“拉脫維亞紅”。Link:參考鏈接
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg

立陶宛

預(yù)覽
ffplay -f lavfi -i color=yellow:1000x200[yellow];color=green:1000x200[green];color=red:1000x200[red];[yellow][green][red]vstack=3
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg

白俄羅斯~待補(bǔ)充

待補(bǔ)充

烏克蘭

ffplay -f lavfi -i color=0057b7:900x300[blue];color=ffd700:900x300[yellow];[blue][yellow]vstack=2
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg
Link:參考鏈接

摩爾多瓦~待補(bǔ)充

待補(bǔ)充

俄羅斯

預(yù)覽
ffplay -f lavfi -i color=white:900x200[white];color=0051BA:900x200[blue];color=D81E05:900x200[red];[white][blue][red]vstack=3
生成
ffmpeg -f lavfi -i color=white:900x200[white];color=0051BA:900x200[blue];color=D81E05:900x200[red];[white][blue][red]vstack=3 -frames:v 1 Russian_flag.jpg
說(shuō)明
俄羅斯聯(lián)邦的國(guó)旗是橫長(zhǎng)方形的,其長(zhǎng)和寬的比值大約為3:2 。國(guó)旗的表面由3個(gè)長(zhǎng)方形并排組成的,主要以白色、藍(lán)色和紅色三種顏色為主。
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg

Link:色號(hào)參考鏈接

德國(guó)

ffplay -f lavfi -i color=0A0A0D:900x200[C1];color=C1121C:900x200[C2];color=EEC900:900x200[C3];[C1][C2][C3]vstack=3
FFMPEG命令生成各國(guó)國(guó)旗,ffmpeg
Link:參考鏈接文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-798542.html

到了這里,關(guān)于FFMPEG命令生成各國(guó)國(guó)旗的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • FFmpeg常見(jiàn)命令行(一):FFmpeg工具使用基礎(chǔ)

    FFmpeg常見(jiàn)命令行(一):FFmpeg工具使用基礎(chǔ)

    在Android音視頻開(kāi)發(fā)中,網(wǎng)上知識(shí)點(diǎn)過(guò)于零碎,自學(xué)起來(lái)難度非常大,不過(guò)音視頻大牛Jhuster提出了《Android 音視頻從入門(mén)到提高 - 任務(wù)列表》。本文是Android音視頻任務(wù)列表的其中一個(gè), 對(duì)應(yīng)的要學(xué)習(xí)的內(nèi)容是:FFmpeg常見(jiàn)命令行(一):FFmpeg工具使用基礎(chǔ) 音視頻任務(wù)列表: 點(diǎn)擊

    2024年02月14日
    瀏覽(16)
  • 使用ffmpeg生成測(cè)試視頻和圖片

    要使用FFmpeg生成測(cè)試視頻和圖片,需要安裝FFmpeg,并使用命令行工具執(zhí)行相應(yīng)的命令。 一、生成測(cè)試視頻 創(chuàng)建一個(gè)測(cè)試視頻源文件 test.mp4: ffmpeg -f lavfi -i testsrc=duration=5:size=1280x720:rate=30 test.mp4 上述命令可以生成一個(gè)時(shí)長(zhǎng)為5秒,分辨率為1280x720,幀率為30的測(cè)試視頻源文件t

    2023年04月11日
    瀏覽(22)
  • 【FFmpeg】音視頻錄制 ① ( 查詢系統(tǒng)中 ffmpeg 可錄制的音視頻輸入設(shè)備 | 使用 ffmpeg 命令錄制音視頻數(shù)據(jù) | 錄制視頻數(shù)據(jù)命令 |錄制音頻數(shù)據(jù)| 同時(shí)錄制音頻和視頻數(shù)據(jù)命令 )

    【FFmpeg】音視頻錄制 ① ( 查詢系統(tǒng)中 ffmpeg 可錄制的音視頻輸入設(shè)備 | 使用 ffmpeg 命令錄制音視頻數(shù)據(jù) | 錄制視頻數(shù)據(jù)命令 |錄制音頻數(shù)據(jù)| 同時(shí)錄制音頻和視頻數(shù)據(jù)命令 )

    在 Windows 系統(tǒng)中 , 使用 ffmpeg 命令 錄制 音視頻 , 需要先獲取 系統(tǒng)的 音視頻設(shè)備 信息 , 錄制 音視頻 本質(zhì)上是從 系統(tǒng)音視頻設(shè)備 中獲取數(shù)據(jù) ; 執(zhí)行 命令 , 可以獲取 系統(tǒng)中 ffmpeg 可用的 DirectShow 音視頻輸入設(shè)備 ; 命令參數(shù)解析 : -list_devices true : 列出所有 ffmpeg 的 指定類型的可

    2024年04月25日
    瀏覽(31)
  • ffmpeg 實(shí)用命令 -- 截取視頻

    截圖 下例利用?select?過(guò)濾器,抽取了視頻中的第 86?幀,保存為 extract.png: 幀是從0開(kāi)始的,所以要寫(xiě)85才是對(duì)應(yīng)第86幀 ?如果不需要特別精確,也可以用時(shí)間戳來(lái)截?。?截取視頻 下面,以想要截取 video.mp4 視頻的第2到第5分鐘為例。 對(duì)于容易計(jì)算片段秒數(shù)的截取任務(wù)(本例

    2024年01月19日
    瀏覽(27)
  • ffmpeg命令幫助文檔

    ffmpeg命令幫助文檔

    目錄 一:幫助文檔的命令格式 二:將幫助文檔輸出到文件 ffmpeg -h 幫助的基本信息 ffmpeg -h long 幫助的高級(jí)信息 ffmpeg -h full 幫助的全部信息 ffmpeg的命令使用方式:ffmpeg [options] [[infile options] -i infile] [[outfile options] outfile] 執(zhí)行以下命令: ? 文件生成后的樣子: 我這里是ffmpeg6的

    2024年02月05日
    瀏覽(18)
  • 常用 FFmpeg 命令

    視頻添加字幕 或:(燒錄為 mp4,速度慢) 視頻提取字幕 這將下載第一個(gè)字幕軌。如果有多個(gè),則使用 0:s:1 下載第二個(gè), 0:s:2 下載第三個(gè),以此類推??梢陨扇我馑璧母袷?,改一下擴(kuò)展名即可。 圖片壓縮 -q 4 為壓縮級(jí)別,數(shù)字越大壓縮級(jí)別越高 約束比例壓縮 scale=-1:

    2023年04月08日
    瀏覽(53)
  • ffmpeg 實(shí)用命令 - 轉(zhuǎn)換格式

    介紹一個(gè)全局參數(shù)? -hide_banner ;它可以阻止 FFmpeg 在每次執(zhí)行時(shí)開(kāi)頭打印的那一堆版本信息文本: 轉(zhuǎn)碼 比如將一個(gè) FLV 文件轉(zhuǎn)為 MP4 文件并重編碼,F(xiàn)Fmpeg 會(huì)自動(dòng)尋找編解碼器,準(zhǔn)確度還是比較高的: 其中,在? -i ?后指定輸入文件的文件名,在所有命令的最后指定輸出文件的

    2024年01月16日
    瀏覽(19)
  • FFmpeg- 常用的濾鏡命令

    FFmpeg- 常用的濾鏡命令

    下面來(lái)熟悉一下常用的對(duì)視頻操作的幾個(gè)命令。這次需要完成的命令也包括在其中。 視頻的畫(huà)面大小的剪切(crop filter) 將輸入的視頻的幀,以左上角為坐標(biāo)的原點(diǎn),剪切成x,y坐標(biāo)開(kāi)始的指定大小。 語(yǔ)法: 簡(jiǎn)單的解釋: x,y :是偏移量。 ow,oh :是輸出的寬和高。 iw ih :還可以使用

    2023年04月16日
    瀏覽(19)
  • FFMPEG小白常用命令行

    序列幀轉(zhuǎn)H264視頻 ffmpeg -r 60 -f image2 -s 1920x1080 -i fram%d.jpg -vcodec libx264 -crf 25 ?-pix_fmt yuv420p test.mp4 -vcodec h264? .ffmpeg -r 60 -f image2 -s 1920x1080 -i %04d.jpeg -vcodec h264 test.mp4 %04d 表示用零來(lái)填充直到長(zhǎng)度為4,i.e 0001…0020…0030…2000 and so on. 如果沒(méi)有填充,需要相應(yīng)更改,如 pic%d.png or %d

    2024年02月11日
    瀏覽(13)
  • FFmpeg命令分隔視頻

    FFmpeg命令分隔視頻

    ? ? ? 有一個(gè)視頻如a.mp4,此視頻采用幀率為30生成,共有299幀,這里通過(guò)FFmpeg命令分隔成1秒一個(gè)個(gè)的小視頻,即每個(gè)小視頻幀數(shù)為30幀。 ? ? ? 用到的FFmpeg參數(shù)如下所示: ? ? ? (1).-i:指定輸入視頻文件的名稱; ? ? ? (2).-c:指定編解碼器;copy是一個(gè)特殊編解碼器,它直接復(fù)

    2024年02月03日
    瀏覽(17)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包