ããã¯ãUbuntu OnlineãFedora OnlineãWindows ãªã³ã©ã€ã³ ãšãã¥ã¬ãŒã¿ãŒãMAC OS ãªã³ã©ã€ã³ ãšãã¥ã¬ãŒã¿ãŒãªã©ã®è€æ°ã®ç¡æãªã³ã©ã€ã³ ã¯ãŒã¯ã¹ããŒã·ã§ã³ã® XNUMX ã€ã䜿çšããŠãOnWorks ç¡æãã¹ãã£ã³ã° ãããã€ããŒã§å®è¡ã§ããã³ãã³ã ffmpeg-filters ã§ãã
ããã°ã©ã ïŒ
NAME
ffmpeg-filters - FFmpeg ãã£ã«ã¿ãŒ
DESCRIPTION
ãã®ããã¥ã¡ã³ãã§ã¯ãlibavfilter ã©ã€ãã©ãªã«ãã£ãŠæäŸããããã£ã«ã¿ãŒããœãŒã¹ãããã³ã·ã³ã¯ã«ã€ããŠèª¬æããŸãã
ãã£ã«ã¿ãªã³ã° ã¯ããã«
FFmpegã§ã®ãã£ã«ã¿ãªã³ã°ã¯ãlibavfilterã©ã€ãã©ãªãä»ããŠæå¹ã«ãªããŸãã
libavfilterã§ã¯ããã£ã«ã¿ãŒã¯è€æ°ã®å ¥åãšè€æ°ã®åºåãæã€ããšãã§ããŸãã 説æããããã«
å¯èœãªããšã®çš®é¡ãšããŠã次ã®ãã£ã«ã¿ãŒã°ã©ããæ€èšããŸãã
[ã¡ã€ã³]
å ¥å->åå²--------------------->ãªãŒããŒã¬ã€->åºå
| | ^
| [tmp] [ããªãã] |
+ ----->åãæã-> vflip ------- +
ãã®ãã£ã«ã¿ãŒã°ã©ãã¯ãå ¥åã¹ããªãŒã ãXNUMXã€ã®ã¹ããªãŒã ã«åå²ããXNUMXã€ã®ã¹ããªãŒã ã
ã«ãã£ãŠä»ã®ã¹ããªãŒã ãšããŒãžããåã«ãã¯ããããã£ã«ã¿ãŒãšvflipãã£ã«ã¿ãŒ
äžã«éããŸãã ãããå®çŸããã«ã¯ã次ã®ã³ãã³ãã䜿çšã§ããŸãã
ffmpeg -i INPUT -vf "split [main] [tmp]; [tmp] Crop = iwïŒih / 2ïŒ0ïŒ0ãvflip [flip]; [main] [flip] overlay = 0ïŒH / 2" OUTPUT
ãã®çµæããããªã®äžååãäžååã«ãã©ãŒãªã³ã°ãããŸãã
åºåãããªã
åãç·åœ¢ãã§ãŒã³å ã®ãã£ã«ã¿ãŒã¯ã³ã³ãã§åºåããã
ãã£ã«ã¿ã¯ã»ãã³ãã³ã§åºåãããŸãã ãã®äŸã§ã¯ã äœç©ãvflip XNUMXã€ã®ç·åœ¢ãã§ãŒã³ã«ãããŸã
split ãš ãªãŒããŒã¬ã€ å¥ã«å¥ã ã«ãããŸãã ç·åœ¢ãã§ãŒã³ãçµåãããã€ã³ãã¯
è§æ¬åŒ§ã§å²ãŸããååã§ã©ãã«ä»ããããŠããŸãã ãã®äŸã§ã¯ãåå²ãã£ã«ã¿ãŒã¯æ¬¡ã®ããã«çæããŸã
ã©ãã«ã«é¢é£ä»ããããŠããXNUMXã€ã®åºå [ã¡ã€ã³] ãš [äžæ].
ã®XNUMXçªç®ã®åºåã«éä¿¡ãããã¹ããªãŒã splitããšã©ãã«ä»ã [äžæ]ããä»ããŠåŠçãããŸã
äœç© ãã£ã«ã¿ãåç»ã®äžååãåãåãã次ã«åçŽæ¹åã«åãåããŸãã
ã²ã£ããè¿ã£ãã 㶠ãªãŒããŒã¬ã€ filterã¯ãåå²ãã£ã«ã¿ãŒã®æåã®å€æŽãããŠããªãåºåãå ¥åãšããŠåãåããŸã
ïŒããã¯æ¬¡ã®ããã«ã©ãã«ä»ããããŸãã [ã¡ã€ã³]ïŒãããã³ã«ãã£ãŠçæãããåºåã®äžååã«ãªãŒããŒã¬ã€ããŸãã
äœç©ãvflip ãã£ã«ã¿ãŒãã§ãŒã³ã
äžéšã®ãã£ã«ã¿ãŒã¯ããã©ã¡ãŒã¿ãŒã®ãªã¹ããå ¥åãšããŠåãåããŸãããããã¯ããã£ã«ã¿ãŒåã®åŸã«æå®ãããŸãã
çå·ã§ãããã³ãã³ã§åºåãããŠããŸãã
ããããååšããŸã source ãã£ã«ã¿ãŒ ãªãŒãã£ãª/ãããªå ¥åããªããã®ãããã³ ã·ã³ã¯
ãã£ã«ã¿ãŒ ãªãŒãã£ãª/ãããªåºåã¯ãããŸããã
ã°ã©ã
ãã® ã°ã©ã2ããã FFmpegã«å«ãŸããŠããããã°ã©ã è±å¯ãªããŒã«çŸ€ ãã£ã¬ã¯ããªã䜿çšããŠè§£æã§ããŸã
ãã£ã«ã¿ã°ã©ãã®èª¬æãšããããã§å¯Ÿå¿ããããã¹ãè¡šçŸãçºè¡ããŸã
èšèªã
次ã®ã³ãã³ããåŒã³åºããŸãã
ã°ã©ã2ããã-h
䜿çšæ¹æ³ã確èªããã«ã¯ ã°ã©ã2ããã.
次ã«ããããã®èª¬æãã«æž¡ãããšãã§ããŸã ããã ããã°ã©ã ïŒgraphvizã¹ã€ãŒããã
ããã°ã©ã ïŒããã£ã«ã¿ãŒã°ã©ãã®ã°ã©ãã£ãã¯è¡šçŸãååŸããŸãã
ããšãã°ãã³ãã³ãã®ã·ãŒã±ã³ã¹ïŒ
ãšã³ãŒ| \
ããŒã«/graph2dot-ograph.tmp && \
dot -Tpnggraph.tmp -ograph.png && \
衚瀺graph.png
ã«ãã£ãŠèšè¿°ãããã°ã©ããè¡šãç»åãäœæããã³è¡šç€ºããããã«äœ¿çšã§ããŸã
GRAPH_DESCRIPTION ã¹ããªã³ã°ã ãã®æååã¯å®å šãªèªå·±å®çµåã®ã°ã©ãã§ããå¿ èŠãããããšã«æ³šæããŠãã ããã
å ¥åãšåºåãæ瀺çã«å®çŸ©ãããŠããŸãã ããšãã°ãã³ãã³ãã©ã€ã³ã
ãã©ãŒã ïŒ
ffmpeg -i infile -vf scale = 640ïŒ360 outfile
GRAPH_DESCRIPTION æååã¯æ¬¡ã®åœ¢åŒã§ããå¿ èŠããããŸãã
nullsrcãscale = 640ïŒ360ãnullsink
ãŸãããèšå®ããå¿ èŠããããããããŸãã nullsrc ãã©ã¡ãŒã¿ãè¿œå ãã 圢åŒã§ã¢ãŒã«ã€ããããããžã§ã¯ããä¿åããŸãïŒ ããããã«ãã£ã«ã¿ãªã³ã°
ç¹å®ã®å ¥åãã¡ã€ã«ãã·ãã¥ã¬ãŒãããŸãã
ãã£ã«ã¿ã°ã©ã DESCRIPTION
ãã£ã«ã¿ã°ã©ãã¯ãæ¥ç¶ããããã£ã«ã¿ã®æåã°ã©ãã§ãã ãµã€ã¯ã«ãå«ããããšãã§ããããã«
ãã£ã«ã¿ã®ãã¢éã®è€æ°ã®ãªã³ã¯ã«ããããšãã§ããŸãã åãªã³ã¯ã«ã¯ãçåŽã«XNUMXã€ã®å ¥åãããããããŸã
å ¥åãååŸããXNUMXã€ã®ãã£ã«ã¿ãŒã«æ¥ç¶ããããXNUMXã€ã®åºåãããã«æ¥ç¶ããŸã
ãã®åºåãåãå ¥ããXNUMXã€ã®ãã£ã«ã¿ãŒã«æ¥ç¶ããåŽã
ãã£ã«ã¿ã°ã©ãã®åãã£ã«ã¿ã¯ãã«ç»é²ãããŠãããã£ã«ã¿ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã§ãã
ã¢ããªã±ãŒã·ã§ã³ãæ©èœãšãã®å ¥åããããšåºåãããã®æ°ãå®çŸ©ããŸãã
ãã£ã«ã¿ã
å ¥åãããã®ãªããã£ã«ã¿ãŒã¯ããœãŒã¹ããšåŒã°ããåºåãããã®ãªããã£ã«ã¿ãŒã¯ããœãŒã¹ããšåŒã°ããŸãã
ãã·ã³ã¯ããšåŒã°ããŸãã
ãã£ã«ã¿ã°ã©ã æ§æ
ãã£ã«ã¿ã°ã©ãã«ã¯ããã¹ãè¡šçŸãããããã㯠-ãã£ã«ã¿ãŒ/-vf/-af ãš
-filter_complex ãªãã·ã§ã³ ffmpeg ãš -vf/-af in åçããã«ãã£ãŠãããã³
ãavfilter_graph_parse_ptrïŒïŒãé¢æ°ã¯ã§å®çŸ©ãããŠããŸã libavfilter / avfilter.h.
ãã£ã«ã¿ãã§ãŒã³ã¯ãæ¥ç¶ãããäžé£ã®ãã£ã«ã¿ã§æ§æãããåãã£ã«ã¿ã¯
ã·ãŒã±ã³ã¹ã®åã®ãã®ã ãã£ã«ã¿ãã§ãŒã³ã¯ããããã§åºåããããªã¹ãã§è¡šãããŸãã
ãã£ã«ã¿ã®èª¬æã
ãã£ã«ã¿ã°ã©ãã¯ãäžé£ã®ãã£ã«ã¿ãã§ãŒã³ã§æ§æãããŠããŸãã ãã£ã«ã¿ãã§ãŒã³ã®ã·ãŒã±ã³ã¹ã¯
ã;ãã§åºåããããã£ã«ã¿ãŒãã§ãŒã³ã®èª¬æã®ãªã¹ãã§è¡šãããŸãã
ãã£ã«ã¿ã¯ã次ã®åœ¢åŒã®æååã§è¡šãããŸãã
[in_link_1] ... [in_link_N]ãã£ã«ã¿ãŒå=åŒæ°[out_link_1] ... [out_link_M]
ãã£ã«ã¿ãŒå èšè¿°ããããã£ã«ã¿ãŒãã€ã³ã¹ã¿ã³ã¹ã§ãããã£ã«ã¿ãŒã¯ã©ã¹ã®ååã§ãã
ã®ãããã³ããã°ã©ã ã«ç»é²ãããŠãããã£ã«ã¿ãŒã¯ã©ã¹ã®XNUMXã€ã®ååã§ããå¿ èŠããããŸãã The
ãã£ã«ã¿ã¯ã©ã¹ã®ååã®åŸã«ã¯ããªãã·ã§ã³ã§æåå "=ãç¶ããŸããåŒæ°".
åŒæ° ãã£ã«ã¿ãåæåããããã«äœ¿çšããããã©ã¡ãŒã¿ãå«ãæååã§ã
å®äŸã 次ã®XNUMXã€ã®åœ¢åŒã®ããããããããŸãã
ã»a 'ïŒ'-ã®åºåããªã¹ã key = value
ã»a 'ïŒ'-ã®åºåããªã¹ã å€ã ãã®å ŽåãããŒã¯ãªãã·ã§ã³ã§ãããšèŠãªãããŸã
宣èšãããé åºã§ã®ååã ããšãã°ãããã§ãŒãããã£ã«ã¿ã¯æ¬¡ã®XNUMXã€ã®ãªãã·ã§ã³ã宣èšããŸã
ãã®æ³šæ - type, éå§ãã¬ãŒã ãš nb_framesã 次ã«ããã©ã¡ãŒã¿ãªã¹ã ã§ïŒ0ïŒ30 æ段
ãã®å€ in ãªãã·ã§ã³ã«å²ãåœãŠãããŠããŸã type, 0 ããž éå§ãã¬ãŒã ãš 30 ããž
nb_frames.
ã»a 'ïŒ'-æ··åçŽæ¥ã®åºåããªã¹ã å€ ãããŠé·ã key = value ãã¢ã çŽæ¥ å€
ã«å è¡ããå¿ èŠããããŸã key = value ãã¢ã§ãããåãå¶çŽé åºã«åŸããŸãã
åã®ãã€ã³ãã ä»¥äž key = value ãã¢ã¯ä»»æã®é åºã§èšå®ã§ããŸãã
ãªãã·ã§ã³å€èªäœãã¢ã€ãã ã®ãªã¹ãã§ããå ŽåïŒããšãã°ãããã©ãŒãããããã£ã«ã¿ãŒã¯æ¬¡ã®ãªã¹ããååŸããŸãïŒ
ãã¯ã»ã«ãã©ãŒãããïŒããªã¹ãå ã®ã¢ã€ãã ã¯éåžžã |.
åŒæ°ã®ãªã¹ãã¯ãæåã䜿çšããŠåŒçšã§ããŸã ' æåãšæåŸã®ããŒã¯ãšããŠããããŠ
ãã£ã©ã¯ã¿ãŒ \ åŒçšãããããã¹ãå ã®æåããšã¹ã±ãŒãããããã ããã§ãªããã°ãè°è«
æååã¯ã次ã®ç¹æ®æåïŒã»ããã«å±ããïŒã®ãšãã«çµäºãããšèŠãªãããŸã
[] =;ãïŒã«ééããŸããã
ãã£ã«ã¿ã®ååãšåŒæ°ã®ååŸã«ã¯ããªãã·ã§ã³ã§æ¬¡ã®ãªã¹ãããããŸãã
ãªã³ã¯ã©ãã«ã ãªã³ã¯ã©ãã«ã䜿çšãããšããªã³ã¯ã«ååãä»ããŠããã£ã«ã¿ãŒåºåã«é¢é£ä»ããããšãã§ããŸãã
ãŸãã¯å ¥åãããã äžèšã®ã©ãã« in_link_1 ... in_link_Nãã¯ãã£ã«ã¿ãŒã«é¢é£ä»ããããŠããŸã
å ¥åãããã次ã®ã©ãã« out_link_1 ... out_link_Mãåºåã«é¢é£ä»ããããŠããŸã
ãããã
åãååã®XNUMXã€ã®ãªã³ã¯ã©ãã«ããã£ã«ã¿ãŒã°ã©ãã§èŠã€ãã£ãå Žåã
察å¿ããå ¥åããã³åºåããããäœæãããŸãã
åºåãããã«ã©ãã«ãä»ããŠããªãå Žåãããã©ã«ãã§æåã®ã©ãã«ã®ãªãå ¥åã«ãªã³ã¯ãããŸã
ãã£ã«ã¿ãã§ãŒã³å ã®æ¬¡ã®ãã£ã«ã¿ã®ãããã ããšãã°ããã£ã«ã¿ãŒãã§ãŒã³ã§
nullsrcãsplit [L1]ã[L2] overlayãnullsink
ã¹ããªãããã£ã«ã¿ãŒã€ã³ã¹ã¿ã³ã¹ã«ã¯XNUMXã€ã®åºåããããããããªãŒããŒã¬ã€ãã£ã«ã¿ãŒã€ã³ã¹ã¿ã³ã¹ã«ã¯XNUMXã€ã®å ¥åããããŸãã
ãããã ã¹ããªããã®æåã®åºåãããã«ã¯ãL1ããšããã©ãã«ãä»ããŠããããªãŒããŒã¬ã€ã®æåã®å ¥åãããã«ã¯
ãL2ããšããã©ãã«ãä»ããŠãããã¹ããªããã®XNUMXçªç®ã®åºåãããã¯ã®XNUMXçªç®ã®å ¥åãããã«ãªã³ã¯ãããŠããŸã
ãªãŒããŒã¬ã€ãã©ã¡ããã©ãã«ãä»ããŠããŸããã
ãã£ã«ã¿ã®èª¬æã§ãæåã®ãã£ã«ã¿ã®å ¥åã©ãã«ãæå®ãããŠããªãå Žåããinãã¯
æ³å®; æåŸã®ãã£ã«ã¿ãŒã®åºåã©ãã«ãæå®ãããŠããªãå Žåããoutããæ³å®ãããŸãã
å®å šãªãã£ã«ã¿ãŒãã§ãŒã³ã§ã¯ãã©ãã«ã®ãªããã¹ãŠã®ãã£ã«ã¿ãŒå ¥åããããšåºåãããã¯
æ¥ç¶ãããŠããŸãã ãã£ã«ã¿ã°ã©ãã¯ãã®ãã¹ãŠã®ãã£ã«ã¿å ¥åããã³åºåããããæå¹ã§ãããšèŠãªãããŸãã
ãã¹ãŠã®ãã£ã«ã¿ãŒãã§ãŒã³ãæ¥ç¶ãããŠããŸãã
Libavfilterã¯èªåçã«æ¿å ¥ããŸã é段 ãã©ãŒãããå€æãå¿ èŠãªãã£ã«ã¿ãŒã
èªåçã«æ¿å ¥ãããã¹ã±ãŒã©ãŒã®swscaleãã©ã°ãæå®ããããšãã§ããŸãã
ãsws_flags =ããå é ã«è¿œå ãã©ã°;ã ãã£ã«ã¿ã°ã©ãã®èª¬æã«ã
ãã£ã«ã¿ã°ã©ãæ§æã®BNFã®èª¬æã¯æ¬¡ã®ãšããã§ãã
:: =è±æ°åã®ã·ãŒã±ã³ã¹ãšã_ã
:: = "[" "]"
:: = [ ]
:: =æåã®ã·ãŒã±ã³ã¹ïŒåŒçšãããŠããå¯èœæ§ããããŸãïŒ
:: = [ ] ["=" ] [ ]
:: = [ã ]
:: = [sws_flags = ;] [; ]
Notes on ãã£ã«ã¿ã°ã©ã éãã
ãã£ã«ã¿ã°ã©ãã®èª¬æã®æ§æã«ã¯ãããã€ãã®ã¬ãã«ã®ãšã¹ã±ãŒããå«ãŸããŸãã èŠã ã ãåŒçš
ãš éããã in ã ffmpeg-utils(1) ããã¥ã¢ã« 詳现ã«ã€ããŠã¯
ãšã¹ã±ãŒãæé ãæ¡çšããŸããã
第XNUMXã¬ãã«ã®ãšã¹ã±ãŒãã¯ãåãã£ã«ã¿ãŒãªãã·ã§ã³å€ã®å 容ã«åœ±é¿ããŸãã
å€ãåºåãããã«äœ¿çšãããç¹æ®æåãïŒãããŸãã¯ãšã¹ã±ãŒãæåã\ 'ãã®XNUMXã€ã
XNUMXçªç®ã®ã¬ãã«ã®ãšã¹ã±ãŒãã¯ããã£ã«ã¿ãŒã®èª¬æå šäœã«åœ±é¿ããŸãã
ãšã¹ã±ãŒãæåã\ 'ããŸãã¯ç¹æ®æåã[] ,;ã ãã£ã«ã¿ã°ã©ãã§äœ¿çš
説æã
æåŸã«ãã·ã§ã«ã³ãã³ãã©ã€ã³ã§ãã£ã«ã¿ãŒã°ã©ããæå®ããå Žåã¯ã
ãã®äžã«å«ãŸããã·ã§ã«ç¹æ®æåã®ç¬¬XNUMXã¬ãã«ã®ãšã¹ã±ãŒãã
ããšãã°ã次ã®æååãã«åã蟌ãŸããŠãããšèããŠãã ããã ãããŒããã¹ã filter
説æ íŽëŒì°ë êž°ë° AI/MLë° ê³ ì±ë¥ 컎íší ì íµí ëì§íž ížìì êž°ìŽ â Edward Hsu, Rescale CPO ë§ì ìì§ëìŽë§ ì€ì¬ êž°ì ìê² íŽëŒì°ëë R&Dëì§íž ì íì 첫 ëšê³ìŒ ë¿ì ëë€. íŽëŒì°ë ììì íì©íŽ ìì§ëìŽë§ íì ì ìœì íŽê²°íë ëšê³ë¥Œ ëìŽ, ì뮬ë ìŽì ìŽìì íµí©íê³ ìµì ííë©°, ê¶ê·¹ì ìŒë¡ë ëªšëž êž°ë°ì íì 곌 ìì¬ ê²°ì ì ì§ìíì¬ ì ì íì ê²°ì í ë ë°ìŽí° êž°ë° ìì§ëìŽë§ì ì ì©íê³ ì í©ëë€. Rescaleì ìŽë¬í íì ì ëêž° ìíŽ ì»Žíší ì¶ì² ìì§, íµí© ë°ìŽí° íšëžëŠ, ë©íë°ìŽí° êŽëŠ¬ ë±ì ê°ë°íê³ ììµëë€. ìŽë² ì늬륌 ë¹ë € ë¹ìŠëì€ ê²œìë ¥ ì ê³ ë¥Œ ìí ëì§íž ížì ë° ëì§íž ì€ë ë ì ëµ ê°ë° ë°©ë²ì ëí ìžì¬ìŽížë¥Œ ëëê³ ì í©ëë€. å€ïŒ
ããã¯ãæååãã§ãïŒXNUMXã€ä»¥äžã®ç¹æ®æåãå«ããããšãã§ããŸã
ãã®æååã«ã¯ãã 'ãç¹æ®ãšã¹ã±ãŒãæåãšãïŒãç¹æ®æåãå«ãŸããŠããããã
ãã®æ¹æ³ã§ãšã¹ã±ãŒãããå¿ èŠããããŸãã
text = this is a \ 'string \' \ïŒXNUMXã€ä»¥äžã®ç¹æ®æåãå«ããããšãã§ããŸã
ãã£ã«ã¿ã®èª¬æãã«åã蟌ãå Žåã¯ãXNUMXçªç®ã®ã¬ãã«ã®ãšã¹ã±ãŒããå¿ èŠã§ãã
ãã£ã«ã¿ã°ã©ãã®èª¬æããã¹ãŠã®ãã£ã«ã¿ã°ã©ãã®ç¹æ®æåããšã¹ã±ãŒãããããã ãããã£ãŠ
äžèšã®äŸã¯æ¬¡ã®ããã«ãªããŸãã
drawtext = text = this is a \\\ 'string \\\' \\ïŒXNUMXã€ä»¥äžã®\ãç¹æ®æåãå«ããããšãã§ããŸã
ïŒç¹æ®æåããšã¹ã±ãŒãããã\ãã«å ããŠãããããå¿ èŠã§ããããšã«æ³šæããŠãã ããã
è±åºããïŒã
æåŸã«ããã£ã«ã¿ãŒã°ã©ãã®èª¬æãæžããšãã«ãè¿œå ã®ã¬ãã«ã®ãšã¹ã±ãŒããå¿ èŠã§ãã
æ¡çšãããã·ã§ã«ã®ãšã¹ã±ãŒãã«ãŒã«ã«äŸåããã·ã§ã«ã³ãã³ãã§ã äŸãã°ã
ã\ãã¯ç¹å¥ã§ãããå¥ã®ã\ãã§ãšã¹ã±ãŒãããå¿ èŠããããšä»®å®ãããšãåã®æåå
æçµçã«æ¬¡ã®ããã«ãªããŸãã
-vf "drawtext = text = this is \\\\\\ 'string \\\\\\' \\\\ïŒXNUMXã€ä»¥äžã®\\ãç¹æ®æåãå«ããããšãã§ããŸã"
TIMELINE EDITING
äžéšã®ãã£ã«ã¿ãŒã¯ãžã§ããªãã¯ããµããŒãããŸã enable ãªãã·ã§ã³ã ã¿ã€ã ã©ã€ã³ç·šéããµããŒããããã£ã«ã¿ãŒã®å Žåã
ãã®ãªãã·ã§ã³ã¯ããã¬ãŒã ãã«éä¿¡ããåã«è©äŸ¡ãããåŒã«èšå®ã§ããŸãã
ãã£ã«ã¿ãŒã è©äŸ¡ããŒã以å€ã®å Žåããã£ã«ã¿ãŒãæå¹ã«ãªããŸãããã以å€ã®å Žåããã¬ãŒã ãæå¹ã«ãªããŸãã
ãã£ã«ã¿ã°ã©ãã®æ¬¡ã®ãã£ã«ã¿ã«å€æŽãªãã§éä¿¡ãããŸãã
åŒã¯æ¬¡ã®å€ãåãå ¥ããŸãã
t ç§åäœã§è¡šãããã¿ã€ã ã¹ã¿ã³ããå ¥åã¿ã€ã ã¹ã¿ã³ããäžæãªå Žåã¯NAN
n 0ããå§ãŸãå ¥åãã¬ãŒã ã®é£çª
æçš¿ãã å ¥åãã¬ãŒã ã®ãã¡ã€ã«å ã®äœçœ®ãäžæãªå Žåã¯NAN
w
h ãããªã®å Žåã¯å ¥åãã¬ãŒã ã®å¹ ãšé«ã
ããã«ããããã®ãã£ã«ã¿ãŒã¯ enable åå®çŸ©ããããã«äœ¿çšã§ããã³ãã³ã
åŒã§ãã
ä»ã®ãã£ã«ã¿ãªã³ã°ãªãã·ã§ã³ãšåæ§ã«ã enable ãªãã·ã§ã³ã¯åãã«ãŒã«ã«åŸããŸãã
ããšãã°ããŒãããã£ã«ã¿ãŒãæå¹ã«ããã«ã¯ïŒã¹ããŒããã©ãŒïŒ10ç§ãã3åãããã³
æ²ç· 3ç§ããå§ãŸããã£ã«ã¿ãŒïŒ
smartblur = enable = 'betweenïŒtã10,3 * 60ïŒ'ã
æ²ç·= enable = 'gteïŒtã3ïŒ'ïŒpreset = cross_process
AUDIO FILTERS
FFmpegãã«ããæ§æããå Žåãã䜿çšããŠæ¢åã®ãã£ã«ã¿ãŒãç¡å¹ã«ããããšãã§ããŸã
ã--disable-filtersãã æ§æåºåã«ã¯ãã«å«ãŸããŠãããªãŒãã£ãªãã£ã«ã¿ãŒã衚瀺ãããŸã
ãã«ãã
以äžã¯ãçŸåšå©çšå¯èœãªãªãŒãã£ãªãã£ã«ã¿ãŒã®èª¬æã§ãã
ã¯ãã¹ãã§ãŒã
ããå ¥åãªãŒãã£ãªã¹ããªãŒã ããå¥ã®å ¥åãªãŒãã£ãªã¹ããªãŒã ã«ã¯ãã¹ãã§ãŒããé©çšããŸãã ååæ¶
ãã§ãŒãã¯ãæåã®ã¹ããªãŒã ã®çµããè¿ãã§æå®ãããæéé©çšãããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
nb_samplesã ns
ã¯ãã¹ãã§ãŒãå¹æãæç¶ãããµã³ãã«æ°ãæå®ããŸãã æåŸã«
ã¯ãã¹ãã§ãŒãå¹æã®æåã®å ¥åãªãŒãã£ãªã¯å®å šã«ç¡é³ã«ãªããŸãã ããã©ã«ãã¯
44100.
ãã¥ã¬ãŒã·ã§ã³ã d
ã¯ãã¹ãã§ãŒãå¹æã®æç¶æéãæå®ããŸãã èŠã ã Time ãã¥ã¬ãŒã·ã§ã³ in ã
ffmpeg-utils(1) ããã¥ã¢ã« åãå ¥ããããæ§æã«ã€ããŠã ããã©ã«ãã§ã¯ãæéã決å®ãããŸã
by nb_samplesã èšå®ãããšã代ããã«ãã®ãªãã·ã§ã³ã䜿çšãããŸã nb_samples.
ãªãŒããŒã©ããã o
æåã®ã¹ããªãŒã ã®çµäºãXNUMXçªç®ã®ã¹ããªãŒã ã®éå§ãšéãªãå¿ èŠããããŸãã ããã©ã«ãã¯æå¹ã§ãã
æ²ç·1
æåã®ã¹ããªãŒã ã®ã¯ãã¹ãã§ãŒããã©ã³ãžã·ã§ã³ã®ã«ãŒããèšå®ããŸãã
æ²ç·2
XNUMXçªç®ã®ã¹ããªãŒã ã®ã¯ãã¹ãã§ãŒããã©ã³ãžã·ã§ã³ã®ã«ãŒããèšå®ããŸãã
䜿çšå¯èœãªæ²ç·ã¿ã€ãã®èª¬æã«ã€ããŠã¯ããåç §ããŠãã ããã è¡°é ãã£ã«ã¿ã®èª¬æã
äŸ
ã»ããå ¥åããå¥ã®å ¥åãžã®ã¯ãã¹ãã§ãŒãïŒ
ffmpeg -i first.flac -i second.flac -filter_complex aroundfade = d = 10ïŒc1 = expïŒc2 = exp output.flac
ã»ããå ¥åããå¥ã®å ¥åãžã®ã¯ãã¹ãã§ãŒãã§ããããªãŒããŒã©ããããããšã¯ãããŸããã
ffmpeg -i first.flac -i second.flac -filter_complex aroundfade = d = 10ïŒo = 0ïŒc1 = expïŒc2 = exp output.flac
é ã
XNUMXã€ãŸãã¯è€æ°ã®ãªãŒãã£ãªãã£ãã«ãé 延ãããŸãã
é 延ãã£ã³ãã«ã®ãµã³ãã«ã¯ç¡é³ã§æºããããŠããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
é 延
'|'ã§åºåãããåãã£ãã«ã®é ââ延ã®ãªã¹ããããªç§åäœã§èšå®ããŸãã å°ãªããšãäžã€ã®
0ãã倧ããé 延ãæå®ããå¿ èŠããããŸãã æªäœ¿çšã®é 延ã¯é»ã£ãŠç¡èŠãããŸãã ããã
æå®ãããé 延ã®æ°ã¯ãæ®ãã®ãã¹ãŠã®ãã£ãã«ã®ãã£ãã«æ°ãããå°ãªããªããŸã
é ããããšã¯ãããŸããã
äŸ
ã»æåã®ãã£ãã«ã1.5ç§é ããã0.5çªç®ã®ãã£ãã«ãXNUMXç§é ãããŠã
XNUMXçªç®ã®ãã£ãã«ïŒããã³ååšããå¯èœæ§ã®ããä»ã®ãã£ãã«ïŒã¯å€æŽãããŸããã
adelay = 1500 | 0 | 500
ãšã³ãŒ
å ¥åãªãŒãã£ãªã«ãšã³ãŒãé©çšããŸãã
ãšã³ãŒã¯åå°é³ã§ãããå±±ã®äžã§èªç¶ã«çºçããå¯èœæ§ããããŸãïŒå Žåã«ãã£ãŠã¯å€§ãã
建ç©ïŒè©±ãããå«ãã ããããšãã ããžã¿ã«ãšã³ãŒãšãã§ã¯ãã¯ãã®åäœããšãã¥ã¬ãŒããã
å€ãã®å Žåãåäžã®æ¥œåšãããŒã«ã«ã®ãµãŠã³ããåããããã«äœ¿çšãããŸãã æå·®
å ã®ä¿¡å·ãšåå°ã®éã«ã¯ãé 延ãããããã©ãŠããã¹ã¯
åå°ä¿¡å·ã¯ãæžè¡°ãã§ãã è€æ°ã®ãšã³ãŒã¯ãç°ãªãé 延ãšæžè¡°ãæã€å¯èœæ§ããããŸãã
åãå ¥ãããããã©ã¡ãŒã¿ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
ã€ã³ã²ã€ã³
åå°ä¿¡å·ã®å ¥åã²ã€ã³ãèšå®ããŸãã ããã©ã«ãã¯0.6ã§ãã
ã¢ãŠãã²ã€ã³
åå°ä¿¡å·ã®åºåã²ã€ã³ãèšå®ããŸãã ããã©ã«ãã¯0.3ã§ãã
é 延
å ã®ä¿¡å·ãšåå°ã®éã®æéééã®ãªã¹ããããªç§åäœã§èšå®ããŸã
'|'ã§åºåãããŸãã åãé 延ãã®èš±å®¹ç¯å²ã¯ãïŒ0-90000.0]ãã§ããããã©ã«ãã¯1000ã§ãã
厩å£ãã
'|'ã§åºåãããåå°ä¿¡å·ã®ã©ãŠããã¹ã®ãªã¹ããèšå®ããŸãã ããããã®èš±å®¹ç¯å²
ãæžè¡°ãã¯ãïŒ0-1.0]ãã§ããããã©ã«ãã¯0.5ã§ãã
äŸ
ã»å®éã«æŒå¥ããŠãã楜åšã®XNUMXåã®æ°ã®æ¥œåšããããã®ããã«èãããããã«ããŸãã
aecho = 0.8ïŒ0.88ïŒ60ïŒ0.4
ã»é 延ãéåžžã«çãå Žåã¯ãïŒéå±è£œã®ïŒãããããé³æ¥œãåçããŠããããã«èãããŸãã
aecho = 0.8ïŒ0.88ïŒ6ïŒ0.4
ã»ããé·ãé 延ã¯ãå±±ã§ã®éå€ã³ã³ãµãŒãã®ããã«èãããŸãã
aecho = 0.8ïŒ0.9ïŒ1000ïŒ0.3
ã»äžèšãšåãã§ãããããXNUMXã€ã®å±±ããããŸãã
aecho=0.8:0.9:1000|1800:0.3|0.25
è©äŸ¡
æå®ãããåŒã«åŸã£ãŠãªãŒãã£ãªä¿¡å·ãå€æŽããŸãã
ãã®ãã£ã«ã¿ãŒã¯ãè©äŸ¡ãããXNUMXã€ä»¥äžã®åŒïŒãã£ãã«ããšã«XNUMXã€ïŒãåãå ¥ããŸãã
察å¿ãããªãŒãã£ãªä¿¡å·ãå€æŽããããã«äœ¿çšãããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
åŒ
åå¥ã®ãã£ãã«ããšã«ã|ãã§åºåãããåŒã®ãªã¹ããèšå®ããŸãã ã®æ°ã®å Žå
å ¥åãã£ãã«ããæåŸã«æå®ãããåŒã®æ°ããã倧ãã
åŒã¯æ®ãã®åºåãã£ãã«ã«äœ¿çšãããŸãã
channel_layoutã c
åºåãã£ã³ãã«ã®ã¬ã€ã¢ãŠããèšå®ããŸãã æå®ããªãå Žåããã£ãã«ã¬ã€ã¢ãŠãã¯ã«ãã£ãŠæå®ãããŸãã
åŒã®æ°ã ã«èšå®ãããŠããå Žå åããããã©ã«ãã§åãå ¥åãã£ã³ãã«ã䜿çšããŸã
ã¬ã€ã¢ãŠãã
ã®ååŒ åŒ æ¬¡ã®å®æ°ãšé¢æ°ãå«ããããšãã§ããŸãã
ch çŸåšã®åŒã®ãã£ãã«çªå·
n 0ããå§ãŸãè©äŸ¡ããããµã³ãã«ã®æ°
s ãµã³ãã«ã¬ãŒã
t è©äŸ¡ããããµã³ãã«ã®æéïŒç§åäœïŒ
nb_in_channels
nb_out_channels
ãã£ãã«ã®å ¥åããã³åºåæ°
valïŒCHïŒ
çªå·ä»ãã®å ¥åãã£ã³ãã«ã®å€ CH
泚ïŒãã®ãã£ã«ã¿ãŒã¯äœéã§ãã åŠçãé«éåããã«ã¯ãå°çšã®ãã£ã«ã¿ãŒã䜿çšããå¿ èŠããããŸãã
äŸ
ã»ååã®ããªã¥ãŒã ïŒ
aeval = valïŒchïŒ/ 2ïŒc =åã
ã»XNUMXçªç®ã®ãã£ãã«ã®äœçžãå転ããŸãã
aeval =ãŽã¡ã«ïŒ0ïŒ|-ãŽã¡ã«(1)
è¡°é
å ¥åãªãŒãã£ãªã«ãã§ãŒãã€ã³/ãã§ãŒãã¢ãŠãå¹æãé©çšããŸãã
åãå ¥ãããããã©ã¡ãŒã¿ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
ã¿ã€ãã t
ãšãã§ã¯ãã¿ã€ããæå®ããŸãããã§ãŒãã€ã³ã®å Žåã¯ãinãããã§ãŒãã¢ãŠãã®å Žåã¯ãoutãã®ããããã«ãªããŸãã
å¹æã ããã©ã«ãã¯ãinãã§ãã
start_sampleã ss
ãã§ãŒãå¹æã®é©çšãéå§ããéå§ãµã³ãã«ã®çªå·ãæå®ããŸãã ãã£ãã©ã«ã
0ã§ãã
nb_samplesã ns
ãã§ãŒãå¹æãæç¶ãããµã³ãã«æ°ãæå®ããŸãã ã®çµããã«
ãã§ãŒãã€ã³å¹æã§ã¯ãåºåãªãŒãã£ãªã¯å ¥åãªãŒãã£ãªãšåãé³éã«ãªããŸãã
ãã§ãŒãã¢ãŠãé·ç§»ãçµäºãããšãåºåãªãŒãã£ãªã¯ç¡é³ã«ãªããŸãã ããã©ã«ãã¯44100ã§ãã
å§ãŸãæéã st
ãã§ãŒããšãã§ã¯ãã®éå§æéãæå®ããŸãã ããã©ã«ãã¯0ã§ããå€ãæå®ããå¿ èŠããããŸã
æéãšããŠ; èŠã ã Time ãã¥ã¬ãŒã·ã§ã³ in ã ffmpeg-utils(1) ããã¥ã¢ã« for
åãå ¥ããããæ§æã èšå®ãããšã代ããã«ãã®ãªãã·ã§ã³ã䜿çšãããŸã éå§ãµã³ãã«.
ãã¥ã¬ãŒã·ã§ã³ã d
ãã§ãŒãå¹æã®æç¶æéãæå®ããŸãã èŠã ã Time ãã¥ã¬ãŒã·ã§ã³ in ã
ffmpeg-utils(1) ããã¥ã¢ã« åãå ¥ããããæ§æã«ã€ããŠã ãã§ãŒãã€ã³å¹æã®çµäºæã«ã
ãã§ãŒãã¢ãŠãã®çµäºæã«ãåºåãªãŒãã£ãªã¯å ¥åãªãŒãã£ãªãšåãé³éã«ãªããŸã
ãã©ã³ãžã·ã§ã³ãããšãåºåãªãŒãã£ãªã¯ç¡é³ã«ãªããŸãã ããã©ã«ãã§ã¯ãæéã¯ã«ãã£ãŠæ±ºå®ãããŸã
nb_samplesã èšå®ãããšã代ããã«ãã®ãªãã·ã§ã³ã䜿çšãããŸã nb_samples.
æ²ç·
ãã§ãŒããã©ã³ãžã·ã§ã³ã®ã«ãŒããèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
ãã©ã€ äžè§åœ¢ã®ç·åœ¢åŸé ãéžæïŒããã©ã«ãïŒ
ã¯ã·ã³
æ£åŒŠæ³¢ã®XNUMXåã®XNUMXãéžæ
ã·ã³
æ£åŒŠæ³¢ã®ååãéžæããŸã
éæ
ææ°æ£åŒŠæ³¢ãéžæããŸã
ã㰠察æ°ãéžæ
ã€ããŒ
éæŸç©ç·ãéžæ
ãã㧠äºæ¬¡æ¹çšåŒãéžæ
ãã¥ãŒã ãã¥ãŒããã¯ãéžæ
ã¹ã¯ãšã¢ å¹³æ¹æ ¹ãéžæ
CBR ç«æ¹æ ¹ãéžæ
ã㌠æŸç©ç·ãéžæ
EXP ææ°é¢æ°ãéžæ
ã€ã¯ã·ã³
æ£åŒŠæ³¢ã®å転XNUMX/XNUMXãéžæããŸã
ã€ã·ã³
æ£åŒŠæ³¢ã®å転ããååãéžæããŸã
ãã¹
äºéææ°ã·ãŒããéžæ
ããž
äºéææ°ã·ã°ã¢ã€ããéžæããŸã
äŸ
ã»ãªãŒãã£ãªã®æåã®15ç§ã§ãã§ãŒãã€ã³ããŸãã
afade = t = inïŒss = 0ïŒd = 15
ã»25ç§ã®ãªãŒãã£ãªã®æåŸã®900ç§ããã§ãŒãã¢ãŠãããŸãã
afade = t = outïŒst = 875ïŒd = 25
ãã©ãŒããããã
å ¥åãªãŒãã£ãªã®åºå圢åŒã®å¶çŽãèšå®ããŸãã ãã¬ãŒã ã¯ãŒã¯ã¯æã亀æžããŸã
å€æãæå°éã«æããããã®é©åãªåœ¢åŒã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ãµã³ãã«fmts
èŠæ±ããããµã³ãã«åœ¢åŒã®ã|ãã§åºåããããªã¹ãã
ãµã³ãã«æé
èŠæ±ããããµã³ãã«ã¬ãŒãã®ã|ãã§åºåããããªã¹ãã
ãã£ã³ãã«ã¬ã€ã¢ãŠã
èŠæ±ããããã£ãã«ã¬ã€ã¢ãŠãã®ã|ãã§åºåããããªã¹ãã
èŠã ã ãã£ãã« ã¬ã€ã¢ãŠã in ã ffmpeg-utils(1) ããã¥ã¢ã« å¿ èŠãªæ§æã«ã€ããŠã
ãã©ã¡ãŒã¿ãçç¥ãããšããã¹ãŠã®å€ãèš±å¯ãããŸãã
åºåã笊å·ãªã8ããããŸãã¯ç¬Šå·ä»ã16ãããã¹ãã¬ãªã«åŒ·å¶ããŸã
aformat = sample_fmts = u8 | s16ïŒchannel_layouts =ã¹ãã¬ãª
ãªãŒã«ãã¹
äžå¿åšæ³¢æ°ïŒHzïŒã®XNUMX極ãªãŒã«ãã¹ãã£ã«ã¿ãŒãé©çšããŸã åšæ³¢æ°ãããã³ãã£ã«ã¿ãŒ-
å¹ å¹ ã ãªãŒã«ãã¹ãã£ã«ã¿ãŒã¯ããªãŒãã£ãªã®åšæ³¢æ°ãšäœçžã®é¢ä¿ãå€æŽããŸã
åšæ³¢æ°ãšæ¯å¹ ã®é¢ä¿ãå€æŽããã«ã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
åšæ³¢æ°ã f
åšæ³¢æ°ãHzã§èšå®ããŸãã
å¹ ã®çš®é¡
ãã£ã«ã¿ã®åž¯åå¹ ãæå®ããã¡ãœãããèšå®ããŸãã
h Hz
q Qãã¡ã¯ã¿ãŒ
o ãªã¯ã¿ãŒã
s ã¹ããŒã
å¹ ã w
ãã£ã«ã¿ã®åž¯åå¹ ãwidth_typeåäœã§æå®ããŸãã
å䜵ãã
XNUMXã€ä»¥äžã®ãªãŒãã£ãªã¹ããªãŒã ãåäžã®ãã«ããã£ãã«ã¹ããªãŒã ã«ããŒãžããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
å ¥å
å ¥åæ°ãèšå®ããŸãã ããã©ã«ãã¯2ã§ãã
å ¥åã®ãã£ãã«ã¬ã€ã¢ãŠããäºãã«çŽ ã§ããããããã£ãŠäºææ§ãããå Žåããã£ãã«
åºåã®ã¬ã€ã¢ãŠãã¯ããã«å¿ããŠèšå®ããããã£ãã«ã¯æ¬¡ã®ããã«äžŠã¹æ¿ããããŸã
å¿ èŠã å ¥åã®ãã£ãã«ã¬ã€ã¢ãŠããã°ãã°ãã§ãªãå Žåãåºåã«ã¯ãã¹ãŠãå«ãŸããŸã
æåã®å ¥åã®ãã£ãã«ã次ã«XNUMXçªç®ã®å ¥åã®ãã¹ãŠã®ãã£ãã«ã®é ã«ã
åºåã®ãã£ãã«ã¬ã€ã¢ãŠãã¯ãåèšã«å¯Ÿå¿ããããã©ã«ãå€ã«ãªããŸã
ãã£ãã«ã®æ°ã
ããšãã°ãæåã®å ¥åã2.1ïŒFL + FR + LFïŒã§ãXNUMXçªç®ã®å ¥åãFC + BL + BRã®å Žåã
ãã®å Žåãåºåã¯5.1ã«ãªãããã£ã³ãã«ã¯æ¬¡ã®é åºã«ãªããŸãïŒa1ãa2ãb1ãa3ã
b2ãb3ïŒa1ã¯æåã®å ¥åã®æåã®ãã£ãã«ãb1ã¯XNUMXçªç®ã®å ¥åã®æåã®ãã£ãã«ã§ã
å ¥åïŒã
äžæ¹ãäž¡æ¹ã®å ¥åãã¹ãã¬ãªã®å Žåãåºåãã£ã³ãã«ã¯ããã©ã«ãã«ãªããŸã
é åºïŒa1ãa2ãb1ãb2ãããã³ãã£ãã«ã¬ã€ã¢ãŠãã¯ä»»æã«4.0ã«èšå®ãããŸãã
æåŸ å€ã§ã¯ãªãå¯èœæ§ããããŸãã
ãã¹ãŠã®å ¥åã¯ãåããµã³ãã«ã¬ãŒããšãã©ãŒãããã§ããå¿ èŠããããŸãã
å ¥åã®æç¶æéãåãã§ãªãå Žåãåºåã¯æçã§åæ¢ããŸãã
äŸ
ã»XNUMXã€ã®ã¢ãã©ã«ãã¡ã€ã«ãã¹ãã¬ãªã¹ããªãŒã ã«ããŒãžããŸãã
amovie = left.wav [l]; amovie = right.mp3 [r]; [l] [r] amerge
ã»1ã€ã®ãããªã¹ããªãŒã ãš6ã€ã®ãªãŒãã£ãªã¹ããªãŒã ãæ³å®ããè€æ°ã®ããŒãž å ¥å.mkv:
ffmpeg -i input.mkv -filter_complex "[0ïŒ1] [0ïŒ2] [0ïŒ3] [0ïŒ4] [0ïŒ5] [0ïŒ6] amerge = inputs = 6" -cïŒa pcm_s16le output.mkv
æ··å
è€æ°ã®ãªãŒãã£ãªå ¥åãXNUMXã€ã®åºåã«ããã¯ã¹ããŸãã
ãã®ãã£ã«ã¿ãŒã¯ãããŒããµã³ãã«ã®ã¿ããµããŒãããããšã«æ³šæããŠãã ããïŒ å䜵ãã ãš ãã³ ãªãŒãã£ãªãã£ã«ã¿ãŒ
å€ãã®ãã©ãŒãããããµããŒãããŸãïŒã ã®å Žå æ··å å ¥åã«ã¯æŽæ°ãµã³ãã«ãããã ãããµã³ãã« ãªããŸã
ãããŒããµã³ãã«ãžã®å€æãå®è¡ããããã«èªåçã«æ¿å ¥ãããŸãã
äŸãã°ã
ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix = input = 3ïŒduration = firstïŒdropout_transition = 3 OUTPUT
3ã€ã®å ¥åãªãŒãã£ãªã¹ããªãŒã ãæåã®åºåãšåãé·ãã®åäžã®åºåã«ããã·ã³ã°ããŸã
å ¥åãš3ç§ã®ããããã¢ãŠãé·ç§»æéã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
å ¥å
å ¥åã®æ°ã æå®ããªãå Žåãããã©ã«ãã§2ã«ãªããŸãã
ãã¥ã¬ãŒã·ã§ã³
ã¹ããªãŒã ã®çµãããå€æããæ¹æ³ã
æé·
æé·ã®å ¥åã®ç¶ç¶æéã ïŒãã£ãã©ã«ãïŒ
æç
æçå ¥åã®ç¶ç¶æéã
æåã®
æåã®å ¥åã®æéã
ããããã¢ãŠã_ãã©ã³ãžã·ã§ã³
å ¥åã¹ããªãŒã ãçµäºãããšãã®ããªã¥ãŒã ã®åæ£èŠåã®é·ç§»æéïŒç§åäœïŒã
ããã©ã«ãå€ã¯ 2 ç§ã§ãã
ç¡å¹
ãªãŒãã£ãªãœãŒã¹ãå€æŽããã«åºåã«æž¡ããŸãã
ã¢ããã
ãªãŒãã£ãªã¹ããªãŒã ã®æåŸãç¡é³ã§åããŸãã
ããã¯äžç·ã«äœ¿çšããããšãã§ããŸã ffmpeg -æç ãªãŒãã£ãªã¹ããªãŒã ãåãé·ãã«æ¡åŒµããã«ã¯
ãããªã¹ããªãŒã ãšããŠã
åãå ¥ãããããªãã·ã§ã³ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
ãã±ãããµã€ãº
ç¡é³ãã±ãããµã€ãºãèšå®ããŸãã ããã©ã«ãå€ã¯4096ã§ãã
ãããã¬ã³
æåŸã«è¿œå ããç¡é³ã®ãµã³ãã«æ°ãèšå®ããŸãã å€ã«éããåŸã
ã¹ããªãŒã ã¯çµäºããŸãã ãã®ãªãã·ã§ã³ã¯çžäºã«æä»çã§ã å šäœ_len.
å šäœ_len
åºåãªãŒãã£ãªã¹ããªãŒã ã®ãµã³ãã«ã®æå°ç·æ°ãèšå®ããŸãã å€ã
å ¥åãªãŒãã£ãªã®é·ããããé·ãå Žåãå€ã次ã®ããã«ãªããŸã§ãç¡é³ãæåŸã«è¿œå ãããŸã
ã«éããã ãã®ãªãã·ã§ã³ã¯çžäºã«æä»çã§ã ãããã¬ã³.
ã©ã¡ãã ãããã¬ã³ ã å šäœ_len ãªãã·ã§ã³ãèšå®ãããŠããå Žåããã£ã«ã¿ãŒã¯ç¡é³ãè¿œå ããŸã
å ¥åã¹ããªãŒã ã®çµããã¯ç¡æéã§ãã
äŸ
ã»å ¥åã®æåŸã«1024ãµã³ãã«ã®ç¡é³ãè¿œå ããŸãã
apad = pad_len = 1024
ã»ãªãŒãã£ãªåºåã«å°ãªããšã10000ãµã³ãã«ãå«ãŸããŠããããšã確èªããå ¥åã«æ¬¡ã®ããã«åã蟌ã¿ãŸãã
å¿ èŠã«å¿ããŠæ²é»ïŒ
apad = Wholesale_len = 10000
㻠䜿çšãã ffmpeg ãªãŒãã£ãªå ¥åãç¡é³ã§åããŠããããªã¹ããªãŒã ãåžžã«
çµæãæçã«ãªãã䜿çšæã«åºåãã¡ã€ã«ã®æåŸãŸã§å€æãããŸã
ã æç ãªãã·ã§ã³ïŒ
ffmpeg -i VIDEO -i AUDIO -filter_complex "[1ïŒ0] apad" -shortest OUTPUT
ã¢ãã§ãŒã¶ãŒ
å ¥åãªãŒãã£ãªã«ãã§ãŒãžã³ã°å¹æãè¿œå ããŸãã
ãã§ã€ã¶ãŒãã£ã«ã¿ãŒã¯ãåšæ³¢æ°ã¹ãã¯ãã«ã«äžé£ã®å±±ãšè°·ãäœæããŸãã The
å±±ãšè°·ã®äœçœ®ã¯ãæéã®çµéãšãšãã«å€åããããã«èª¿æŽããã
ã¹ã€ãŒãå¹æã
åãå ¥ãããããã©ã¡ãŒã¿ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
ã€ã³ã²ã€ã³
å ¥åã²ã€ã³ãèšå®ããŸãã ããã©ã«ãã¯0.4ã§ãã
ã¢ãŠãã²ã€ã³
åºåã²ã€ã³ãèšå®ããŸãã ããã©ã«ãã¯0.74ã§ã
é ããã
é 延ãããªç§åäœã§èšå®ããŸãã ããã©ã«ãã¯3.0ã§ãã
厩å£
æžè¡°ãèšå®ããŸãã ããã©ã«ãã¯0.4ã§ãã
ã¹ããŒã
å€èª¿é床ãHzã§èšå®ããŸãã ããã©ã«ãã¯0.5ã§ãã
type
å€èª¿ã¿ã€ããèšå®ããŸãã ããã©ã«ãã¯äžè§åœ¢ã§ãã
次ã®å€ãåãå ¥ããŸãã
äžè§ã t
æ£åŒŠæ³¢ã s
ãããµã³ãã«
libswresampleã©ã€ãã©ãªã䜿çšããŠãå ¥åãªãŒãã£ãªãæå®ããããã©ã¡ãŒã¿ã«ãªãµã³ããªã³ã°ããŸãã ããã
äœãæå®ãããŠããªãå Žåããã£ã«ã¿ãŒã¯å ¥åãšå ¥åã®éã§èªåçã«å€æããŸã
åºåã
ãã®ãã£ã«ã¿ãŒã¯ãã¿ã€ã ã¹ã¿ã³ããšäžèŽããããã«ãªãŒãã£ãªããŒã¿ãã¹ãã¬ãã/ã¹ã¯ã€ãŒãºããããšãã§ããŸã
ãŸãã¯ãã¿ã€ã ã¹ã¿ã³ããšäžèŽããããã«ç¡é³ãæ¿å ¥/ãªãŒãã£ãªãåãåãã«ã¯ã次ã®çµã¿åãããå®è¡ããŸã
äž¡æ¹ãŸãã¯ã©ã¡ããããŸããã
ãã£ã«ã¿ã¯æ§æãåãå ¥ããŸã[ãµã³ãã«ã¬ãŒã:]ãªãµã³ãã©ãŒ_ãªãã·ã§ã³ããã§ã ãµã³ãã«ã¬ãŒã è¡šçŸãã
ãµã³ãã«ã¬ãŒããš ãªãµã³ãã©ãŒ_ãªãã·ã§ã³ ã®ãªã¹ãã§ã ããŒ=å€ ãïŒãã§åºåããããã¢ã èŠã
ãµããŒããããŠãããªãã·ã§ã³ã®å®å šãªãªã¹ãã«ã€ããŠã¯ãffmpeg-resamplerã®ããã¥ã¢ã«ãåç §ããŠãã ããã
äŸ
ã»å ¥åãªãŒãã£ãªã44100Hzã«ãªãµã³ããªã³ã°ããŸãã
aresample = 44100
ã»æå®ãããã¿ã€ã ã¹ã¿ã³ãã«ãµã³ãã«ãã¹ãã¬ãã/ã¹ã¯ã€ãŒãºããŸãã1000ã€ãããæ倧XNUMXãµã³ãã«ã§ãã
XNUMXçªç®ã®è£åïŒ
aresample = async = 1000
asetnãµã³ãã«
ååºåãªãŒãã£ãªãã¬ãŒã ããšã®ãµã³ãã«æ°ãèšå®ããŸãã
ãã£ã«ã¿ããã©ãã·ã¥ãããããæåŸã®åºåãã±ããã«ã¯ç°ãªãæ°ã®ãµã³ãã«ãå«ãŸããå ŽåããããŸã
å ¥åãªãŒãã£ãªãçµäºãéç¥ãããšãã®æ®ãã®ãã¹ãŠã®ãµã³ãã«ã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
nb_out_samplesã n
ååºåãªãŒãã£ãªãã¬ãŒã ãããã®ãã¬ãŒã æ°ãèšå®ããŸãã çªå·ã¯ã
ãµã³ãã«æ° 以äžã®ããã« å ãã£ã³ãã«ã ããã©ã«ãå€ã¯1024ã§ãã
ãããã p
1ã«èšå®ãããšããã£ã«ã¿ãŒã¯æåŸã®ãªãŒãã£ãªãã¬ãŒã ããŒãã§åããã®ã§ãæåŸã®ãªãŒãã£ãªãã¬ãŒã ã¯ãŒãã«ãªããŸãã
ãã¬ãŒã ã«ã¯ãåã®ãµã³ãã«ãšåãæ°ã®ãµã³ãã«ãå«ãŸããŸãã ããã©ã«ãå€ã¯
1.
ããšãã°ããã¬ãŒã ããšã®ãµã³ãã«æ°ã1234ã«èšå®ãã
æåŸã®ãã¬ãŒã ã䜿çšïŒ
asetnsamples = n = 1234ïŒp = 0
ã¢ã»ã¬ãŒã
PCMããŒã¿ãå€æŽããã«ãµã³ãã«ã¬ãŒããèšå®ããŸãã ããã«ãããé床ãå€åããŸã
ãšãããã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãµã³ãã«ã¬ãŒãã r
åºåãµã³ãã«ã¬ãŒããèšå®ããŸãã ããã©ã«ãã¯44100Hzã§ãã
ã¢ã·ã§ãŒã€ã³ãã©
åå ¥åãªãŒãã£ãªãã¬ãŒã ã®ããŸããŸãªæ å ±ãå«ãè¡ã衚瀺ããŸãã å ¥åãªãŒãã£ãªã¯
å€æŽãããŠããŸããã
瀺ãããŠããè¡ã«ã¯ããã©ãŒã ã®ããŒãšå€ã®ãã¢ã®ã·ãŒã±ã³ã¹ãå«ãŸããŠããŸã ããŒ:å€.
次ã®å€ãåºåã«è¡šç€ºãããŸãã
n 0ããå§ãŸãå ¥åãã¬ãŒã ã®ïŒã·ãŒã±ã³ã·ã£ã«ïŒçªå·ã
PTS å ¥åãã¬ãŒã ã®è¡šç€ºã¿ã€ã ã¹ã¿ã³ãïŒã¿ã€ã ããŒã¹åäœïŒã ã¿ã€ã ããŒã¹
ãã£ã«ã¿å ¥åãããã«äŸåããéåžžã¯1 /ã§ãããµã³ãã«ã¬ãŒã.
pts_time
å ¥åãã¬ãŒã ã®è¡šç€ºã¿ã€ã ã¹ã¿ã³ãïŒç§åäœïŒã
æçš¿ãã å ¥åã¹ããªãŒã å ã®ãã¬ãŒã ã®äœçœ®ããã®æ å ±ãå©çšã§ããªãå Žåã¯-1
ããã³/ãŸãã¯ç¡æå³ïŒããšãã°ãåæãªãŒãã£ãªã®å ŽåïŒ
FMT ãµã³ãã«ãã©ãŒãããã
ã¬ã€ã¢ãŠã
ãã£ãã«ã¬ã€ã¢ãŠãã
ç
ãªãŒãã£ãªãã¬ãŒã ã®ãµã³ãã«ã¬ãŒãã
nb_samples
ãã¬ãŒã å ã®ãµã³ãã«æ°ïŒãã£ãã«ãããïŒã
ãã§ãã¯ãµã
ãªãŒãã£ãªããŒã¿ã®Adler-32ãã§ãã¯ãµã ïŒXNUMXé²æ°ã§å°å·ïŒã å¹³é¢ãªãŒãã£ãªã®å Žåã
ããŒã¿ã¯ããã¹ãŠã®å¹³é¢ãé£çµãããŠãããã®ããã«æ±ãããŸãã
planet_checksums
åããŒã¿ãã¬ãŒã³ã®Adler-32ãã§ãã¯ãµã ã®ãªã¹ãã
ã¢ã¹ã¿ãã³
ãªãŒãã£ãªãã£ãã«ã«é¢ããæéé åã®çµ±èšæ å ±ã衚瀺ããŸãã çµ±èšã¯
ãªãŒãã£ãªãã£ãã«ããšã«èšç®ããã³è¡šç€ºããã該åœããå Žåã¯å šäœã®æ°å€
ãäžããããŸãã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
é·ã
çããŠã£ã³ããŠã®é·ãïŒç§åäœïŒãããŒã¯ããã³ãã©ãã®RMS枬å®ã«äœ¿çšãããŸãã ããã©ã«ãã¯
0.05ïŒ50ããªç§ïŒã 蚱容ç¯å²ã¯ã[0.1-10]ãã§ãã
ã¡ã¿ããŒã¿ã€ã³ãžã§ã¯ã·ã§ã³ãèšå®ããŸãã ãã¹ãŠã®ã¡ã¿ããŒã¿ããŒã«ã¯ãlavfi.astats.Xããšãããã¬ãã£ãã¯ã¹ãä»ããŠããŸãã
ããã§ããXãã¯1ããå§ãŸããã£ãã«çªå·ãŸãã¯æååãOverallãã§ãã ããã©ã«ãã¯ç¡å¹ã§ãã
åãã£ãã«ã§äœ¿çšå¯èœãªããŒã¯æ¬¡ã®ãšããã§ããDC_offsetMin_levelMax_levelMin_difference
æ倧差 å¹³åå·® ããŒã¯ã¬ãã« RMS_ããŒã¯ RMSãã©ã ã¯ã¬ã¹ããã¡ã¯ã¿ãŒ ãã©ãããã¡ã¯ã¿ãŒ
ããŒã¯æ° ããã深床
ããã³å šäœã®å ŽåïŒDC_offset Min_level Max_level Min_difference Max_difference
å¹³åå·® ããŒã¯ã¬ãã« RMS ã¬ãã« RMS ããŒã¯ RMS ãã©ã ãã©ãããã¡ã¯ã¿ãŒ ããŒã¯æ°
ããã深床 ãµã³ãã«æ°
ããšãã°ãå®å šãªããŒã¯æ¬¡ã®ããã«ãªããŸããlavfi.astats.1.DC_offsetããŸãã¯ãã®
ãlavfi.astats.Overall.Peak_countãã
åããŒã®æå³ã®èª¬æã«ã€ããŠã¯ã以äžããèªã¿ãã ããã
ãªã»ãã
çµ±èšãåèšç®ããããã¬ãŒã æ°ãèšå®ããŸãã ããã©ã«ãã¯
ç¡å¹ã«ããã
瀺ãããŠããåãã©ã¡ãŒã¿ãŒã®èª¬æã¯æ¬¡ã®ãšããã§ãã
DC ãªãã»ãã
ãŒãããã®å¹³åæ¯å¹ å€äœã
æå°å€ ã¬ãã«
æå°éã®ãµã³ãã«ã¬ãã«ã
æå€§å€ ã¬ãã«
æ倧ãµã³ãã«ã¬ãã«ã
æå°å€ éã
XNUMXã€ã®é£ç¶ãããµã³ãã«éã®æå°ã®éãã
æå€§å€ éã
XNUMXã€ã®é£ç¶ãããµã³ãã«éã®æ倧差ã
å¹³å éã
XNUMXã€ã®é£ç¶ãããµã³ãã«éã®å¹³åå·®ã åå·®ã®å¹³å
XNUMXã€ã®é£ç¶ãããµã³ãã«éã
ããŒã¯ ã¬ãã« dB
RMS ã¬ãã« dB
dBFSã§æž¬å®ãããæšæºããŒã¯ããã³RMSã¬ãã«ã
RMS ããŒã¯ dB
RMS ãã©ã dB
çããŠã£ã³ããŠã§æž¬å®ãããRMSã¬ãã«ã®ããŒã¯å€ãšãã©ãå€ã
ã¯ã¬ã¹ã èŠå
RMSã¬ãã«ã«å¯ŸããããŒã¯ã®æšæºæ¯çïŒæ³šïŒdBåäœã§ã¯ãããŸããïŒã
ãã©ããåã®åã¯å®å šã«å¹³è¡ãªç¶æ ã§ã¯ãããŸããããã³ãã«ã«åã®åãããæããã«å¹³ãã«ãªã£ãŠãããå¹ ãã³ãã«ã«åã«æ¯ã¹ãŠåºãããšãå€ãã§ãã èŠå
ããŒã¯æã®ä¿¡å·ã®å¹³åŠåºŠïŒã€ãŸããåãå€ã®é£ç¶ãµã³ãã«ïŒ
ã¬ãã«ïŒã€ãŸããã©ã¡ãã æå°å€ ã¬ãã« or æå€§å€ ã¬ãã«).
ããŒã¯ ã«ãŠã³ã
ä¿¡å·ãå°éããåæ°ïŒãµã³ãã«æ°ã§ã¯ãªãïŒ æå°å€
ã¬ãã« or æå€§å€ ã¬ãã«.
ããã æ·±ã
ãªãŒãã£ãªã®å šäœçãªããã深床ã åãµã³ãã«ã«äœ¿çšããããããæ°ã
ã¹ããªãŒã ã·ã³ã¯
XNUMXã€ã®ãªãŒãã£ãªã¹ããªãŒã ã転éãããããã¡ã転éãããé åºãå¶åŸ¡ããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
exprã e
次ã«è»¢éããã¹ããªãŒã ã決å®ããåŒãèšå®ããŸããçµæã次ã®å Žå
è² ã®å Žåãæåã®ã¹ããªãŒã ã転éãããŸãã çµæãæ£ãŸãã¯ãŒãã®å ŽåãXNUMXçªç®
ã¹ããªãŒã ã転éãããŸãã 次ã®å€æ°ã䜿çšã§ããŸãã
b1 b2
åã¹ããªãŒã ã§ãããŸã§ã«è»¢éããããããã¡ã®æ°
s1 s2
åã¹ããªãŒã ã§ãããŸã§ã«è»¢éããããµã³ãã«ã®æ°
t1 t2
åã¹ããªãŒã ã®çŸåšã®ã¿ã€ã ã¹ã¿ã³ã
ããã©ã«ãå€ã¯ãt1-t2ãã§ããããã¯ã
ã¿ã€ã ã¹ã¿ã³ããå°ããã
äŸ
ã¹ãã¬ã¹ãã¹ããããŒãžããåé¿ããªãããééã£ãå ¥åã«ã©ã³ãã ã«ãããã¡ãéä¿¡ããŸã
éåæåã®å€ãïŒ
amovie = file.ogg [a]; amovie = file.mp3 [b];
[a] [b] astreamsync =ïŒ2 *ã©ã³ãã (1))-1+tanh(5*(t1-t2)) [a2] [b2] ;
[a2] [b2] ã¢ããŒãž
éåæ
ãªãŒãã£ãªããŒã¿ãã¹ã¯ã€ãŒãº/ã¹ãã¬ããããã³/ãŸãã¯ããããããããšã«ãããã¿ã€ã ã¹ã¿ã³ããšåæããŸã
ãµã³ãã«/å¿ èŠã«å¿ããŠç¡é³ãè¿œå ããŸãã
ãã®ãã£ã«ã¿ãŒã¯ããã©ã«ãã§ã¯äœæãããŠããŸããã䜿çšããŠãã ãã ãããµã³ãã« çµã/ã¹ãã¬ãããè¡ããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
è£ã
ããŒã¿ãã¿ã€ã ã¹ã¿ã³ããšäžèŽããããã«ã¹ãã¬ãã/ã¹ã¯ã€ãŒãºã§ããããã«ããŸãã ã«ãã£ãŠç¡å¹å
ãã£ãã©ã«ãã ç¡å¹ã«ãããšãæéã®ã®ã£ããã¯æ²é»ã§èŠãããŸãã
min_delta
ããªã¬ãŒããã¿ã€ã ã¹ã¿ã³ããšãªãŒãã£ãªããŒã¿ã®æå°å·®ïŒç§åäœïŒ
ãµã³ãã«ã®è¿œå /åé€ã ããã©ã«ãå€ã¯0.1ã§ãã ãšã®åæãäžå®å šãªå Žå
ãã®ãã£ã«ã¿ãŒããã®ãã©ã¡ãŒã¿ãŒã0ã«èšå®ããŠã¿ãŠãã ããã
max_comp
1ç§ãããã®ãµã³ãã«ã®æ倧è£æ£ã è£å= XNUMXã«ã®ã¿é¢é£ããŸãã The
ããã©ã«ãå€ã¯500ã§ãã
first_pts
æåã®PTSããã®å€ã§ãããšæ³å®ããŸãã ã¿ã€ã ããŒã¹ã¯1 /ãµã³ãã«ã¬ãŒãã§ãã ãã®
ã¹ããªãŒã ã®éå§æã«ããã£ã³ã°/ããªãã³ã°ãå¯èœã§ãã ããã©ã«ãã§ã¯ãä»®å®ã¯ãããŸãã
æåã®ãã¬ãŒã ã®äºæ³ãããPTSã«ã€ããŠäœæããããããããã£ã³ã°ãããªãã³ã°ã¯è¡ãããŸããã ã«ãšã£ãŠ
ããšãã°ããªãŒãã£ãªã¹ããªãŒã ã®å Žåãããã0ã«èšå®ããŠãæåãç¡é³ã§åããããšãã§ããŸãã
ãããªã¹ããªãŒã ã®åŸã«éå§ããããPTSãè² ã®ãµã³ãã«ãããªãã³ã°ãã
ãšã³ã³ãŒããŒé 延ã
ã¢ãã³ã
ãªãŒãã£ãªãã³ãã調æŽããŸãã
ãã£ã«ã¿ã¯ããªãŒãã£ãªãã³ããšããXNUMXã€ã®ãã©ã¡ãŒã¿ã®ã¿ãåãå ¥ããŸãã æå®ãããŠããªãå Žåã¯ã
ãã£ã«ã¿ã¯å ¬ç§°1.0ãã³ããæ³å®ããŠããŸãã ãã³ãã¯[0.5ã2.0]ã®ç¯å²ã§ãªããã°ãªããŸããã
äŸ
ã»ãªãŒãã£ãªã80ïŒ ã®ãã³ãã«ã¹ããŒããŠã³ããŸãã
atempo = 0.8
ã»ãªãŒãã£ãªã125ïŒ ã®ãã³ãã«ã¹ããŒãã¢ããããã«ã¯ïŒ
atempo = 1.25
ããªã
åºåã«å ¥åã®XNUMXã€ã®é£ç¶ãããµãããŒããå«ãŸããããã«ãå ¥åãããªãã³ã°ããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
start
ä¿æããã»ã¯ã·ã§ã³ã®éå§ã®ã¿ã€ã ã¹ã¿ã³ãïŒç§åäœïŒã ã€ãŸãããªãŒãã£ãªãµã³ãã«
ã¿ã€ã ã¹ã¿ã³ã start åºåã®æåã®ãµã³ãã«ã«ãªããŸãã
end ãããããããæåã®ãªãŒãã£ãªãµã³ãã«ãã€ãŸããªãŒãã£ãªãµã³ãã«ã®æéãæå®ããŸã
ã¿ã€ã ã¹ã¿ã³ãã®çŽå end ã®æåŸã®ãµã³ãã«ã«ãªããŸã
åºåã
start_pts
ãšåã startããã ãããã®ãªãã·ã§ã³ã§ã¯ããµã³ãã«ã§ã¯ãªãéå§ã¿ã€ã ã¹ã¿ã³ããèšå®ãããŸãã
ç§ã§ãã
end_pts
ãšåã endãã ãããã®ãªãã·ã§ã³ã§ã¯ãçµäºã¿ã€ã ã¹ã¿ã³ããç§ã§ã¯ãªããµã³ãã«ã§èšå®ãããŸãã
ãã¥ã¬ãŒã·ã§ã³
åºåã®æ倧ç¶ç¶æéïŒç§åäœïŒã
éå§ãµã³ãã«
åºåããå¿ èŠãããæåã®ãµã³ãã«ã®çªå·ã
çµäº_ãµã³ãã«
ããããããå¿ èŠãããæåã®ãµã³ãã«ã®çªå·ã
start, end, ãã¥ã¬ãŒã·ã§ã³ æéã®ä»æ§ãšããŠè¡šãããŸãã èŠã ã Time
ãã¥ã¬ãŒã·ã§ã³ in ã ffmpeg-utils(1) ããã¥ã¢ã«.
éå§/çµäºãªãã·ã§ã³ã®æåã®XNUMXã»ãããš ãã¥ã¬ãŒã·ã§ã³ ãªãã·ã§ã³ãèŠãŠãã ãã
ãã¬ãŒã ã¿ã€ã ã¹ã¿ã³ãã_sampleãªãã·ã§ã³ã¯ãééãããµã³ãã«ãã«ãŠã³ãããã ãã§ãã
ãã£ã«ã¿ãŒã ãããã£ãŠãstart / end_ptsãšstart / end_sampleã¯ã
ã¿ã€ã ã¹ã¿ã³ããééã£ãŠããããäžæ£ç¢ºã§ãããããŒãããéå§ããŠããŸããã ãŸãããã®ãã£ã«ã¿ãŒã¯ããã§ã¯ãªãããšã«æ³šæããŠãã ãã
ã¿ã€ã ã¹ã¿ã³ããå€æŽããŸãã åºåã¿ã€ã ã¹ã¿ã³ãããŒãããéå§ããå Žåã¯ã
ã¢ããªã ãã£ã«ã¿ãŒã®åŸã«asetptsãã£ã«ã¿ãŒã
è€æ°ã®éå§ãŸãã¯çµäºãªãã·ã§ã³ãèšå®ãããŠããå Žåããã®ãã£ã«ã¿ãŒã¯è²ªæ¬²ã«ãªãããã¹ãŠãç¶æããããšããŸã
æå®ãããå¶çŽã®å°ãªããšãXNUMXã€ã«äžèŽãããµã³ãã«ã ãã®éšåã ããä¿æãã
äžåºŠã«ãã¹ãŠã®å¶çŽã«äžèŽããè€æ°ã®ã¢ããªã ãã£ã«ã¿ãŒããã§ãŒã³ããŸãã
ããã©ã«ãã§ã¯ããã¹ãŠã®å ¥åãä¿æãããŸãã ãããã£ãŠãããšãã°ã
æå®ãããæéããåã«ãã¹ãŠãä¿æããããã®çµäºå€ã
äŸïŒ
ã»å ¥åã®XNUMXåãé€ããã¹ãŠãããããããŸãã
ffmpeg -i INPUT -af atrim = 60ïŒ120
ã»æåã®1000ãµã³ãã«ã®ã¿ãä¿æããŸãã
ffmpeg -i INPUT -af atrim = end_sample = 1000
ãã³ããã¹
äžå¿åšæ³¢æ°ã®XNUMX極ãã¿ãŒã¯ãŒã¹ãã³ããã¹ãã£ã«ã¿ãŒãé©çšããŸã åšæ³¢æ°,
ïŒ3dBãã€ã³ãïŒåž¯åå¹ å¹ ã The CSG ãªãã·ã§ã³ã¯äžå®ã®ã¹ã«ãŒãã²ã€ã³ãéžæããŸãïŒããŒã¯ã²ã€ã³=
QïŒããã©ã«ãã®ä»£ããã«ïŒäžå®ã®0dBããŒã¯ã²ã€ã³ã ãã£ã«ã¿ã¯ãªã¯ã¿ãŒãããã6dBã§ããŒã«ãªãããŸã
ïŒ20幎ãããXNUMXdBïŒã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
åšæ³¢æ°ã f
ãã£ã«ã¿ã®äžå¿åšæ³¢æ°ãèšå®ããŸãã ããã©ã«ãã¯3000ã§ãã
CSG 1ã«èšå®ãããŠããå Žåãäžå®ã®ã¹ã«ãŒãã²ã€ã³ãããã©ã«ãã¯0ã§ãã
å¹ ã®çš®é¡
ãã£ã«ã¿ã®åž¯åå¹ ãæå®ããã¡ãœãããèšå®ããŸãã
h Hz
q Qãã¡ã¯ã¿ãŒ
o ãªã¯ã¿ãŒã
s ã¹ããŒã
å¹ ã w
ãã£ã«ã¿ã®åž¯åå¹ ãwidth_typeåäœã§æå®ããŸãã
垯åæåŠ
äžå¿åšæ³¢æ°ãæã€XNUMX極ãã¿ãŒã¯ãŒã¹ãã³ããªãžã§ã¯ããã£ã«ã¿ãŒãé©çšããŸã åšæ³¢æ°,
ïŒ3dBãã€ã³ãïŒåž¯åå¹ å¹ ã ãã£ã«ã¿ã¯ãªã¯ã¿ãŒãããã6dBïŒãã£ã±ãŒãããã20dBïŒã§ããŒã«ãªãããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
åšæ³¢æ°ã f
ãã£ã«ã¿ã®äžå¿åšæ³¢æ°ãèšå®ããŸãã ããã©ã«ãã¯3000ã§ãã
å¹ ã®çš®é¡
ãã£ã«ã¿ã®åž¯åå¹ ãæå®ããã¡ãœãããèšå®ããŸãã
h Hz
q Qãã¡ã¯ã¿ãŒ
o ãªã¯ã¿ãŒã
s ã¹ããŒã
å¹ ã w
ãã£ã«ã¿ã®åž¯åå¹ ãwidth_typeåäœã§æå®ããŸãã
ããŒã¹
XNUMX極ã·ã§ã«ãã³ã°ãã£ã«ã¿ãŒã䜿çšããŠããªãŒãã£ãªã®äœé³ïŒäœåïŒåšæ³¢æ°ãããŒã¹ããŸãã¯ã«ããããŸã
æšæºã®hi-fiã®ããŒã³ã³ã³ãããŒã«ãšåæ§ã®å¿çããããŸãã ããã¯ã
æ£ã®åçåïŒEQïŒã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã²ã€ã³ã g
0Hzã§ã²ã€ã³ãäžããŸãã ãã®æçšãªç¯å²ã¯ãçŽ-20ïŒå€§ããªã«ããã®å ŽåïŒãã+20ïŒ
倧ããªããŒã¹ãïŒã æ£ã®ã²ã€ã³ã䜿çšããå Žåã¯ãã¯ãªããã³ã°ã«æ³šæããŠãã ããã
åšæ³¢æ°ã f
ãã£ã«ã¿ã®äžå¿åšæ³¢æ°ãèšå®ããŠãæ¡åŒµãŸãã¯åæžã«äœ¿çšã§ããããã«ããŸãã
ããŒã¹ããŸãã¯ã«ããããåšæ³¢æ°ç¯å²ã ããã©ã«ãå€ã¯100Hzã§ãã
å¹ ã®çš®é¡
ãã£ã«ã¿ã®åž¯åå¹ ãæå®ããã¡ãœãããèšå®ããŸãã
h Hz
q Qãã¡ã¯ã¿ãŒ
o ãªã¯ã¿ãŒã
s ã¹ããŒã
å¹ ã w
ãã£ã«ã¿ã®ã·ã§ã«ãé·ç§»ãã©ã®çšåºŠæ¥ã§ããããå€æããŸãã
ãã€ã¯ã¢ãã
æå®ãããä¿æ°ã§ãã€ã¯ã¢ããIIRãã£ã«ã¿ãŒãé©çšããŸãã ã©ã b0, b1, b2 ãš a0, a1, a2
ããããååãšåæ¯ã®ä¿æ°ã§ãã
BS2B
ããŠã¢ãŒã¹ãã¬ãªãããã€ããŒã©ã«å€æãã¹ãã¬ãªã®ããããã©ã³ãªã¹ãã³ã°ãæ¹åããŸãã
ãªãŒãã£ãªã¬ã³ãŒãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ãããã£ãŒã«
äºåå®çŸ©ãããã¯ãã¹ãã£ãŒãã¬ãã«ã
ããã©ã«ã
ããã©ã«ãã¬ãã«ïŒfcut = 700ãfeed = 50ïŒã
cmoy
Chu Moyåè·¯ïŒfcut = 700ãfeed = 60ïŒã
ãžãã€ã€ãŒ
Jan Meieråè·¯ïŒfcut = 650ãfeed = 95ïŒã
fã«ãã
ã«ããåšæ³¢æ°ïŒHzïŒã
ãã£ãŒã
ãã£ãŒãã¬ãã«ïŒHzïŒã
ãã£ã³ãã«ããã
å ¥åãã£ãã«ãæ°ããå Žæã«åãããããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ãã£ã³ãã«ã¬ã€ã¢ãŠã
åºåã¹ããªãŒã ã®ãã£ãã«ã¬ã€ã¢ãŠãã
å°å³ ãã£ãã«ãå ¥åããåºåã«ãããããŸãã åŒæ°ã¯ '|'ã§åºåããããããã³ã°ã®ãªã¹ãã§ãã
ããããã® "in_channel-out_channel " or ãã£ãã«å ãã©ãŒã ã ãã£ãã«å ã©ã¡ãã§ãããŸããŸãã
å ¥åãã£ã³ãã«ã®ååïŒäŸïŒå·Šåã®FLïŒãŸãã¯å ¥åãã£ã³ãã«ã®ã€ã³ããã¯ã¹
ã¬ã€ã¢ãŠãã ã¢ãŠããã£ãã« åºåãã£ãã«ã®ååãŸãã¯åºåå ã®ãã®ã€ã³ããã¯ã¹ã§ã
ãã£ãã«ã¬ã€ã¢ãŠãã ããã ã¢ãŠããã£ãã« äžããããŠããªãå Žåãããã¯æé»çã«ã€ã³ããã¯ã¹ã§ããã
ãŒãã§ããããã³ã°ããšã«XNUMXãã€å¢å ããŸãã
ãããã³ã°ãååšããªãå Žåããã£ã«ã¿ãŒã¯æé»çã«å ¥åãã£ã³ãã«ãåºåã«ãããã³ã°ããŸã
ãã£ãã«ãã€ã³ããã¯ã¹ãä¿æããŸãã
ããšãã°ã5.1 +ããŠã³ããã¯ã¹å ¥åMOVãã¡ã€ã«ãæ³å®ãããšã
ffmpeg -i in.mov -filter'channelmap = map = DL-FL | DR-FR 'out.wav
å ¥åã®ããŠã³ããã¯ã¹ãã£ã³ãã«ããã¹ãã¬ãªãšããŠã¿ã°ä»ããããåºåWAVãã¡ã€ã«ãäœæããŸãã
AACã®ãã€ãã£ããã£ãã«é åºã§äžé©åã«ãšã³ã³ãŒãããã5.1WAVãä¿®æ£ããã«ã¯
ffmpeg -i in.wav -filter'channelmap = 1 | 2 | 0 | 5 | 3 | 4ïŒ5.1 'out.wav
ãã£ã³ãã«ã¹ããªãã
åãã£ã³ãã«ãå ¥åãªãŒãã£ãªã¹ããªãŒã ããåå¥ã®åºåã¹ããªãŒã ã«åå²ããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ãã£ã³ãã«ã¬ã€ã¢ãŠã
å ¥åã¹ããªãŒã ã®ãã£ãã«ã¬ã€ã¢ãŠãã ããã©ã«ãã¯ãã¹ãã¬ãªãã§ãã
ããšãã°ãã¹ãã¬ãªå ¥åMP3ãã¡ã€ã«ãæ³å®ãããšã
ffmpeg -i in.mp3 -filter_complex channelssplit out.mkv
XNUMXã€ã®ãªãŒãã£ãªã¹ããªãŒã ãå«ãåºåMatroskaãã¡ã€ã«ãäœæããŸããXNUMXã€ã¯å·ŠåŽã®ã¿ãå«ã¿ãŸã
ãã£ãã«ãšä»ã®å³ãã£ãã«ã
5.1WAVãã¡ã€ã«ããã£ãã«ããšã®ãã¡ã€ã«ã«åå²ããŸãã
ffmpeg -i in.wav -filter_complex
'channelsplit = channel_layout = 5.1 [FL] [FR] [FC] [LFE] [SL] [SR]'
-map '[FL]' front_left.wav -map '[FR]' front_right.wav -map '[FC]'
front_center.wav -map '[LFE]' lfe.wav -map '[SL]' side_left.wav -map '[SR]'
ãµã€ãå³.wav
ã³ãŒââã©ã¹
ãªãŒãã£ãªã«ã³ãŒã©ã¹ãšãã§ã¯ããè¿œå ããŸãã
ã³ãŒã©ã¹ã®ãããªåäžã®ããŒã«ã«ãµãŠã³ããäœæã§ããŸãããã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ã«ãé©çšã§ããŸãã
ã³ãŒã©ã¹ã¯çãé 延ã®ãšã³ãŒå¹æã«äŒŒãŠããŸããããšã³ãŒã®å Žåãé 延ã¯
äžå®ã§ãã³ãŒã©ã¹ã䜿çšãããšãæ£åŒŠæ³¢ãŸãã¯äžè§å€èª¿ã䜿çšããŠå€åããŸãã The
ã¢ãžã¥ã¬ãŒã·ã§ã³ããã¹ã¯ãã¢ãžã¥ã¬ãŒãããããã£ã¬ã€ãååŸã«åçãããç¯å²ãå®çŸ©ããŸãã
é ãã ãããã£ãŠãé 延é³ã¯é ããŸãã¯éãèãããŸããã€ãŸããé 延é³ã§ãã
äžéšã®ããŒã«ã«ããããã«ããŒããå€ããŠããã³ãŒã©ã¹ã®ããã«ãå ã®ããŒã«ã«ãäžå¿ã«èª¿æŽãããŠããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ã€ã³ã²ã€ã³
å ¥åã²ã€ã³ãèšå®ããŸãã ããã©ã«ãã¯0.4ã§ãã
ã¢ãŠãã²ã€ã³
åºåã²ã€ã³ãèšå®ããŸãã ããã©ã«ãã¯0.4ã§ãã
é 延
é 延ãèšå®ããŸãã éåžžã®é 延ã¯çŽ40msãã60msã§ãã
厩å£ãã
ã»ããã®æžè¡°ã
é床
é床ãèšå®ããŸãã
ã©ãåº
æ·±ããèšå®ããŸãã
äŸ
ã»åäžã®é 延ïŒ
chorus=0.7:0.9:55:0.4:0.25:2
ã»XNUMXã€ã®é 延ïŒ
chorus=0.6:0.9:50|60:0.4|0.32:0.25|0.4:2|1.3
ã»XNUMXã€ã®é 延ã䌎ãããå®å šãªé¿ãã®ã³ãŒã©ã¹ïŒ
chorus=0.5:0.9:50|60|40:0.4|0.32|0.3:0.25|0.4|0.3:2|2.3|1.3
ã³ã³ãã³ã
ãªãŒãã£ãªã®ãã€ãããã¯ã¬ã³ãžãå§çž®ãŸãã¯æ¡åŒµããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
æ»æ
厩å£ãã
åãã£ãã«ã®ç§åäœã®æéã®ãªã¹ãã
å ¥åä¿¡å·ã¯ããã®ããªã¥ãŒã ã決å®ããããã«å¹³ååãããŸãã æ»æ ããªã¥ãŒã ã®å¢å ãæããŸã
㚠厩å£ãã ããªã¥ãŒã ã®æžå°ãæããŸãã ã»ãšãã©ã®å Žåãæ»ææé
ïŒãªãŒãã£ãªã倧ãããªãããšãžã®å¿çïŒã¯ãæžè¡°æéãããçãããå¿ èŠããããŸãã
人éã®è³ã¯ãçªç¶ã®å°ããªé³ãããçªç¶ã®å€§ããªé³ã«ææã§ãã å žåçãª
æ»æã®å€ã¯0.3ç§ã§ãæžè¡°ã®äžè¬çãªå€ã¯0.8ç§ã§ãã ããã
æå®ãããæ»æãšæžè¡°ã®æ°ããæåŸã®ã»ããã§ãããã£ãã«ã®æ°ãããå°ãªã
æ»æ/æžè¡°ã¯æ®ãã®ãã¹ãŠã®ãã£ãã«ã«äœ¿çšãããŸãã
ãã€ã³ã
æ倧å€ã«å¯ŸããdBã§æå®ãããäŒéé¢æ°ã®ãã€ã³ãã®ãªã¹ã
å¯èœãªä¿¡å·æ¯å¹ ã åããŒãã€ã³ããªã¹ãã¯ã以äžã䜿çšããŠå®çŸ©ããå¿ èŠããããŸã
æ§æïŒ "x0 / y0 | x1 / y1 | x2 / y2 | ...."ãŸã㯠"x0 / y0 x1 / y1 x2 / y2 ...."
å ¥åå€ã¯å³å¯ã«æé ã§ããå¿ èŠããããŸãããäŒéé¢æ°ã¯
å調ã«äžæããå¿ èŠã¯ãããŸããã ãã€ã³ãã0/0ããæ³å®ãããŸããããªãŒããŒã©ã€ããããå¯èœæ§ããããŸã
ïŒã0 / out-dBnãã«ããïŒã äŒéé¢æ°ã®äžè¬çãªå€ã¯ã-70 / -70 | -60 / -20ãã§ãã
ãœããããŒ
ãã¹ãŠã®ãžã§ã€ã³ãã®æ²ç·ååŸãdBåäœã§èšå®ããŸãã ããã©ã«ãã¯0.01ã§ãã
å©åŸ
äŒéé¢æ°ã®ãã¹ãŠã®ãã€ã³ãã«é©çšãããè¿œå ã²ã€ã³ãdBåäœã§èšå®ããŸãã
ããã«ãããå šäœçãªã²ã€ã³ãç°¡åã«èª¿æŽã§ããŸãã ããã©ã«ãã¯0ã§ãã
ããªã¥ãŒã
ãã£ã«ã¿ãªã³ã°éå§æã«åãã£ã³ãã«ã§æ³å®ãããåæé³éãdBåäœã§èšå®ããŸãã
ããã«ããããŠãŒã¶ãŒã¯æåã«å ¬ç§°ã¬ãã«ãæå®ã§ãããããããšãã°ã
éåžžã«å€§ããªã²ã€ã³ã¯ãå§äŒžãè¡ãããåã®åæä¿¡å·ã¬ãã«ã«ã¯é©çšãããŸããã
åäœãéå§ããŸããã æåã¯éããªãªãŒãã£ãªã®äžè¬çãªå€ã¯-90dBã§ãã ãã
ããã©ã«ãã¯0ã§ãã
é ããã
é 延ãç§åäœã§èšå®ããŸãã å ¥åé³å£°ã¯ããã«åæãããŸãããé³å£°ãé ããŸã
ããªã¥ãŒã ã¢ãžã£ã¹ã¿ãŒã«éãããåã«ã ã«ã»ãŒçããé 延ãæå®ãã
ã¢ã¿ãã¯/ãã£ã±ã€ã¿ã€ã ã«ããããã£ã«ã¿ãŒã¯äºæž¬ã§ã¯ãªãäºæž¬ã§å¹æçã«åäœã§ããŸã
ãªã¢ã¯ãã£ãã¢ãŒãã ããã©ã«ãã¯0ã§ãã
äŸ
ã»éšãããäžã§èãã®ã«é©ããéããªããã»ãŒãžãšå€§ããªããã»ãŒãžã®äž¡æ¹ã§é³æ¥œãäœã
ç°å¢ïŒ
compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2
ãããããšççºã®éšåãå«ããªãŒãã£ãªã®å¥ã®äŸïŒ
compand=0|0:1|1:-90/-900|-70/-70|-30/-9|0/-3:6:0:0:0
ã»ãã€ãºãä¿¡å·ãããäœãã¬ãã«ã«ããå Žåã®ãã€ãºã²ãŒãïŒ
compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1
ã»ããã¯å¥ã®ãã€ãºã²ãŒãã§ããä»åã¯ããã€ãºã
ä¿¡å·ïŒããæå³ã§ã¯ãã¹ã±ã«ãã«äŒŒãŠããŸãïŒïŒ
compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1
DCã·ãã
ãªãŒãã£ãªã«DCã·ãããé©çšããŸãã
ããã¯ãDCãªãã»ãããåé€ããã®ã«åœ¹ç«ã¡ãŸãïŒãããããããŒããŠã§ã¢ã®åé¡ãåå ã§ãã
é²é³ãã§ãŒã³ïŒãªãŒãã£ãªããã DCãªãã»ããã®åœ±é¿ã«ããããããã«ãŒã ãæžå°ãããããã£ãŠ
é³éã 㶠ã¢ã¹ã¿ãã³ ãã£ã«ã¿ã䜿çšããŠãä¿¡å·ã«DCãªãã»ããããããã©ãããå€æã§ããŸãã
ã·ãã
DCã·ãããèšå®ããŸãã蚱容ç¯å²ã¯[-1ã1]ã§ãã ã·ããéã瀺ããŸã
ãªãŒãã£ãªã
ãªããã¿ãŒã²ã€ã³
ãªãã·ã§ã³ã 1ããã¯ããã«å°ããå€ïŒããšãã°ã0.05ãŸãã¯0.02ïŒãæã€å¿ èŠãããã次ã®ç®çã§äœ¿çšãããŸãã
ã¯ãªããã³ã°ãé²ããŸãã
ãã€ããŒã
ãã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã
ãã®ãã£ã«ã¿ãŒã¯ãããŒã¯ãããããããã«ãå ¥åãªãŒãã£ãªã«äžå®éã®ã²ã€ã³ãé©çšããŸã
ç®æšã¬ãã«ãŸã§ã®å€§ããïŒäŸïŒ0 dBFSïŒã ãã ãããããåçŽãªããšã¯å¯Ÿç §çã«
æ£èŠåã¢ã«ãŽãªãºã ããã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯*åçã«*ã²ã€ã³ãå調æŽããŸã
å ¥åãªãŒãã£ãªã«å æ°å解ããŸãã ããã«ãããã®ãéããªãã»ã¯ã·ã§ã³ã«è¿œå ã®ã²ã€ã³ãé©çšã§ããŸãã
æªã¿ãé¿ããããã倧ããªãã»ã¯ã·ã§ã³ãã¯ãªããã³ã°ãããããªããããªãŒãã£ãªãåçããŸãã èšãæããã°ïŒ
ãã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ãéããªã»ã¯ã·ã§ã³ãšå€§ããªã»ã¯ã·ã§ã³ã®é³éããåçãã«ããŸãã
åã»ã¯ã·ã§ã³ã®é³éãåãç®æšã¬ãã«ã«ãªã£ãŠããããšãæããŠãã ããã ãã ãã泚æããŠãã ãã
ãã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒãããã€ãããã¯ã¬ã³ãžããé©çšããã«ãã®ç®æšãéæããããš
å§çž®ãããªãŒãã£ãªã®åã»ã¯ã·ã§ã³å ã®ãã€ãããã¯ã¬ã³ãžã100ïŒ ä¿æããŸãã
ãã¡ã€ã«ã«ãœãããŠã§ã¢ãæå®ããå¿ èŠããããŸãã
f ãã¬ãŒã ã®é·ããããªç§åäœã§èšå®ããŸãã 10ã8000ããªç§ã®ç¯å²ã ãã£ãã©ã«ã
500ããªç§ã§ãã ãã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ãå ¥åãªãŒãã£ãªãå°ããåŠçããŸã
ãã¬ãŒã ãšåŒã°ãããã£ã³ã¯ã ããŒã¯ã®å€§ããã«ã¯
åäžã®ãµã³ãã«å€ã®ã¿ãæå³ããŸãã 代ããã«ãããŒã¯ã決å®ããå¿ èŠããããŸã
ãµã³ãã«å€ã®é£ç¶ããã·ãŒã±ã³ã¹ã®å€§ããã ãæšæºãããŒãã©ã€ã¶ãŒ
ãã¡ã€ã«å šäœã®ããŒã¯ãã°ããã¥ãŒãã§ãããã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã䜿çšããã ãã§ãã
ãã¬ãŒã ããšã«åå¥ã«ããŒã¯ã®å€§ããã決å®ããŸãã ãã¬ãŒã ã®é·ãã¯
ããªç§åäœã§æå®ããŸãã ããã©ã«ãã§ã¯ããã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ãã¬ãŒã ã䜿çšããŸã
500ããªç§ã®é·ãã§ãã»ãšãã©ã®ãã¡ã€ã«ã§è¯å¥œãªçµæãåŸãããããšãããã£ãŠããŸãã
ãµã³ãã«æ°ã§è¡šããæ£ç¢ºãªãã¬ãŒã é·ã決å®ãããããšã«æ³šæããŠãã ãã
åã ã®å ¥åãªãŒãã£ãªãã¡ã€ã«ã®ãµã³ããªã³ã°ã¬ãŒãã«åºã¥ããŠèªåçã«ã
g ã¬ãŠã¹ãã£ã«ã¿ãŒã®ãŠã£ã³ããŠãµã€ãºãèšå®ããŸãã 3ãã301ã®ç¯å²ã§ãå¥æ°ã§ãªããã°ãªããŸããã
ããã©ã«ãã¯31ã§ãããããããã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã®æãéèŠãªãã©ã¡ãŒã¿ãŒã§ãã
ã¯ã¬ãŠã¹å¹³æ»åãã£ã«ã¿ãŒã®ããŠã£ã³ããŠãµã€ãºãã§ãã ãã£ã«ã¿ã®ãŠã£ã³ããŠãµã€ãºã¯
çŸåšã®ãã¬ãŒã ãäžå¿ã«ããã¬ãŒã ã§æå®ãããŸãã ç°¡åã«ããããã«ã
ããã¯å¥æ°ã§ãªããã°ãªããŸããã ãããã£ãŠãããã©ã«ãå€ã®31ãèæ ®ãããŸãã
çŸåšã®ãã¬ãŒã ãããã³åã®15ãã¬ãŒã ãšåŸã®15ãã¬ãŒã ã
ãã倧ããªãŠã£ã³ããŠã䜿çšãããšããã匷åãªã¹ã ãŒãžã³ã°å¹æãåŸãããã²ã€ã³ãäœäžããŸãã
å€åãããªãã¡ãããé ãã²ã€ã³é©å¿ã éã«ãå°ãããŠã£ã³ããŠã䜿çšãããšã
ãã匱ãå¹³æ»åå¹æããããã£ãŠããå€ãã®ã²ã€ã³å€åãããªãã¡ããéãã²ã€ã³
é©å¿ã ã€ãŸãããã®å€ãå¢ããã»ã©ãåçã«ãªããŸã
ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ããåŸæ¥ã®ãæ£èŠåãã£ã«ã¿ãŒã®ããã«åäœããŸãã ã«
éã«ããã®å€ãå°ããããã°ããã»ã©ããã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯å€§ãããªããŸã
ãã€ãããã¯ã¬ã³ãžã³ã³ãã¬ããµãŒã®ããã«åäœããŸãã
p ç®æšããŒã¯å€ãèšå®ããŸãã ããã¯ãã®æ倧蚱容ãã°ããã¥ãŒãã¬ãã«ãæå®ããŸã
æ£èŠåããããªãŒãã£ãªå ¥åã ãã®ãã£ã«ã¿ãŒã¯ãã¿ãŒã²ããã®ããŒã¯ã®å€§ããã«è¿ã¥ãããšããŸã
å¯èœãªéãå³å¯ã«ããããåæã«ãæ£èŠåãããŠããããšã確èªããŸã
ä¿¡å·ãããŒã¯ã®å€§ãããè¶ ããããšã¯ãããŸããã ãã¬ãŒã ã®æ倧ããŒã«ã«ã²ã€ã³ä¿æ°ã¯
ã¿ãŒã²ããã®ããŒã¯ã®å€§ããã«ãã£ãŠçŽæ¥èª²ããããŸãã ããã©ã«ãå€ã¯0.95ã§ããããã
5ïŒ *ã®ãããã«ãŒã ãæ®ããŸãã ãã®å€ãè¶ ããããšã¯ãå§ãããŸããã
m æ倧ã²ã€ã³ä¿æ°ãèšå®ããŸãã 1.0ãã100.0ã®ç¯å²ã ããã©ã«ãã¯10.0ã§ãã ãã€ãããã¯
ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ãåå ¥åã®å¯èœãªæ倧ïŒããŒã«ã«ïŒã²ã€ã³ä¿æ°ã決å®ããŸã
ãã¬ãŒã ãã€ãŸãã¯ãªããã³ã°ãæªã¿ãåŒãèµ·ãããªãæ倧ã²ã€ã³ä¿æ°ã
æ倧ã²ã€ã³ä¿æ°ã¯ããã¬ãŒã ã®æ倧ãã°ããã¥ãŒããµã³ãã«ã«ãã£ãŠæ±ºå®ãããŸãã
ãã ãããã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ããã«ãã¬ãŒã ã®æ倧ã²ã€ã³ãå¶éããŸã
æå®ã®ïŒã°ããŒãã«ïŒæ倧ã²ã€ã³ä¿æ°ã§å æ°å解ããŸãã ããã¯åé¿ããããã«è¡ãããŸã
ããµã€ã¬ã³ãããŸãã¯ã»ãšãã©ãµã€ã¬ã³ããã¬ãŒã ã§ã®é床ã®ã²ã€ã³ä¿æ°ã ããã©ã«ãã§ã¯ãæ倧
ã²ã€ã³ä¿æ°ã¯10.0ã§ããã»ãšãã©ã®å ¥åã§ã¯ãããã©ã«ãå€ã§ååã§ããã
éåžžããã®å€ãå¢ããããšã¯ãå§ãããŸããã ãšã¯ãããéåžžã«
å šäœçãªé³éã¬ãã«ãäœãå Žåã¯ãããã«é«ãã²ã€ã³ä¿æ°ãèš±å¯ããå¿ èŠããããŸãã ããŒãã
ãã ãããã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯åã«ãããŒãããããå€ãé©çšããã ãã§ã¯ãããŸãã
ïŒã€ãŸãããããå€ãè¶ ããå€ãã«ãããªãããŸãïŒã 代ããã«ããã·ã°ã¢ã€ãããããå€é¢æ°
é©çšãããŸãã ãã®ããã«ããŠãã²ã€ã³ä¿æ°ã¯ã¹ã ãŒãºã«ãããå€ã«è¿ã¥ããŸã
å€ã§ããããã®å€ãè¶ ããããšã¯ãããŸããã
r ç®æšRMSãèšå®ããŸãã 0.0ãã1.0ã®ç¯å²ã ããã©ã«ãã¯0.0ã§ã-ç¡å¹ã§ãã ããã©ã«ãã§ã¯ã
ãã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ãããŒã¯ãæ£èŠåãå®è¡ããŸãã ããã¯ã
åãã¬ãŒã ã®æ倧ããŒã«ã«ã²ã€ã³ä¿æ°ã¯ããã¬ãŒã ã®æé«å€ã«ãã£ãŠïŒã®ã¿ïŒå®çŸ©ãããŸãã
ãã°ããã¥ãŒããµã³ãã«ã ãã®ããã«ããŠããµã³ãã«ãå¯èœãªéãå¢å¹ ããããšãã§ããŸãã
æ倧信å·ã¬ãã«ãè¶ ãããã€ãŸãã¯ãªããã³ã°ãªãã ãã ãããªãã·ã§ã³ã§ã
ãã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ããã¬ãŒã ã®äºä¹å¹³åå¹³æ¹æ ¹ãèæ ®ã«å ¥ããããšãã§ããŸãã
RMSãšç¥ãããŸãã é»æ°å·¥åŠã§ã¯ãRMSã¯äžè¬çã«ä»¥äžã決å®ããããã«äœ¿çšãããŸã
æå€ä¿¡å·ã®ãã¯ãŒã ãããã£ãŠãRMSã®æ¹ãåªããŠãããšèããããŸãã
ä¿¡å·ã®ããŒã¯ãèŠãã ãã§ã¯ãªãããç¥èŠãããã©ãŠããã¹ãã®è¿äŒŒ
ãã°ããã¥ãŒãã ãããã£ãŠããã¹ãŠã®ãã¬ãŒã ãäžå®ã®RMSå€ã«èª¿æŽããããšã«ãããåäžã«ãªããŸãã
ãç¥èŠã©ãŠããã¹ãã確ç«ããããšãã§ããŸãã ã¿ãŒã²ããRMSå€ãæå®ãããŠããå Žåã
ãã¬ãŒã ã®ããŒã«ã«ã²ã€ã³ä¿æ°ã¯ããŸãã«ãã®çµæãšãªãä¿æ°ãšããŠå®çŸ©ãããŸãã
RMSå€ã ãã ããæ倧ããŒã«ã«ã²ã€ã³ä¿æ°ã¯äŸç¶ãšããŠã«ãã£ãŠå¶éãããŠããããšã«æ³šæããŠãã ããã
ã¯ãªããã³ã°ãé²ãããã®ããã¬ãŒã ã®æ倧ãã°ããã¥ãŒããµã³ãã«ã
n ãã£ãã«çµåãæå¹ã«ããŸãã ããã©ã«ãã§ã¯æå¹ã«ãªã£ãŠããŸãã ããã©ã«ãã§ã¯ããã€ãããã¯ãªãŒãã£ãª
ããŒãã©ã€ã¶ãŒã¯ããã¹ãŠã®ãã£ãã«ãåãéã ãå¢å¹ ããŸãã ããã¯åãã²ã€ã³ãæå³ããŸã
ä¿æ°ã¯ãã¹ãŠã®ãã£ãã«ã«é©çšãããŸããã€ãŸããå¯èœãªæ倧ã²ã€ã³ä¿æ°ã¯
ãæã倧ããªããã£ã³ãã«ã«ãã£ãŠæ±ºå®ãããŸãã ãã ããäžéšã®é²é³ã§ã¯ã
ç°ãªããã£ã³ãã«ã®é³éã¯äžåäžã§ããããšãã°ãXNUMXã€ã®ãã£ã³ãã«ã¯
ä»ã®ãã®ã ãã®å Žåããã®ãªãã·ã§ã³ã䜿çšããŠãã£ãã«ãç¡å¹ã«ããããšãã§ããŸã
ã«ãããªã³ã°ã ãã®ããã«ããŠãã²ã€ã³ä¿æ°ã¯ãã£ãã«ããšã«åå¥ã«æ±ºå®ãããŸãã
åã ã®ãã£ãã«ã®æ倧ãã°ããã¥ãŒããµã³ãã«ã®ã¿ã«äŸåããŸãã ããã«ããã
ããŸããŸãªãã£ã³ãã«ã®é³éã調åãããŸãã
c DCãã€ã¢ã¹è£æ£ãæå¹ã«ããŸãã ããã©ã«ãã§ã¯ç¡å¹ã«ãªã£ãŠããŸãã ãªãŒãã£ãªä¿¡å·ïŒåœæ
domainïŒã¯ããµã³ãã«å€ã®ã·ãŒã±ã³ã¹ã§ãã ãã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã§ã¯ããããã®ãµã³ãã«
å€ã¯ãå ã®å ¥åã«é¢ä¿ãªãã-1.0ã1.0ã®ç¯å²ã§è¡šãããŸã
ãã©ãŒãããã éåžžããªãŒãã£ãªä¿¡å·ãã€ãŸãã波圢ãã¯ãŒããäžå¿ã«é 眮ããå¿ èŠããããŸã
ç¹ã ã€ãŸãããã¡ã€ã«å ãŸãã¯ãã¡ã€ã«å ã®ãã¹ãŠã®ãµã³ãã«ã®å¹³åå€ãèšç®ããå Žå
åäžãã¬ãŒã ã®å Žåãçµæã¯0.0ãŸãã¯å°ãªããšããã®å€ã«éåžžã«è¿ãã¯ãã§ãã ãããã
ãã ããã©ã¡ãã®å Žåããå¹³åå€ã0.0ããå€§å¹ ã«ãããŠããŸãã
æ£ãŸãã¯è² ã®æ¹åãããã¯ãDCãã€ã¢ã¹ãŸãã¯DCãªãã»ãããšåŒã°ããŸãã 以æ¥
DCãã€ã¢ã¹ã¯æããã«æãŸãããããŸããããã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ãªãã·ã§ã³ã®DCãã€ã¢ã¹ãæäŸããŸã
ä¿®æ£ã DCãã€ã¢ã¹è£æ£ãæå¹ã«ãããšããã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯
åå ¥åãã¬ãŒã ã®å¹³åå€ãã€ãŸããDCè£æ£ããªãã»ããã決å®ããæžç®ããŸã
ãã¬ãŒã ã®ãã¹ãŠã®ãµã³ãã«å€ããã®ãã®å€ã¯ããããã®ãµã³ãã«ã
åã³0.0ãäžå¿ã«ã ãŸãããã¬ãŒã å¢çã§ã®ãã®ã£ããããåé¿ããããã«ã
DCè£æ£ãªãã»ããå€ã¯ãé£æ¥ãããã¬ãŒã éã§ã¹ã ãŒãºã«è£éãããŸãã
b 代æ¿å¢çã¢ãŒããæå¹ã«ããŸãã ããã©ã«ãã§ã¯ç¡å¹ã«ãªã£ãŠããŸãã ãã€ãããã¯ãªãŒãã£ãª
ããŒãã©ã€ã¶ãŒã¯ãåãã¬ãŒã ã®åšå²ã®ç¹å®ã®è¿åãèæ ®ã«å ¥ããŸãã ããã
åã®ãã¬ãŒã ãšåŸç¶ã®ãã¬ãŒã ã ãã ãããå¢çãã«ã€ããŠã¯
ãªãŒãã£ãªãã¡ã€ã«ã®æåãšæåŸã«ãããã¬ãŒã ããã¹ãŠã§ã¯ãªã
é£æ¥ãããã¬ãŒã ãå©çšå¯èœã§ãã ç¹ã«ãã®æåã®æ°ãã¬ãŒã ã«ã€ããŠã¯
ãªãŒãã£ãªãã¡ã€ã«ãåã®ãã¬ãŒã ã¯äžæã§ãã ãããŠãåæ§ã«ãæåŸã®ããã€ãã«ã€ããŠ
ãªãŒãã£ãªãã¡ã€ã«å ã®ãã¬ãŒã ã§ã¯ãåŸç¶ã®ãã¬ãŒã ã¯äžæã§ãã ãããã£ãŠã質å
ãå¢çãã§æ¬ èœããŠãããã¬ãŒã ã«å¯ŸããŠã©ã®ã²ã€ã³ä¿æ°ãæ³å®ããå¿ èŠãããããçºçããŸã
é åã ãã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ããã®ç¶æ³ã«å¯ŸåŠããããã«XNUMXã€ã®ã¢ãŒããå®è£ ããŠããŸãã
ããã©ã«ãã®å¢çã¢ãŒãã§ã¯ãæ¬ èœããŠãããã¬ãŒã ã®ã²ã€ã³ä¿æ°ãæ£ç¢ºã«1.0ã§ãããšæ³å®ããŠããŸãã
ãã®çµæãæåãšæåŸã«ã¹ã ãŒãºãªããã§ãŒãã€ã³ããšããã§ãŒãã¢ãŠãããçºçããŸãã
ããããå ¥åã
s å§çž®ä¿æ°ãèšå®ããŸãã 0.0ãã30.0ã®ç¯å²ã ããã©ã«ãã¯0.0ã§ãã ããã©ã«ãã§ã¯ã
ãã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ããåŸæ¥ã®ãå§çž®ãé©çšããŸããã ãã®æå³ã¯
ä¿¡å·ã®ããŒã¯ã¯é€å»ãããªãããããã€ãããã¯ã¬ã³ãžå šäœãä¿æãããŸã
åå°åå ã ãã ããå Žåã«ãã£ãŠã¯ãçµã¿åãããããšãæãŸããå ŽåããããŸãã
ãããäŒçµ±çãªããã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã®æ£èŠåã¢ã«ãŽãªãºã
å§çž®ã ãã®ç®çã®ããã«ããã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ãªãã·ã§ã³ãæäŸããŸã
å§çž®ïŒãããå€ïŒæ©èœã å§çž®æ©èœã
æå¹ã«ãããšããã¹ãŠã®å ¥åãã¬ãŒã ãäºåã«ãœããããŒãããå€æ©èœã«ãã£ãŠåŠçãããŸã
å®éã®æ£èŠåããã»ã¹ã«ã ç°¡åã«èšãã°ããããå€é¢æ°ã¯
倧ãããç¹å®ã®ãããå€ãè¶ ãããã¹ãŠã®ãµã³ãã«ãæŽçããŸãã ããã
ãã€ãããã¯ãªãŒãã£ãªããŒãã©ã€ã¶ãŒã¯ãåã«åºå®ã®ãããå€ãé©çšããã ãã§ã¯ãããŸããã 代ããã«ã
ãããå€ã¯ããã¬ãŒã ããšã«èª¿æŽãããŸãã äžè¬çã«ãå°ãã
ãã©ã¡ãŒã¿ã¯ãã匷åãªå§çž®ãããããããã®éãåæ§ã§ãã 3.0æªæºã®å€ã¯
å¯èŽæªã¿ãçºçããå¯èœæ§ãããããããå§ãããŸãã
è³å¢
ããããã³ã§ãªãŒãã£ãªãèãåããããããŸãã
ãã®ãã£ã«ã¿ãŒã¯ã44.1kHzã¹ãã¬ãªïŒã€ãŸããªãŒãã£ãªCDãã©ãŒãããïŒãªãŒãã£ãªã«ããã¥ãŒããè¿œå ããŸãã
ããããã³ã§èããšãã¹ãã¬ãªç»åãé ã®äžãã移åããŸãïŒ
ããããã³ïŒããªã¹ããŒã®å€ãšåã«ïŒã¹ããŒã«ãŒã®æšæºïŒã
SoXãã移æ€ãããŸããã
ã€ã³ã©ã€ã¶
XNUMX極ããŒãã³ã°çåïŒEQïŒãã£ã«ã¿ãŒãé©çšããŸãã ãã®ãã£ã«ã¿ãŒã䜿çšãããšãä¿¡å·ã¬ãã«ã¯
éžæããåšæ³¢æ°ä»è¿ã§ã¯ãïŒãã³ããã¹ããã³ããã¹ãšã¯ç°ãªããå¢æžããããšãã§ããŸãïŒ
ä»ã®ãã¹ãŠã®åšæ³¢æ°ã§å€æŽãããªãbandrejectãã£ã«ã¿ãŒïŒã
è€éãªçåæ²ç·ãäœæããããã«ããã®ãã£ã«ã¿ãŒãæ°åäžããããšãã§ããŸãã
ããããäžå¿åšæ³¢æ°ãç°ãªããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
åšæ³¢æ°ã f
ãã£ã«ã¿ã®äžå¿åšæ³¢æ°ãHzã§èšå®ããŸãã
å¹ ã®çš®é¡
ãã£ã«ã¿ã®åž¯åå¹ ãæå®ããã¡ãœãããèšå®ããŸãã
h Hz
q Qãã¡ã¯ã¿ãŒ
o ãªã¯ã¿ãŒã
s ã¹ããŒã
å¹ ã w
ãã£ã«ã¿ã®åž¯åå¹ ãwidth_typeåäœã§æå®ããŸãã
ã²ã€ã³ã g
å¿ èŠãªã²ã€ã³ãŸãã¯æžè¡°ãdBåäœã§èšå®ããŸãã ããžãã£ãã䜿çšãããšãã¯ã¯ãªããã³ã°ã«æ³šæããŠãã ãã
ã²ã€ã³ã
äŸ
ã»åž¯åå¹ 10 Hzã§ã1000Hzã§200dBãæžè¡°ãããŸãã
ã€ã³ã©ã€ã¶ãŒ= f = 1000ïŒwidth_type = hïŒwidth = 200ïŒg = -10
ã»Q2ã§1000Hzã§1dBã®ã²ã€ã³ãé©çšããQ5ã§100Hzã§2dBãæžè¡°ãããŸãã
equalizer=f=1000:width_type=q:width=1:g=2,equalizer=f=100:width_type=q:width=2:g=-5
ãã©ã³ãžã£ãŒ
ãªãŒãã£ãªã«ãã©ã³ãžå¹æãé©çšããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
é ããã
åºæ¬é 延ãããªç§åäœã§èšå®ããŸãã ç¯å²ã¯0ã30ã§ããããã©ã«ãå€ã¯0ã§ãã
æ·±ã
è¿œå ãããã¹ã€ãŒãé 延ãããªç§åäœã§èšå®ããŸãã ç¯å²ã¯0ã10ã§ããããã©ã«ãå€ã¯2ã§ãã
ããæ··ãã
åççïŒé 延信å·ãã£ãŒãããã¯ïŒãèšå®ããŸãã -95ãã95ã®ç¯å²ãããã©ã«ã
å€ã¯0ã§ãã
å¹
ãªãªãžãã«ãšæ··åãããé 延信å·ã®ããŒã»ã³ããŒãžãèšå®ããŸãã ç¯å²ã¯0ã100ã§ããããã©ã«ã
å€ã¯71ã§ãã
ã¹ããŒã
0.1ç§ãããã®ã¹ã€ãŒãïŒHzïŒãèšå®ããŸãã ç¯å²ã¯10ã0.5ã§ããããã©ã«ãå€ã¯XNUMXã§ãã
圢ç¶
æåŒæ³¢åœ¢ãèšå®ãã äžè§ or æ£åŒŠæ³¢ã ããã©ã«ãå€ã¯ æ£åŒŠæ³¢.
çž
ãã«ããã£ãã«ã®æåŒæ³¢ã®ããŒã»ã³ããŒãžã·ãããèšå®ããŸãã ç¯å²ã¯0ã100ã§ããããã©ã«ãå€
25ã§ãã
ã€ã³ã¿ãŒã
é 延ç·è£éãèšå®ãã ç·åœ¢ or äºæ¬¡ã ããã©ã«ã㯠ç·åœ¢.
ãã€ãã¹
3dBã®ãã€ã³ãåšæ³¢æ°ã§ãã€ãã¹ãã£ã«ã¿ãŒãé©çšããŸãã ãã£ã«ã¿ã¯å極ã
ãŸãã¯å極ïŒããã©ã«ãïŒã ãã£ã«ã¿ã¯ã6ãªã¯ã¿ãŒãããã20極ãããXNUMXdBïŒXNUMXãªã¯ã¿ãŒããããXNUMXdBïŒã§ããŒã«ãªãããŸãã
XNUMX幎ãããã®æ¥µïŒã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
åšæ³¢æ°ã f
åšæ³¢æ°ãHzã§èšå®ããŸãã ããã©ã«ãã¯3000ã§ãã
ããŒã«ã p
極æ°ãèšå®ããŸãã ããã©ã«ãã¯2ã§ãã
å¹ ã®çš®é¡
ãã£ã«ã¿ã®åž¯åå¹ ãæå®ããã¡ãœãããèšå®ããŸãã
h Hz
q Qãã¡ã¯ã¿ãŒ
o ãªã¯ã¿ãŒã
s ã¹ããŒã
å¹ ã w
ãã£ã«ã¿ã®åž¯åå¹ ãwidth_typeåäœã§æå®ããŸãã å極ã«ã®ã¿é©çšãããŸã
ãã£ã«ã¿ãŒã ããã©ã«ãã¯0.707qã§ããã¿ãŒã¯ãŒã¹å¿çãè¿ããŸãã
join
è€æ°ã®å ¥åã¹ããªãŒã ãXNUMXã€ã®ãã«ããã£ãã«ã¹ããªãŒã ã«çµåããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
å ¥å
å ¥åã¹ããªãŒã ã®æ°ã ããã©ã«ãã¯2ã§ãã
ãã£ã³ãã«ã¬ã€ã¢ãŠã
ç®çã®åºåãã£ãã«ã¬ã€ã¢ãŠãã ããã©ã«ãã¯ã¹ãã¬ãªã§ãã
å°å³ ãã£ãã«ãå ¥åããåºåã«ãããã³ã°ããŸãã åŒæ°ã¯ '|'ã§åºåããããããã³ã°ã®ãªã¹ãã§ãã
ããããã® "input_idx.in_channel-out_channel " ãã©ãŒã ã å ¥å_idx ã®0ããŒã¹ã®ã€ã³ããã¯ã¹ã§ã
å ¥åã¹ããªãŒã ã ãã£ãã«å å ¥åãã£ãã«ã®ååïŒããšãã°ãFLã®å ŽåïŒã®ããããã§ãã
å·ŠåïŒãŸãã¯æå®ãããå ¥åã¹ããªãŒã å ã®ãã®ã€ã³ããã¯ã¹ã ã¢ãŠããã£ãã« ã®ååã§ã
åºåãã£ãã«ã
æ瀺çã«æå®ãããŠããªãå Žåããã£ã«ã¿ãŒã¯ãããã³ã°ãæšæž¬ããããšããŸãã ãã
æåã«æªäœ¿çšã®äžèŽããå ¥åãã£ãã«ãèŠã€ããããšããããã倱æããå Žåã¯ãããè¡ããŸã
æåã®æªäœ¿çšã®å ¥åãã£ã³ãã«ãéžæããŸãã
3ã€ã®å ¥åãçµåããŸãïŒé©åã«èšå®ããããã£ãã«ã¬ã€ã¢ãŠãã䜿çšïŒïŒ
ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex join = input = 3 OUTPUT
5.1ã€ã®ã·ã³ã°ã«ãã£ãã«ã¹ããªãŒã ãã6åºåãæ§ç¯ããŸãã
ffmpeg -i fl -i fr -i fc -i sl -i sr -il lfe -filter_complex
'join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-SL|4.0-SR|5.0-LFE'
ã§ã
ã©ã¹ã
LADSPAïŒLinux Audio Developer's Simple Plugin APIïŒãã©ã°ã€ã³ãããŒãããŸãã
ãã®ãã£ã«ã¿ãŒã®ã³ã³ãã€ã«ãæå¹ã«ããã«ã¯ãã-enable-ladspaãã䜿çšããŠFFmpegãæ§æããå¿ èŠããããŸãã
ãã¡ã€ã«ã f
ããŒãããLADSPAãã©ã°ã€ã³ã©ã€ãã©ãªã®ååãæå®ããŸãã ç°å¢å€æ°ã®å Žå
LADSPA_PATH ãå®çŸ©ãããŠããå ŽåãLADSPAãã©ã°ã€ã³ã¯åãã£ã¬ã¯ããªã§æ€çŽ¢ãããŸã
ã®ã³ãã³åºåããªã¹ãã§æå® LADSPA_PATHããã以å€ã®å Žåã¯æšæºLADSPA
ãã®é åºã®ãã¹ïŒ HOME / .ladspa / lib /, / usr / local / lib / ladspa /,
/ usr / lib / ladspa /.
ãã©ã°ã€ã³ã¯ã p
ã©ã€ãã©ãªå ã®ãã©ã°ã€ã³ãæå®ããŸãã äžéšã®ã©ã€ãã©ãªã«ã¯ãã©ã°ã€ã³ãXNUMXã€ããå«ãŸããŠããŸãããã
ä»ã®ãã®ã¯ãããã®å€ããå«ãã§ããŸãã ãããèšå®ãããŠããªãå Žåããã£ã«ã¿ãŒã¯å©çšå¯èœãªãã¹ãŠã®ãã©ã°ã€ã³ãäžèŠ§è¡šç€ºããŸã
æå®ãããã©ã€ãã©ãªå ã
ã³ã³ãããŒã« c
'|'ãèšå®ããŸããŒã以äžã®æµ®åå°æ°ç¹å€ã§ããã³ã³ãããŒã«ã®åé¢ãªã¹ã
ããŒãããããã©ã°ã€ã³ã®åäœã決å®ããŸãïŒããšãã°ãé 延ããããå€ããŸãã¯
å©åŸïŒã ã³ã³ãããŒã«ã¯ã次ã®æ§æã䜿çšããŠå®çŸ©ããå¿ èŠããããŸãã
c0 =value0| c1 =value1| c2 =value2| ...ããã㧠䟡å€ãã ã«èšå®ãããå€ã§ã i-çªç®ã®ã³ã³ãããŒã«ã
If controls ãããã«ããã«èšå®ãããŠããå Žåã䜿çšå¯èœãªãã¹ãŠã®ã³ã³ãããŒã«ãšãã®æå¹ãªç¯å²ã¯æ¬¡ã®ãšããã§ãã
å°å·ãããŸãã
ãµã³ãã«ã¬ãŒãã s
ãµã³ãã«ã¬ãŒããæå®ããŸããããã©ã«ãã¯44100ã§ãããã©ã°ã€ã³ã®å ¥åããŒãã®å Žåã«ã®ã¿äœ¿çšãããŸãã
nb_samplesã n
ååºåãã¬ãŒã ããšã®ãã£ãã«ããšã®ãµã³ãã«æ°ãèšå®ããŸããããã©ã«ãã¯1024ã§ããã®ã¿
ãã©ã°ã€ã³ã®å ¥åããŒãã®å Žåã«äœ¿çšãããŸãã
ãã¥ã¬ãŒã·ã§ã³ã d
ãœãŒã¹ãªãŒãã£ãªã®æå°æéãèšå®ããŸãã èŠã ã Time ãã¥ã¬ãŒã·ã§ã³ in ã
ffmpeg-utils(1) ããã¥ã¢ã« åãå ¥ããããæ§æã«ã€ããŠã çµæã®æéã¯
çæããããªãŒãã£ãªã¯åžžã«
å®å šãªãã¬ãŒã ã®çµããã æå®ãããŠããªãå ŽåããŸãã¯è¡šçŸãããæéãè² ã®å Žåã
ãªãŒãã£ãªã¯æ°žä¹ ã«çæãããããšã«ãªã£ãŠããŸãã ãã©ã°ã€ã³ã®å ¥åããŒãã®å Žåã«ã®ã¿äœ¿çšãããŸãã
äŸ
ã»ampïŒLADSPAãµã³ãã«ãã©ã°ã€ã³ïŒã©ã€ãã©ãªå ã®å©çšå¯èœãªãã¹ãŠã®ãã©ã°ã€ã³ãäžèŠ§è¡šç€ºããŸãã
ladspa = file = amp
ã»ãVCFãããã®ãvcf_notchããã©ã°ã€ã³ã§äœ¿çšå¯èœãªãã¹ãŠã®ã³ã³ãããŒã«ãšãããã®æå¹ãªç¯å²ãäžèŠ§è¡šç€ºããŸã
ãšãããããïŒ
ladspa = f = vcfïŒp = vcf_notchïŒc = help
ã»ãComputerMusicToolkitãïŒCMTïŒãã©ã°ã€ã³ã䜿çšããŠäœå質ã®ãªãŒãã£ãªæ©åšãã·ãã¥ã¬ãŒããã
ãšãããããïŒ
ladspa=file=cmt:plugin=lofi:controls=c0=22|c1=12|c2=12
ã»TAPãã©ã°ã€ã³ïŒTomã®ãªãŒãã£ãªåŠçãã©ã°ã€ã³ïŒã䜿çšããŠããªãŒãã£ãªã«æ®é¿ãè¿œå ããŸãã
ladspa = file = tap_reverbïŒtap_reverb
ã»æ¯å¹ 0.2ã®ãã¯ã€ããã€ãºãçæããŸãã
ladspa = file = cmtïŒnoise_source_whiteïŒc = c0 = .2
ã»ãC *ãªãŒãã£ãªãã©ã°ã€ã³ãã®ãã©ã°ã€ã³ãC * Click-Metronomeãã䜿çšããŠ20bpmã¯ãªãã¯ãçæããŸã
Suite "ïŒCAPSïŒã©ã€ãã©ãªïŒ
ladspa = file = capsïŒClickïŒc = c1 = 20 '
ã»ãC * Eq10X2-ã¹ãã¬ãª10ãã³ãã€ã³ã©ã€ã¶ãŒãå¹æãé©çšããŸãã
ladspa=caps:Eq10X2:c=c0=-48|c9=-24|c3=12|c4=2
ã³ãã³ã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ã³ãã³ãããµããŒãããŸãã
cN ä¿®æ£ããŸã N-çªç®ã®å¶åŸ¡å€ã
æå®ãããå€ãæå¹ã§ãªãå Žåããã®å€ã¯ç¡èŠãããåã®å€ãä¿æãããŸãã
ããŒãã¹
3dBã®ãã€ã³ãåšæ³¢æ°ã§ããŒãã¹ãã£ã«ã¿ãŒãé©çšããŸãã ãã£ã«ã¿ã¯å極ãŸãã¯å極ã®ããããã§ã
å極ïŒããã©ã«ãïŒã ãã£ã«ã¿ã¯ããªã¯ã¿ãŒãããã6極ããã20dBïŒXNUMX極ãããXNUMXdBïŒã§ããŒã«ãªãããŸãã
XNUMX幎ããšïŒã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
åšæ³¢æ°ã f
åšæ³¢æ°ãHzã§èšå®ããŸãã ããã©ã«ãã¯500ã§ãã
ããŒã«ã p
極æ°ãèšå®ããŸãã ããã©ã«ãã¯2ã§ãã
å¹ ã®çš®é¡
ãã£ã«ã¿ã®åž¯åå¹ ãæå®ããã¡ãœãããèšå®ããŸãã
h Hz
q Qãã¡ã¯ã¿ãŒ
o ãªã¯ã¿ãŒã
s ã¹ããŒã
å¹ ã w
ãã£ã«ã¿ã®åž¯åå¹ ãwidth_typeåäœã§æå®ããŸãã å極ã«ã®ã¿é©çšãããŸã
ãã£ã«ã¿ãŒã ããã©ã«ãã¯0.707qã§ããã¿ãŒã¯ãŒã¹å¿çãè¿ããŸãã
ãã³
ç¹å®ã®ã²ã€ã³ã¬ãã«ã§ãã£ã³ãã«ãããã¯ã¹ããŸãã ãã£ã«ã¿ã¯åºåãã£ãã«ã¬ã€ã¢ãŠããåãå ¥ããŸã
ãã®åŸã«äžé£ã®ãã£ãã«å®çŸ©ãç¶ããŸãã
ãã®ãã£ã«ã¿ãŒã¯ããªãŒãã£ãªã¹ããªãŒã ã®ãã£ã³ãã«ãå¹ççã«åãããã³ã°ããããã«ãèšèšãããŠããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®åœ¢åŒã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãïŒ "l|ã¢ãŠããã|ã¢ãŠããã| ...ã
l åºåãã£ãã«ã¬ã€ã¢ãŠããŸãã¯ãã£ãã«æ°
ã¢ãŠããã
次ã®åœ¢åŒã®åºåãã£ãã«ä»æ§ïŒ
"ã¢ãŠãå=[å©åŸ*]in_name[+ [å©åŸ*]in_name...]ã
ã¢ãŠãå
ãã£ãã«åïŒFLãFRãªã©ïŒãŸãã¯ãã£ãã«çªå·ã®ãããããå®çŸ©ããåºåãã£ãã«
ïŒc0ãc1ãªã©ïŒ
å©åŸ
ãã£ãã«ã®ä¹æ³ä¿æ°ã1ã¯ããªã¥ãŒã ãå€æŽããã«æ®ããŸã
in_name
䜿çšããå ¥åãã£ãã«ã詳现ã«ã€ããŠã¯ãout_nameãåç §ããŠãã ããã ååä»ããšååãæ··åšãããããšã¯ã§ããŸãã
çªå·ä»ãå ¥åãã£ã³ãã«
ãã£ãã«ä»æ§ã® `= 'ã` <'ã«çœ®ãæããããå Žåããã®ã²ã€ã³ã¯
åèšã1ã«ãªãããã«ä»æ§ãåæ£èŠåããããããã¯ãªããã³ã°ãã€ãºãåé¿ãããŸãã
æ··å äŸ
ããšãã°ãã¹ãã¬ãªããã¢ãã©ã«ã«ããŠã³ããã¯ã¹ããããã
å·Šãã£ã³ãã«ïŒ
pan=1c|c0=0.9*c0+0.1*c1
3ã4ã5ã7ãã£ã³ãã«ã§èªåçã«æ©èœããã¹ãã¬ãªãžã®ã«ã¹ã¿ãã€ãºãããããŠã³ããã¯ã¹
å²ãïŒ
pan =ã¹ãã¬ãª| FL <FL + 0.5 * FC + 0.6 * BL + 0.6 * SL | FR <FR + 0.5 * FC + 0.6 * BR + 0.6 * SR
泚æããŠãã ãã ffmpeg ããã©ã«ãã®ããŠã³ããã¯ã¹ïŒããã³ã¢ããããã¯ã¹ïŒã·ã¹ãã ãçµ±åããŸãã
éåžžã«å ·äœçãªããŒãºããªãéããæšå¥šãããŸãïŒã-acããªãã·ã§ã³ãåç §ïŒã
åãããã³ã° äŸ
ãã£ãã«ã®åãããã³ã°ã¯ã次ã®å Žåã«ã®ã¿æå¹ã«ãªããŸãã
*
*
ãããã®æ¡ä»¶ããã¹ãŠæºãããããšããã£ã«ã¿ãŒã¯ãŠãŒã¶ãŒã«éç¥ããŸãïŒãçŽç²ãªãã£ãã«
ãããã³ã°ãæ€åºãããŸãããïŒãæé©åããããã¹ã¬ã¹æ¹åŒã䜿çšããŠåãããã³ã°ãå®è¡ããŸãã
ããšãã°ã5.1ãœãŒã¹ããããäœåãªãã®ãããããããŠã¹ãã¬ãªãªãŒãã£ãªã¹ããªãŒã ãå¿ èŠãªå Žå
ãã£ã³ãã«ïŒ
pan = "stereo | c0 = FL | c1 = FR"
åããœãŒã¹ãäžããããå Žåãããã³ãå·Šãã£ã³ãã«ãšããã³ãå³ãã£ã³ãã«ãåãæ¿ããŠç¶æããããšãã§ããŸã
å ¥åãã£ãã«ã¬ã€ã¢ãŠãïŒ
pan = "5.1 | c0 = c1 | c1 = c0 | c2 = c2 | c3 = c3 | c4 = c4 | c5 = c5"
å ¥åãã¹ãã¬ãªãªãŒãã£ãªã¹ããªãŒã ã®å Žåã¯ãå·Šåã®ãã£ã³ãã«ããã¥ãŒãã§ããŸãïŒããã§ãç¶æã§ããŸãïŒ
ã¹ãã¬ãªãã£ã³ãã«ã¬ã€ã¢ãŠãïŒïŒ
pan = "stereo | c1 = c1"
ã¹ãã¬ãªãªãŒãã£ãªã¹ããªãŒã å ¥åã§ããå³ãã£ã³ãã«ãå·Šåäž¡æ¹ã«ã³ããŒã§ããŸã
ãããŠå³ïŒ
pan = "stereo | c0 = FR | c1 = FR"
ãªãã¬ã€ã²ã€ã³
ReplayGainã¹ãã£ããŒãã£ã«ã¿ãŒã ãã®ãã£ã«ã¿ãŒã¯ããªãŒãã£ãªã¹ããªãŒã ãå ¥åãšããŠåãåãããããåºåããŸã
å€æŽãªãã ãã£ã«ã¿ãªã³ã°ã®æåŸã«ããtrack_gainããšãtrack_peakãã衚瀺ãããŸãã
ãªãµã³ãã«
ãªãŒãã£ãªãµã³ãã«ãã©ãŒãããããµã³ãã«ã¬ãŒãããã£ã³ãã«ã¬ã€ã¢ãŠããå€æããŸãã ããã¯æå³ãããŠããŸãã
çŽæ¥äœ¿çšãããŸãã
ãµã€ããã§ã€ã³å§çž®
ãã®ãã£ã«ã¿ãŒã¯éåžžã®ã³ã³ãã¬ããµãŒã®ããã«æ©èœããŸãããæ€åºãããä¿¡å·ãå§çž®ããæ©èœããããŸã
XNUMXçªç®ã®å ¥åä¿¡å·ã䜿çšããŸãã XNUMXã€ã®å ¥åã¹ããªãŒã ãå¿ èŠã§ãXNUMXã€ã®åºåã¹ããªãŒã ãè¿ããŸãã
æåã®å ¥åã¹ããªãŒã ã¯ãXNUMXçªç®ã®ã¹ããªãŒã ä¿¡å·ã«å¿ããŠåŠçãããŸãã ãã£ã«ã¿ãªã³ã°ããã
ãã®åŸãä¿¡å·ã¯åŠçã®åŸã®æ®µéã§ä»ã®ãã£ã«ã¿ãŒã§ãã£ã«ã¿ãŒåŠçã§ããŸãã èŠã ãã³ ãš
å䜵ãã ãã£ã«ã¿ã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãããå€
XNUMXçªç®ã®ã¹ããªãŒã ã®ä¿¡å·ããã®ã¬ãã«ãè¶ ãããšãã²ã€ã³ã®äœäžã«åœ±é¿ããŸãã
æåã®ã¹ããªãŒã ã®ã ããã©ã«ãã¯0.125ã§ãã ç¯å²ã¯0.00097563ãã1ã®éã§ãã
æ¯
ä¿¡å·ãæžå°ããæ¯çãèšå®ããŸãã 1ïŒ2ã¯ãã¬ãã«ã4dBäžæããå Žåãæå³ããŸã
ãããå€ãè¶ ãããšãåæžåŸã¯ããã2dBäžã«ãªããŸãã ããã©ã«ãã¯2ã§ãã
ç¯å²ã¯1ã20ã§ãã
æ»æ
ã²ã€ã³ã®åã«ä¿¡å·ããããå€ãè¶ ããŠäžæããå¿ èŠãããããªç§æ°
åæžãå§ãŸããŸãã ããã©ã«ãã¯20ã§ããç¯å²ã¯0.01ãã2000ã®éã§ãã
ãªãªãŒã¹
åæžãè¡ãããåã«ãä¿¡å·ããããå€ãäžåããªããã°ãªããªãããªç§æ°
åã³æžå°ããã ããã©ã«ãã¯250ã§ããç¯å²ã¯0.01ã9000ã§ãã
ã¡ã€ã¯ã¢ãã
åŠçåŸã«å¢å¹ ãããä¿¡å·éã§éãèšå®ããŸãã ããã©ã«ãã¯2ã§ãã
ç¯å²ã¯1ã64ã§ãã
è
éãèãã¹ã¬ãã·ã§ã«ãã®åšãã§ã«ãŒããããŠãã²ã€ã³ãªãã¯ã·ã§ã³ããããœããã«å ¥åããŸãã
ããã©ã«ãã¯2.82843ã§ãã ç¯å²ã¯1ã8ã§ãã
åŽéã¹ããªãŒã ã®ãã¹ãŠã®ãã£ãã«éã®ãå¹³åãã¬ãã«ãã
åŽéã¹ããªãŒã ã®ãã倧ããªïŒãæ倧ãïŒãã£ãã«ã¯ãæžå°ã«åœ±é¿ãäžããŸãã ããã©ã«ãã¯
"å¹³å"ã
æ€åº
ãããŒã¯ãã®å Žåã¯æ£ç¢ºãªä¿¡å·ãååŸããå¿ èŠãããããrmsãã®å Žåã¯RMSä¿¡å·ãååŸããå¿ èŠããããŸãã
ããã©ã«ãã¯ãrmsãã§ãäž»ã«ã¹ã ãŒãºã§ãã
äŸ
ã»2ã€ã®ãªãŒãã£ãªå ¥åã䜿çšããå®å šãªffmpegã®äŸã1çªç®ã®å ¥åã¯
2çªç®ã®å ¥åã®ä¿¡å·ãš2çªç®ã®å ¥åãšããŒãžãããåŸã§å§çž®ãããä¿¡å·ïŒ
ffmpeg -i main.flac -i sidechain.flac -filter_complex "[1ïŒa] asplit = 2 [sc] [mix]; [0ïŒa] [sc] sidechaincompress [compr]; [compr] [mix] amerge"
ç¡é³æ€åº
ãªãŒãã£ãªã¹ããªãŒã ã®ç¡é³ãæ€åºããŸãã
ãã®ãã£ã«ã¿ãŒã¯ãå ¥åé³éã以äžã§ããããšãæ€åºãããšãã¡ãã»ãŒãžããã°ã«èšé²ããŸã
æ€åºãããæå°ãã€ãºä»¥äžã®æç¶æéã®ãã€ãºèš±å®¹å€
æéã
å°å·ãããæéãšæéã¯ç§åäœã§è¡šãããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãã¥ã¬ãŒã·ã§ã³ã d
éç¥ãŸã§ã®ç¡é³æéãèšå®ããŸãïŒããã©ã«ãã¯2ç§ïŒã
ãã€ãºã n
ãã€ãºèš±å®¹å€ãèšå®ããŸãã dBåäœã§æå®å¯èœïŒæå®ããå€ã«ãdBããä»å ãããŠããå ŽåïŒ
å€ïŒãŸãã¯æ¯å¹ æ¯ã ããã©ã«ãã¯-60dBãã€ãŸã0.001ã§ãã
äŸ
ã»-5dBã®ãã€ãºèæ§ã§50ç§éã®ç¡é³ãæ€åºããŸãã
silencedetect = n = -50dBïŒd = 5
ã»å®å šãªäŸ ffmpeg 0.0001ã®ãã€ãºèæ§ã§ç¡é³ãæ€åºããã«ã¯
ç¡é³.mp3:
ffmpeg -i silence.mp3 -af silencedetect = noise = 0.0001 -f null-
ãµã€ã¬ã³ã¹åé€
ãªãŒãã£ãªã®æåãäžéããŸãã¯æåŸããç¡é³éšåãåé€ããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
éå§æé
ãã®å€ã¯ããªãŒãã£ãªã®éå§æã«ãªãŒãã£ãªãããªãã³ã°ããå¿ èŠããããã©ããã瀺ãããã«äœ¿çšãããŸãã A
ãŒãã®å€ã¯ãç¡é³éšåãæåããããªãã³ã°ããŠã¯ãªããªãããšã瀺ããŸãã ãã€
ãŒã以å€ã®å€ãæå®ãããšãç¡é³ã§ãªãããšãæ€åºããããŸã§ãªãŒãã£ãªãããªãã³ã°ãããŸãã éåžžã¯ã
ãªãŒãã£ãªã®æåããç¡é³ãããªãã³ã°ãããšã éå§æé 1ã«ãªããŸããã
éç¡é³ã®ç¹å®ã®ã«ãŠã³ããŸã§ãã¹ãŠã®ãªãŒãã£ãªãããªãã³ã°ããã«ã¯ãããé«ãå€ã«å¢ãããŸã
æéã ããã©ã«ãå€ã¯0ã§ãã
éå§æé
éæ²é»ãããªãã³ã°ãåæ¢ããåã«æ€åºããå¿ èŠãããæéãæå®ããŸã
ãªãŒãã£ãªã æç¶æéãé·ãããããšã§ããã€ãºã®ããŒã¹ããç¡é³ãšããŠæ±ãããšãã§ããŸãã
ããªãã³ã°ã ããã©ã«ãå€ã¯0ã§ãã
éå§éŸå€
ããã¯ãã©ã®ãµã³ãã«å€ãç¡é³ãšããŠåŠçããå¿ èŠããããã瀺ããŸãã ããžã¿ã«ãªãŒãã£ãªã®å Žåã
å€0ã§ãããŸããŸããããã¢ããã°ããé²é³ããããªãŒãã£ãªã®å Žåã¯ãå€ã倧ããããããšããå§ãããŸãã
ããã¯ã°ã©ãŠã³ããã€ãºãèæ ®ããå€ã dBã§æå®ã§ããŸãïŒãdBãã
æå®å€ã«ä»å ïŒãŸãã¯æ¯å¹ æ¯ã ããã©ã«ãå€ã¯0ã§ãã
åæ¢æé
ãªãŒãã£ãªã®æåŸããç¡é³éšåãããªãã³ã°ããããã®ã«ãŠã³ããèšå®ããŸãã ããæ²é»ãåãé€ãã«ã¯
ãã¡ã€ã«ã®éäžã§ã åæ¢æé ããã¯åŠå®çã§ãã 次ã«ããã®å€ãåŠçãããŸã
æ£ã®å€ãšããŠäœ¿çšãããå¹æã次ã®ããã«åŠçãåéããå¿ èŠãããããšã瀺ãããã«äœ¿çšãããŸã
ã«ãã£ãŠæå®ããã éå§æéãç¡é³ã®æéãåé€ããã®ã«é©ããŠããŸã
ãªãŒãã£ãªã®çãäžã ããã©ã«ãå€ã¯0ã§ãã
stop_duration
ãªãŒãã£ãªãã³ããŒãããªããªããŸã§ã«ååšããªããã°ãªããªãç¡é³ã®æéãæå®ããŸãã ã«
ããé·ãæéãæå®ãããšãå¿ èŠãªç¡é³ããªãŒãã£ãªã«æ®ãããšãã§ããŸãã
ããã©ã«ãå€ã¯0ã§ãã
åæ¢ãããå€
ããã¯ãšåãã§ã éå§éŸå€ ãããããªãŒãã£ãªã®çµããããæ²é»ãããªãã³ã°ããããã«ã
dBïŒæå®å€ã«ãdBããä»å ãããŠããå ŽåïŒãŸãã¯æ¯å¹ ã§æå®ã§ããŸã
æ¯ã ããã©ã«ãå€ã¯0ã§ãã
Leave_silence
ããã¯ã stop_duration ãªãŒãã£ãªã®é·ãã¯ãã®ãŸãŸã«ããŠããå¿ èŠããããŸã
æ²é»ã®åæéã®å§ãŸãã ããšãã°ãé·ãäžæåæ¢ãåé€ãããå Žå
åèªã®éã«ãããŸãããäžæåæ¢ãå®å šã«åé€ããããããŸããã ããã©ã«ãå€ã¯0ã§ãã
äŸ
ã»æ¬¡ã®äŸã¯ããã®ãã£ã«ã¿ãŒã䜿çšããŠã次ã®ãããªèšé²ãéå§ããæ¹æ³ã瀺ããŠããŸãã
ã¬ã³ãŒããæŒãéã«éåžžçºçããéå§æã®é 延ãå«ãŸãªã
ãã¿ã³ãšããã©ãŒãã³ã¹ã®éå§ïŒ
silenceremove = 1ïŒ5ïŒ0.02
é«é³å
XNUMX極ã·ã§ã«ãã³ã°ãã£ã«ã¿ãŒã䜿çšããŠããªãŒãã£ãªã®é«é³åïŒé«åïŒãããŒã¹ããŸãã¯ã«ããããŸãã
æšæºã®hi-fiã®ããŒã³ã³ã³ãããŒã«ãšåæ§ã®å¿çã ããã¯ã
æ£ã®åçåïŒEQïŒã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã²ã€ã³ã g
ã22kHzãšãã€ãã¹ãåšæ³¢æ°ã®ããããäœãæ¹ã§ã²ã€ã³ãäžããŸãã ããã¯
æçšãªç¯å²ã¯ãçŽ-20ïŒå€§ããªã«ããã®å ŽåïŒãã+20ïŒå€§ããªããŒã¹ãã®å ŽåïŒã§ãã æ°ã¥ã
æ£ã®ã²ã€ã³ã䜿çšããå Žåã®ã¯ãªããã³ã°ã
åšæ³¢æ°ã f
ãã£ã«ã¿ã®äžå¿åšæ³¢æ°ãèšå®ããŠãæ¡åŒµãŸãã¯åæžã«äœ¿çšã§ããããã«ããŸãã
ããŒã¹ããŸãã¯ã«ããããåšæ³¢æ°ç¯å²ã ããã©ã«ãå€ã¯3000Hzã§ãã
å¹ ã®çš®é¡
ãã£ã«ã¿ã®åž¯åå¹ ãæå®ããã¡ãœãããèšå®ããŸãã
h Hz
q Qãã¡ã¯ã¿ãŒ
o ãªã¯ã¿ãŒã
s ã¹ããŒã
å¹ ã w
ãã£ã«ã¿ã®ã·ã§ã«ãé·ç§»ãã©ã®çšåºŠæ¥ã§ããããå€æããŸãã
ããªã¥ãŒã
å ¥åé³éã調æŽããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ããªã¥ãŒã
é³éè¡šçŸãèšå®ããŸãã
åºåå€ã¯æ倧å€ã«ã¯ãªãããããŸãã
åºåé³éã¯ã次ã®é¢ä¿ã§äžããããŸãã
= *
ã®ããã©ã«ãå€ ããªã¥ãŒã ã1.0ãã§ãã
粟床
ãã®ãã©ã¡ãŒã¿ãŒã¯ãæ°åŠçãªç²ŸåºŠãè¡šããŸãã
èš±å¯ãããå ¥åãµã³ãã«åœ¢åŒã決å®ããŸããããã¯ç²ŸåºŠã«åœ±é¿ããŸãã
ããªã¥ãŒã ã¹ã±ãŒãªã³ã°ã®ã
åºå®ã®
8ãããåºå®å°æ°ç¹; ããã«ãããå ¥åãµã³ãã«åœ¢åŒãU8ãS16ãããã³S32ã«å¶éãããŸãã
ãããŒã
32ãããæµ®åå°æ°ç¹; ããã«ãããå ¥åãµã³ãã«åœ¢åŒãFLTã«å¶éãããŸãã ïŒããã©ã«ãïŒ
64ãããæµ®åå°æ°ç¹; ããã«ãããå ¥åãµã³ãã«åœ¢åŒãDBLã«å¶éãããŸãã
ãªãã¬ã€ã²ã€ã³
å ¥åãã¬ãŒã ã§ReplayGainãµã€ãããŒã¿ã«ééãããšãã®åäœãéžæããŸãã
ãããã
ReplayGainãµã€ãããŒã¿ãåé€ãããã®å 容ãç¡èŠããŸãïŒããã©ã«ãïŒã
ç¡èŠãã
ReplayGainãµã€ãããŒã¿ãç¡èŠããŸããããã¬ãŒã ã«æ®ããŸãã
远跡ãã
ååšããå Žåã¯ããã©ãã¯ã²ã€ã³ãåªå ããŸãã
ã¢ã«ãã
ååšããå Žåã¯ãã¢ã«ãã ã²ã€ã³ãåªå ããŸãã
ãªãã¬ã€ã²ã€ã³_ããªã¢ã³ã
éžæãããªãã¬ã€ã²ã€ã³ã²ã€ã³ã«é©çšããå眮å¢å¹ ã²ã€ã³ïŒdBïŒã
ã®ããã©ã«ãå€ ãªãã¬ã€ã²ã€ã³_ããªã¢ã³ã 0.0ã§ãã
è©äŸ¡ãã
ããªã¥ãŒã åŒãè©äŸ¡ãããšãã«èšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
ãã€ãŠ
ãã£ã«ã¿ã®åæåäžããŸã㯠ããªã¥ãŒã
ã³ãã³ããéä¿¡ãããŸã
ãã¬ãŒã
çä¿¡ãã¬ãŒã ããšã«åŒãè©äŸ¡ãã
ããã©ã«ãå€ã¯ ãã€ãŠ.
ããªã¥ãŒã åŒã«ã¯ã次ã®ãã©ã¡ãŒã¿ãŒãå«ããããšãã§ããŸãã
n ãã¬ãŒã çªå·ïŒãŒãããéå§ïŒ
nb_channels
ãã£ãã«æ°
nb_consumed_samples
ãã£ã«ã¿ã«ãã£ãŠæ¶è²»ããããµã³ãã«ã®æ°
nb_samples
çŸåšã®ãã¬ãŒã ã®ãµã³ãã«æ°
æçš¿ãã ãã¡ã€ã«å ã®å ã®ãã¬ãŒã äœçœ®
PTS ãã¬ãŒã PTS
ãµã³ãã«ã¬ãŒã
ãµã³ãã«ã¬ãŒã
éå§ç¹
ã¹ããªãŒã éå§æã®PTS
éå§
ã¹ããªãŒã éå§æã®æé
t ãã¬ãŒã ã¿ã€ã
tb ã¿ã€ã ã¹ã¿ã³ãã¿ã€ã ããŒã¹
ããªã¥ãŒã
æåŸã«èšå®ããé³éå€
ã«æ³šæããŠãã ãã è©äŸ¡ãã ã«èšå®ãããŠããŸã ãã€ãŠ ã®ã¿ ãµã³ãã«ã¬ãŒã ãš tb å€æ°ãå©çšå¯èœã§ãã
ä»ã®ãã¹ãŠã®å€æ°ã¯NANã«è©äŸ¡ãããŸãã
ã³ãã³ã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ã³ãã³ãããµããŒãããŸãã
ããªã¥ãŒã
ããªã¥ãŒã åŒãå€æŽããŸãã ãã®ã³ãã³ãã¯ã
察å¿ãããªãã·ã§ã³ã
æå®ãããåŒãç¡å¹ãªå ŽåãçŸåšã®å€ã«ä¿æãããŸãã
ãªãã¬ã€ã²ã€ã³_noclip
é©çšãããã²ã€ã³ãå¶éããããšã«ãããã¯ãªããã³ã°ãé²ããŸãã
ã®ããã©ã«ãå€ ãªãã¬ã€ã²ã€ã³_noclip 1ã§ãã
äŸ
ã»å ¥åé³éãååã«ããŸãã
volume = volume = 0.5
ããªã¥ãŒã =ããªã¥ãŒã =1/2
ããªã¥ãŒã =ããªã¥ãŒã =-6.0206dB
äžèšã®ãã¹ãŠã®äŸã§ã ããªã¥ãŒã ããšãã°ã次ã®ããã«çç¥ã§ããŸãã
ããªã¥ãŒã =0.5
ã»åºå®å°æ°ç¹ç²ŸåºŠã䜿çšããŠãå ¥åãªãŒãã£ãªãã¯ãŒã6ãã·ãã«å¢ãããŸãã
volume = volume = 6dBïŒprecision = fixed
ã»10ç§ã®æ¶æ» æéã§æé5ã®åŸã«ããªã¥ãŒã ããã§ãŒãããŸãã
volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame
ããªã¥ãŒã æ€åº
å ¥åãããªã®é³éãæ€åºããŸãã
ãã£ã«ã¿ã«ã¯ãã©ã¡ãŒã¿ããããŸããã å ¥åã¯å€æŽãããŸããã ããªã¥ãŒã ã«é¢ããçµ±èšã¯
å ¥åã¹ããªãŒã ã®çµããã«éãããšãã«ãã°ã«åºåãããŸãã
ç¹ã«ãå¹³åããªã¥ãŒã ïŒäºä¹å¹³åå¹³æ¹æ ¹ïŒãæ倧ããªã¥ãŒã ïŒããšã«ïŒã衚瀺ãããŸãã
ãµã³ãã«ããŒã¹ïŒãããã³ç»é²ãããããªã¥ãŒã å€ã®ãã¹ãã°ã©ã ã®éå§ïŒ
ãµã³ãã«ã®çŽ¯ç©1/1000ã®æ倧å€ïŒã
ãã¹ãŠã®ããªã¥ãŒã ã¯ãæ倧PCMå€ãåºæºã«ãããã·ãã«åäœã§ãã
äŸ
åºåã®æç²ã¯æ¬¡ã®ãšããã§ãã
[Parsed_volumedetect_0 0xa23120] mean_volumeïŒ-27 dB
[Parsed_volumedetect_0 0xa23120] max_volumeïŒ-4 dB
[Parsed_volumedetect_0 0xa23120]histogram_4dbïŒ6
[Parsed_volumedetect_0 0xa23120]histogram_5dbïŒ62
[Parsed_volumedetect_0 0xa23120]histogram_6dbïŒ286
[Parsed_volumedetect_0 0xa23120]histogram_7dbïŒ1042
[Parsed_volumedetect_0 0xa23120]histogram_8dbïŒ2551
[Parsed_volumedetect_0 0xa23120]histogram_9dbïŒ4609
[Parsed_volumedetect_0 0xa23120]histogram_10dbïŒ8409
ã ãšããããšã ïŒ
ã»å¹³åäºä¹ãšãã«ã®ãŒã¯çŽ-27 dBãã€ãŸã10^-2.7ã§ãã
ã»æ倧ã®ãµã³ãã«ã¯-4 dBãããæ£ç¢ºã«ã¯-4dBãã-5dBã®éã§ãã
ã»-6 dBã§4ã€ã®ãµã³ãã«ã-62 dBã§5ã-286dBã§6ãªã©ããããŸãã
ã€ãŸããé³éã+4 dBäžããŠãã¯ãªããã³ã°ã¯çºçããã+5äžããŸãã
dBã¯ã6ãµã³ãã«ãªã©ã®ã¯ãªããã³ã°ãåŒãèµ·ãããŸãã
AUDIO SOURCES
以äžã¯ãçŸåšå©çšå¯èœãªãªãŒãã£ãªãœãŒã¹ã®èª¬æã§ãã
ãããã¡ãŒ
ãªãŒãã£ãªãã¬ãŒã ããããã¡ãªã³ã°ãããã£ã«ã¿ãŒãã§ãŒã³ã§äœ¿çšã§ããããã«ããŸãã
ãã®ãœãŒã¹ã¯ãäž»ã«ããã°ã©ã ã«ãã䜿çšãç¹ã«ã€ã³ã¿ãŒãã§ã€ã¹ãä»ãã䜿çšãç®çãšããŠããŸãã
ã§å®çŸ©ããã libavfilter / asrc_abuffer.h.
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ã¿ã€ã ããŒã¹
éä¿¡ããããã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ãã«äœ¿çšãããã¿ã€ã ããŒã¹ã ã©ã¡ããã§ãªããã°ãªããŸãã
æµ®åå°æ°ç¹æ°ãŸã㯠åå/åæ¯ ãã©ãŒã ã
ãµã³ãã«ã¬ãŒã
çä¿¡ãªãŒãã£ãªãããã¡ã®ãµã³ãã«ã¬ãŒãã
ãµã³ãã«fmt
çä¿¡ãªãŒãã£ãªãããã¡ã®ãµã³ãã«ãã©ãŒãããã ãµã³ãã«ãã©ãŒãããåãŸãã¯ãã®
åæåAVSampleFormatããã®å¯Ÿå¿ããæŽæ°è¡šçŸ
libavutil / samplefmt.h
ãã£ã³ãã«ã¬ã€ã¢ãŠã
çä¿¡ãªãŒãã£ãªãããã¡ã®ãã£ãã«ã¬ã€ã¢ãŠãã ããã®ãã£ãã«ã¬ã€ã¢ãŠãå
channel_layout_map ã® libavutil / channel_layout.c ãŸãã¯ããã«å¯Ÿå¿ããæŽæ°
ã®AV_CH_LAYOUT_*ãã¯ãããã®è¡šçŸ libavutil / channel_layout.h
ãã£ã³ãã«
çä¿¡ãªãŒãã£ãªãããã¡ã®ãã£ãã«æ°ã äž¡æ¹ã®å Žå ãã£ã³ãã« ãš
ãã£ã³ãã«ã¬ã€ã¢ãŠã ãæå®ãããŠããå Žåããããã¯äžè²«ããŠããå¿ èŠããããŸãã
äŸ
abuffer = sample_rate = 44100ïŒsample_fmt = s16pïŒchannel_layout=ã¹ãã¬ãª
16Hzã§å¹³é¢44100ããã笊å·ä»ãã¹ãã¬ãªãåãå ¥ããããã«ãœãŒã¹ã«æ瀺ããŸãã 以æ¥
ãs16pããšããååã®ãµã³ãã«ãã©ãŒãããã¯ã6çªãšãã¹ãã¬ãªããã£ã³ãã«ã¬ã€ã¢ãŠãã«å¯Ÿå¿ããŸãã
å€0x3ã«å¯Ÿå¿ããããã¯æ¬¡ãšåçã§ãã
abuffer = sample_rate = 44100ïŒsample_fmt = 6ïŒchannel_layout = 0x3
aevalsrc
åŒã§æå®ããããªãŒãã£ãªä¿¡å·ãçæããŸãã
ãã®ãœãŒã¹ã¯ãå ¥åã§XNUMXã€ä»¥äžã®åŒïŒãã£ãã«ããšã«XNUMXã€ïŒãåãå ¥ããŸãã
è©äŸ¡ããã察å¿ãããªãŒãã£ãªä¿¡å·ãçæããããã«äœ¿çšãããŸãã
ãã®ãœãŒã¹ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
åŒ
åå¥ã®ãã£ãã«ããšã«ã|ãã§åºåãããåŒã®ãªã¹ããèšå®ããŸãã ã®å Žå
ãã£ã³ãã«ã¬ã€ã¢ãŠã ãªãã·ã§ã³ãæå®ãããŠããªãå Žåãéžæããããã£ãã«ã¬ã€ã¢ãŠãã¯
æäŸãããåŒã®æ°ã ãã以å€ã®å Žåã¯ãæåŸã«æå®ãããåŒãã«é©çšãããŸã
æ®ãã®åºåãã£ãã«ã
channel_layoutã c
ãã£ãã«ã¬ã€ã¢ãŠããèšå®ããŸãã æå®ãããã¬ã€ã¢ãŠãã®ãã£ãã«æ°ã¯çãããªããã°ãªããŸãã
æå®ãããåŒã®æ°ã«ã
ãã¥ã¬ãŒã·ã§ã³ã d
ãœãŒã¹ãªãŒãã£ãªã®æå°æéãèšå®ããŸãã èŠã ã Time ãã¥ã¬ãŒã·ã§ã³ in ã
ffmpeg-utils(1) ããã¥ã¢ã« åãå ¥ããããæ§æã«ã€ããŠã çµæã®æéã¯
çæããããªãŒãã£ãªã¯åžžã«
å®å šãªãã¬ãŒã ã®çµããã
æå®ãããŠããªãå ŽåããŸãã¯è¡šçŸãããæç¶æéãè² ã®å ŽåããªãŒãã£ãªã¯
æ°žé ã«çæãããŸãã
nb_samplesã n
ååºåãã¬ãŒã ããšã®ãã£ãã«ããšã®ãµã³ãã«æ°ãèšå®ããŸããããã©ã«ãã¯1024ã§ãã
ãµã³ãã«ã¬ãŒãã s
ãµã³ãã«ã¬ãŒããæå®ããŸããããã©ã«ãã¯44100ã§ãã
ã®ååŒ åŒ æ¬¡ã®å®æ°ãå«ããããšãã§ããŸãã
n 0ããå§ãŸãè©äŸ¡ããããµã³ãã«ã®æ°
t 0ããå§ãŸããç§ã§è¡šãããè©äŸ¡ããããµã³ãã«ã®æé
s ãµã³ãã«ã¬ãŒã
äŸ
ã»æ²é»ãçæããŸãïŒ
aevalsrc = 0
ã»åšæ³¢æ°440 Hzã®sinä¿¡å·ãçæãããµã³ãã«ã¬ãŒãã8000Hzã«èšå®ããŸãã
aevalsrc = "/ sinïŒ440 * 2 * PI * tïŒïŒs = 8000"
ã»XNUMXãã£ã³ãã«ä¿¡å·ãçæãããã£ã³ãã«ã¬ã€ã¢ãŠããæå®ããŸãïŒããã³ãã»ã³ã¿ãŒ+ããã¯
ã»ã³ã¿ãŒïŒæ瀺çã«ïŒ
aevalsrc = "/ sinïŒ420 * 2 * PI * tïŒ| cosïŒ430 * 2 * PI * tïŒïŒc = FC | BC"
ã»ãã¯ã€ããã€ãºãçæããŸãã
aevalsrc = "/-2 +ã©ã³ãã ïŒ0ïŒ "
ã»æ¯å¹ å€èª¿ä¿¡å·ãçæããŸãã
aevalsrc = "/ sinïŒ10 * 2 * PI * tïŒ* sinïŒ880 * 2 * PI * tïŒ"
ã»2.5Hzãã£ãªã¢ã§360Hzãã€ããŒã©ã«ããŒããçæããŸãã
aevalsrc="/0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)"
ç¡å¹ãªrc
nullãªãŒãã£ãªãœãŒã¹ãæªåŠçã®ãªãŒãã£ãªãã¬ãŒã ãè¿ããŸãã äž»ã«ãã³ãã¬ãŒããšããŠåœ¹ç«ã¡ãŸã
åæ/ãããã°ããŒã«ã§äœ¿çšãããããã£ã«ã¿ãŒã®ãœãŒã¹ãšããŠäœ¿çšããŸãã
å ¥åããŒã¿ãç¡èŠããŸãïŒããšãã°ãsoxã·ã³ã»ãã£ã«ã¿ãŒïŒã
ãã®ãœãŒã¹ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
channel_layoutã cl
ãã£ãã«ã¬ã€ã¢ãŠããæå®ããŸããæŽæ°ãŸãã¯æååã®ããããã§ã
ãã£ãã«ã¬ã€ã¢ãŠãã ã®ããã©ã«ãå€ ãã£ã³ãã«ã¬ã€ã¢ãŠã ãã¹ãã¬ãªãã§ãã
ã®channel_layout_mapå®çŸ©ã確èªããŠãã ãã libavutil / channel_layout.c ãããã³ã°çš
æååãšãã£ãã«ã¬ã€ã¢ãŠãå€ã®éã
ãµã³ãã«ã¬ãŒãã r
ãµã³ãã«ã¬ãŒããæå®ããããã©ã«ãã¯44100ã§ãã
nb_samplesã n
èŠæ±ããããã¬ãŒã ããšã®ãµã³ãã«æ°ãèšå®ããŸãã
äŸ
ã»ãµã³ãã«ã¬ãŒãã48000 Hzã«èšå®ãããã£ãã«ã¬ã€ã¢ãŠããAV_CH_LAYOUT_MONOã«èšå®ããŸãã
anullsrc = r = 48000ïŒcl = 4
ã»ããæçœãªæ§æã§åãæäœãå®è¡ããŸãã
anullsrc = r = 48000ïŒcl = mono
ãã¹ãŠã®ãã©ã¡ãŒã¿ãŒãæ瀺çã«å®çŸ©ããå¿ èŠããããŸãã
ããªãã
libfliteã©ã€ãã©ãªã䜿çšããŠé³å£°çºå£°ãåæããŸãã
ãã®ãã£ã«ã¿ãŒã®ã³ã³ãã€ã«ãæå¹ã«ããã«ã¯ãFFmpegãæ§æããå¿ èŠããããŸã
ã--enable-libfliteãã
fliteã©ã€ãã©ãªã¯ã¹ã¬ããã»ãŒãã§ã¯ãªãããšã«æ³šæããŠãã ããã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
list_voices
1ã«èšå®ãããŠããå Žåã¯ã䜿çšå¯èœãªãã€ã¹ã®ååããªã¹ãããŠãããã«çµäºããŸãã ããã©ã«ã
å€ã¯0ã§ãã
nb_samplesã n
ãã¬ãŒã ãããã®ãµã³ãã«ã®æ倧æ°ãèšå®ããŸãã ããã©ã«ãå€ã¯512ã§ãã
ããã¹ããã¡ã€ã«
話ãããã¹ããå«ããã¡ã€ã«åãèšå®ããŸãã
íŽëŒì°ë êž°ë° AI/MLë° ê³ ì±ë¥ 컎íší ì íµí ëì§íž ížìì êž°ìŽ â Edward Hsu, Rescale CPO ë§ì ìì§ëìŽë§ ì€ì¬ êž°ì ìê² íŽëŒì°ëë R&Dëì§íž ì íì 첫 ëšê³ìŒ ë¿ì ëë€. íŽëŒì°ë ììì íì©íŽ ìì§ëìŽë§ íì ì ìœì íŽê²°íë ëšê³ë¥Œ ëìŽ, ì뮬ë ìŽì ìŽìì íµí©íê³ ìµì ííë©°, ê¶ê·¹ì ìŒë¡ë ëªšëž êž°ë°ì íì 곌 ìì¬ ê²°ì ì ì§ìíì¬ ì ì íì ê²°ì í ë ë°ìŽí° êž°ë° ìì§ëìŽë§ì ì ì©íê³ ì í©ëë€. Rescaleì ìŽë¬í íì ì ëêž° ìíŽ ì»Žíší ì¶ì² ìì§, íµí© ë°ìŽí° íšëžëŠ, ë©íë°ìŽí° êŽëŠ¬ ë±ì ê°ë°íê³ ììµëë€. ìŽë² ì늬륌 ë¹ë € ë¹ìŠëì€ ê²œìë ¥ ì ê³ ë¥Œ ìí ëì§íž ížì ë° ëì§íž ì€ë ë ì ëµ ê°ë° ë°©ë²ì ëí ìžì¬ìŽížë¥Œ ëëê³ ì í©ëë€.
話ãããã¹ããèšå®ããŸãã
ãã€ã¹ã v
é³å£°åæã«äœ¿çšããé³å£°ãèšå®ããŸãã ããã©ã«ãå€ã¯ãkalãã§ãã ãåç §ããŠãã ãã
list_voices ãªãã·ã§ã³ãéžæããŸãã
äŸ
ã»ãã¡ã€ã«ããèªã¿åã Speech.txtãããã³æšæºã®fliteé³å£°ã䜿çšããŠããã¹ããåæããŸãã
flite = textfile = spirit.txt
ã»ãsltãé³å£°ãéžæããŠæå®ãããããã¹ããèªã¿ãŸãã
flite = text ='ããã§ãç§ãã³ã¡ã³ããŒã¿ãŒã§ãããµããµãã®è²§ããæªéãããªããå æ°ã«ããŠãã ãã'ïŒvoice = slt
ã»ffmpegã«ããã¹ããå ¥åããŸãïŒ
ffmpeg -f lavfi -i flite = text ='ããã§ãç§ãã³ã¡ã³ããŒã¿ãŒã§ãããµããµãã®è²§ããæªéãããªããå æ°ã«ããŠãã ãã'ïŒvoice = slt
ã» äœã åçãã ãfliteããšãlavfiãããã€ã¹ã䜿çšããŠãæå®ãããããã¹ãã話ããŸãã
ffplay -f lavfi flite = text ='ããªãããã£ãããšã«å¯ŸããŠããã以äžæ²ããããšã¯ãããŸããã'
libfliteã®è©³çŽ°ã«ã€ããŠã¯ã以äžã確èªããŠãã ãããhttp://www.speech.cs.cmu.edu/flite/>
æ£åŒŠ
æ¯å¹ 1/8ã®æ£åŒŠæ³¢ã§äœããããªãŒãã£ãªä¿¡å·ãçæããŸãã
ãªãŒãã£ãªä¿¡å·ã¯ããã粟床ã§ãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
åšæ³¢æ°ã f
æ¬éåšæ³¢æ°ãèšå®ããŸãã ããã©ã«ãã¯440Hzã§ãã
beep_factorã b
æ¯ç§å®æçãªããŒãé³ãé »ç¹ã«æå¹ã«ãã ããŒãé³ä¿æ° ãã£ãªã¢ã®å
åšæ³¢æ°ã ããã©ã«ãã¯0ã§ãããŒãé³ãç¡å¹ã«ãªã£ãŠããããšãæå³ããŸãã
ãµã³ãã«ã¬ãŒãã r
ãµã³ãã«ã¬ãŒããæå®ããŸããããã©ã«ãã¯44100ã§ãã
ãã¥ã¬ãŒã·ã§ã³ã d
çæããããªãŒãã£ãªã¹ããªãŒã ã®æéãæå®ããŸãã
ãã¬ãŒã ããšã®ãµã³ãã«æ°
åºåãã¬ãŒã ãããã®ãµã³ãã«æ°ãèšå®ããŸããããã©ã«ãã¯1024ã§ãã
äŸ
ã»åçŽãª440Hzã®æ£åŒŠæ³¢ãçæããŸãã
æ£åŒŠ
ã»220ç§éãæ¯ç§880Hzã®ããŒãé³ã§5Hzã®æ£åŒŠæ³¢ãçæããŸãã
sine = 220ïŒ4ïŒd = 5
sine = f = 220ïŒb = 4ïŒd = 5
sine = frequency = 220ïŒbeep_factor = 4ïŒduration = 5
AUDIO ã·ã³ã¯
以äžã¯ãçŸåšå©çšå¯èœãªãªãŒãã£ãªã·ã³ã¯ã®èª¬æã§ãã
ãããã¡ã·ã³ã¯
ãªãŒãã£ãªãã¬ãŒã ããããã¡ãªã³ã°ãããã£ã«ã¿ãŒãã§ãŒã³ã®æåŸã§äœ¿çšã§ããããã«ããŸãã
ãã®ã·ã³ã¯ã¯ãäž»ã«ããã°ã©ã ã§ã®äœ¿çšãç®çãšããŠãããç¹ã«ã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠäœ¿çšããããšãç®çãšããŠããŸãã
ã§å®çŸ©ããã libavfilter / buffersink.h ãŸãã¯ãªãã·ã§ã³ã·ã¹ãã ã
çä¿¡ãå®çŸ©ããAVABufferSinkContextæ§é äœãžã®ãã€ã³ã¿ãŒãåãå ¥ããŸã
ãããã¡ã®ãã©ãŒããããäžéæãªãã©ã¡ãŒã¿ãšããŠãavfilter_init_filterãã«æž¡ãããŸãã
åæåã
ãã«ã·ã³ã¯
ãã«ãªãŒãã£ãªã·ã³ã¯; å ¥åãªãŒãã£ãªã«ã¯äœãããŸããã äž»ã«
ãã³ãã¬ãŒãããã³åæ/ãããã°ããŒã«ã§äœ¿çšããŸãã
VIDEO FILTERS
FFmpegãã«ããæ§æããå Žåãã䜿çšããŠæ¢åã®ãã£ã«ã¿ãŒãç¡å¹ã«ããããšãã§ããŸã
ã--disable-filtersãã æ§æåºåã«ã¯ãã«å«ãŸããŠãããããªãã£ã«ã¿ãŒã衚瀺ãããŸã
ãã«ãã
以äžã¯ãçŸåšå©çšå¯èœãªãããªãã£ã«ã¿ãŒã®èª¬æã§ãã
ã¢ã«ãã¡æœåº
å ¥åããã¢ã«ãã¡ã³ã³ããŒãã³ããã°ã¬ãŒã¹ã±ãŒã«ãããªãšããŠæœåºããŸãã ããã¯ç¹ã«äŸ¿å©ã§ã
ã¢ã«ãã¡ããŒãž ãã£ã«ã¿ã
ã¢ã«ãã¡ããŒãž
äžæ¬¡å ¥åã®ã¢ã«ãã¡æåãè¿œå ããããã®ã°ã¬ãŒã¹ã±ãŒã«å€ã«çœ®ãæããŸãã
XNUMXçªç®ã®å ¥åã ããã¯ã ã¢ã«ãã¡æœåº éä¿¡ãèš±å¯ããã
ã¢ã«ãã¡ããµããŒãããªã圢åŒã®ã¢ã«ãã¡ãæã€ãã¬ãŒã ã·ãŒã±ã³ã¹ã®ä¿å
ãã£ã³ãã«ã
ããšãã°ãéåžžã®YUVã§ãšã³ã³ãŒãããããããªãšå¥ã®ãããªãããã«ãã¬ãŒã ãåæ§ç¯ããã«ã¯
ã§äœæããããã㪠ã¢ã«ãã¡æœåºãããªãã¯äœ¿çšãããããããŸããïŒ
movie = in_alpha.mkv [alpha]; [in] [alpha] alphamerge [out]
ãã®ãã£ã«ã¿ãŒã¯åæ§æçšã«èšèšãããŠããããããã¬ãŒã ã·ãŒã±ã³ã¹ã§åäœããŸãã
ã¿ã€ã ã¹ã¿ã³ããèæ ®ããããããã®å ¥åãã¹ããªãŒã ã®çµããã«éãããšçµäºããŸãã ãã®æå¿
ãšã³ã³ãŒãã£ã³ã°ãã€ãã©ã€ã³ããã¬ãŒã ããããããããšåé¡ãçºçããŸãã ç»åãé©çšããããšããŠããå Žå
ãããªã¹ããªãŒã ãžã®ãªãŒããŒã¬ã€ãšããŠã ãªãŒããŒã¬ã€ 代ããã«ãã£ã«ã¿ãŒããŸãã
å°»
ãšåã ãµãã¿ã€ãã« ãã£ã«ã¿ã¯ãlibavcodecãšlibavformatãå¿ èŠãšããªãããšãé€ããŠ
ä»äºã äžæ¹ãASSïŒAdvanced Substation AlphaïŒåå¹ãã¡ã€ã«ã«éå®ãããŠããŸãã
ãã®ãã£ã«ã¿ãŒã¯ãããã®äžè¬çãªãªãã·ã§ã³ã«å ããŠã次ã®ãªãã·ã§ã³ãåãå ¥ããŸã
ãµãã¿ã€ãã« ãã£ã«ã¿ïŒ
ã·ã§ãŒãã³ã°
ã·ã§ãŒãã³ã°ãšã³ãžã³ãèšå®ãã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ãªãŒã
å©çšå¯èœãªæé«ã®ããã©ã«ãã®libassã·ã§ãŒãã³ã°ãšã³ãžã³ã
ã·ã³ãã«ãª
眮æã®ã¿ãå®è¡ã§ããããã©ã³ãã«äŸåããªãé«éãªã·ã§ãŒããŒ
è€éãª
眮æãšé 眮ã«OpenTypeã䜿çšããäœéã®ã·ã§ãŒããŒ
ããã©ã«ãã¯ãèªåãã§ãã
ã¢ã¿ããã€ãº
ãããªå ¥åã«AdaptiveTemporalAveragingDenoiserãé©çšããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
0a 1çªç®ã®å¹³é¢ã«ãããå€Aãèšå®ããŸãã ããã©ã«ãã¯0.02ã§ãã æå¹ãªç¯å²ã¯0ã0.3ã§ãã
0b 1çªç®ã®å¹³é¢ã«ãããå€Bãèšå®ããŸãã ããã©ã«ãã¯0.04ã§ãã æå¹ãªç¯å²ã¯0ã5ã§ãã
1a 2çªç®ã®å¹³é¢ã«ãããå€Aãèšå®ããŸãã ããã©ã«ãã¯0.02ã§ãã æå¹ãªç¯å²ã¯0ã0.3ã§ãã
1b 2çªç®ã®å¹³é¢ã«ãããå€Bãèšå®ããŸãã ããã©ã«ãã¯0.04ã§ãã æå¹ãªç¯å²ã¯0ã5ã§ãã
2a 3çªç®ã®å¹³é¢ã«ãããå€Aãèšå®ããŸãã ããã©ã«ãã¯0.02ã§ãã æå¹ãªç¯å²ã¯0ã0.3ã§ãã
2b 3çªç®ã®å¹³é¢ã«ãããå€Bãèšå®ããŸãã ããã©ã«ãã¯0.04ã§ãã æå¹ãªç¯å²ã¯0ã5ã§ãã
ãããå€Aã¯ãå ¥åä¿¡å·ãšãããå€Bã®æ¥æ¿ãªå€åã«åå¿ããããã«èšèšãããŠããŸã
å ¥åä¿¡å·ã®é£ç¶çãªå€åã«åå¿ããããã«èšèšãããŠããŸãã
s ãã£ã«ã¿ãå¹³ååã«äœ¿çšãããã¬ãŒã æ°ãèšå®ããŸãã ããã©ã«ãã¯33ã§ããå¥æ°ã§ããå¿ èŠããããŸã
ç¯å²[5ã129]ã
bbox
å ¥åãã¬ãŒã ã®èŒåºŠå¹³é¢ã®é»ä»¥å€ã®ãã¯ã»ã«ã®ããŠã³ãã£ã³ã°ããã¯ã¹ãèšç®ããŸãã
ãã®ãã£ã«ã¿ãŒã¯ãèŒåºŠå€ãæã€ãã¹ãŠã®ãã¯ã»ã«ãå«ãããŠã³ãã£ã³ã°ããã¯ã¹ãèšç®ããŸã
æå°èš±å®¹å€ãã倧ããã ããŠã³ãã£ã³ã°ããã¯ã¹ã説æãããã©ã¡ãŒã¿ã¯æ¬¡ã®ãšããã§ãã
ãã£ã«ã¿ãã°ã«å°å·ãããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
æå°å€
æå°èŒåºŠå€ãèšå®ããŸãã ããã©ã«ãã¯16ã§ãã
é»æ€åº
ïŒã»ãŒïŒå®å šã«é»ã®ãããªééãæ€åºããŸãã ç« ãæ€åºããã®ã«åœ¹ç«ã¡ãŸã
ãã©ã³ãžã·ã§ã³ãã³ããŒã·ã£ã«ããŸãã¯ç¡å¹ãªé²é³ã åºåè¡ã«ã¯ã
æ€åºãããé»ã®ééã®éå§ãçµäºãããã³æéïŒç§åäœïŒã
åºåè¡ã衚瀺ããã«ã¯ãå°ãªããšããã°ã¬ãã«ã
AV_LOG_INFOå€ã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
black_min_durationã d
æ€åºãããé»ã®æå°æç¶æéãç§åäœã§èšå®ããŸãã ããã¯é
è² ã®æµ®åå°æ°ç¹æ°ã
ããã©ã«ãå€ã¯2.0ã§ãã
picture_black_ratio_thã pic_th
ç»åããé»ããšèŠãªãããã®ãããå€ãèšå®ããŸãã ã®æå°å€ãè¡šã
æ¯çïŒ
/
åçãé»ãšèŠãªããããã®ã ããã©ã«ãå€ã¯0.98ã§ãã
pixel_black_thã pix_th
ãã¯ã»ã«ããé»ããšèŠãªãããã®ãããå€ãèšå®ããŸãã
ãããå€ã¯ããã¯ã»ã«ãååšããæ倧ãã¯ã»ã«èŒåºŠå€ãè¡šããŸã
ãé»ããšèŠãªãããŸãã æäŸãããå€ã¯ã次ã®åŒã«åŸã£ãŠã¹ã±ãŒãªã³ã°ãããŸãã
= + *
èŒåºŠç¯å²ãµã€ãº ãš èŒåºŠæå°å€ å ¥åãããªãã©ãŒãããã«å¿ããŠã
ç¯å²ã¯ãYUVãã«ã¬ã³ãžãã©ãŒãããã®å Žåã¯[0-255]ãYUVéãã«ã¬ã³ãžãã©ãŒãããã®å Žåã¯[16-235]ã§ãã
ãã©ãŒãããã
ããã©ã«ãå€ã¯0.10ã§ãã
次ã®äŸã§ã¯ãæ倧ãã¯ã»ã«ãããå€ãæå°å€ã«èšå®ãããæ€åºããŸã
2ç§ä»¥äžã®é»ã®ééã®ã¿ïŒ
blackdetect = d = 2ïŒpix_th = 0.00
ãã©ãã¯ãã¬ãŒã
ïŒã»ãŒïŒå®å šã«é»ã®ãã¬ãŒã ãæ€åºããŸãã ç« ãæ€åºããã®ã«åœ¹ç«ã¡ãŸã
ãã©ã³ãžã·ã§ã³ãŸãã¯ã³ããŒã·ã£ã«ã åºåã©ã€ã³ã¯ãæ€åºããããã¬ãŒã çªå·ã§æ§æãããŸã
ãã¬ãŒã ãé»ãã®ããŒã»ã³ããŒãžãæ¢ç¥ã®å Žåã¯ãã¡ã€ã«å ã®äœçœ®ããŸãã¯-1ãš
ç§åäœã®ã¿ã€ã ã¹ã¿ã³ãã
åºåè¡ã衚瀺ããã«ã¯ãå°ãªããšããã°ã¬ãã«ã
AV_LOG_INFOå€ã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
é
ãããå€ãäžåã£ãŠããå¿ èŠããããã¯ã»ã«ã®ããŒã»ã³ããŒãžã ããã©ã«ãã¯98ã§ãã
ãããå€ã è±ç©
ãããäžåããšããã¯ã»ã«å€ãé»ãšèŠãªããããããå€ã ããã©ã«ãã¯32ã§ãã
ãã¬ã³ãã ãã¬ã³ã
XNUMXã€ã®ãããªãã¬ãŒã ãäºãã«ãã¬ã³ãããŸãã
ããã¬ã³ãããã£ã«ã¿ãŒã¯XNUMXã€ã®å ¥åã¹ããªãŒã ãåãåããXNUMXã€ã®ã¹ããªãŒã ãåºåããŸããæåã®å ¥åã¯ã
ãããããã¬ã€ã€ãŒãšXNUMXçªç®ã®å ¥åã¯ãããã ãã¬ã€ã€ãŒã§ãã æçã®å ¥åã§åºåãçµäºããŸã
çµäºããŸãã
ãtblendãïŒã¿ã€ã ãã¬ã³ãïŒãã£ã«ã¿ãŒã¯ãXNUMXã€ã®åäžã¹ããªãŒã ããXNUMXã€ã®é£ç¶ãããã¬ãŒã ãååŸãã
å€ããã¬ãŒã ã®äžã«æ°ãããã¬ãŒã ããã¬ã³ãããŠåŸãããçµæãåºåããŸãã
åãå ¥ãããããªãã·ã§ã³ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
c0_mode
c1_mode
c2_mode
c3_mode
ãªãŒã«ã¢ãŒã
ç¹å®ã®ãã¯ã»ã«ã³ã³ããŒãã³ããŸãã¯ãã¹ãŠã®ãã¯ã»ã«ã³ã³ããŒãã³ãã®ãã¬ã³ãã¢ãŒããèšå®ãã
ãªãŒã«ã¢ãŒãã ããã©ã«ãå€ã¯ãéåžžãã§ãã
ã³ã³ããŒãã³ãã¢ãŒãã§äœ¿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
æ·»å
ãš
å¹³å
çŒã
æããã
éã
éã128
åå²
ãããž
é€å€
ã°ããŒ
ããŒãã©ã€ã
ããŒãããã¯ã¹
æããããŸã
ãªãã¢ã©ã€ã
æãã
åŠå®
éåžžã®
or
ãªãŒããŒã¬ã€
ãã§ããã¯ã¹
ãã³ã©ã€ã
åæ ãã
screen
ãããããå
åŒã
ããããã©ã€ã
XOR
c0_äžéæ床
c1_äžéæ床
c2_äžéæ床
c3_äžéæ床
ãã¹ãŠã®äžéæ床
ç¹å®ã®ãã¯ã»ã«ã³ã³ããŒãã³ããŸãã¯ãã¹ãŠã®ãã¯ã»ã«ã³ã³ããŒãã³ãã®ãã¬ã³ãäžéæ床ãèšå®ãã
ãã¹ãŠã®äžéæ床ã ãã¯ã»ã«ã³ã³ããŒãã³ããã¬ã³ãã¢ãŒããšçµã¿åãããŠã®ã¿äœ¿çšãããŸãã
c0_expr
c1_expr
c2_expr
c3_expr
all_expr
ç¹å®ã®ãã¯ã»ã«ã³ã³ããŒãã³ããŸãã¯ãã¹ãŠã®ãã¯ã»ã«ã³ã³ããŒãã³ãã®ãã¬ã³ãåŒãèšå®ãã
all_exprã é¢é£ããã¢ãŒããªãã·ã§ã³ãèšå®ãããŠããå Žåããããã¯ç¡èŠãããããšã«æ³šæããŠãã ããã
åŒã¯æ¬¡ã®å€æ°ã䜿çšã§ããŸãã
N 0ããå§ãŸãããã£ã«ã¿ãªã³ã°ããããã¬ãŒã ã®é£ç¶çªå·ã
X
Y çŸåšã®ãµã³ãã«ã®åº§æš
W
H çŸåšãã£ã«ã¿ãªã³ã°ãããŠããå¹³é¢ã®å¹ ãšé«ã
SW
SH çŸåšãã£ã«ã¿ãªã³ã°ãããŠããå¹³é¢ã«å¿ããå¹ ãšé«ãã®ã¹ã±ãŒã«ã æ¯çã§ã
察å¿ããèŒåºŠå¹³é¢ã®ãã¯ã»ã«æ°ãšçŸåšã®å¹³é¢ã®ãã¯ã»ã«æ°ã®éã
ããšãã°ãYUV4ïŒ2ïŒ0ã®å Žåãå€ã¯èŒåºŠå¹³é¢ã®å Žåã¯ã1,1ããã®å Žåã¯ã0.5,0.5ãã§ãã
ã¯ããé¢ã
T çŸåšã®ãã¬ãŒã ã®æéãç§åäœã§è¡šãããŸãã
äžã A
æåã®ãããªãã¬ãŒã ïŒæäžå±€ïŒã®çŸåšã®äœçœ®ã§ã®ãã¯ã»ã«ã³ã³ããŒãã³ãã®å€ã
äžã B
XNUMXçªç®ã®ãããªãã¬ãŒã ã®çŸåšã®äœçœ®ã§ã®ãã¯ã»ã«ã³ã³ããŒãã³ãã®å€ïŒäž
å±€ïŒã
æç
æçã®å ¥åãçµäºãããšãã«åŒ·å¶çµäºããŸãã ããã©ã«ãã¯0ã§ãããã®ãªãã·ã§ã³ã¯
ããã¬ã³ãããã£ã«ã¿ãŒã«å¯ŸããŠã®ã¿å®çŸ©ãããŸãã
ãªããŒãã©ã¹ã
ã¹ããªãŒã ã®çµäºåŸãæåŸã®äžéšãã¬ãŒã ãé©çšãç¶ããŸãã å€0
æäžå±€ã®æåŸã®ãã¬ãŒã ã«éããåŸããã£ã«ã¿ãŒãç¡å¹ã«ããŸãã ããã©ã«ãã¯1ã§ãã
ãã®ãªãã·ã§ã³ã¯ãããã¬ã³ãããã£ã«ã¿ãŒã«å¯ŸããŠã®ã¿å®çŸ©ãããŸãã
äŸ
ã»æåã®10ç§ã§æäžå±€ããæäžå±€ãžã®é·ç§»ãé©çšããŸãã
blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-(if(gte(T,10),1,T/10)))'
ã»1x1ã®ãã§ãã«ãŒããŒãå¹æãé©çšããŸãã
blend = all_expr ='ifïŒeqïŒmodïŒXã2ïŒãmodïŒYã2ïŒïŒãAãBïŒ'
ã»ã¢ã³ã«ããŒã¬ããå¹æãé©çšããŸãã
blend = all_expr ='ifïŒgteïŒN * SW + XãWïŒãAãBïŒ'
ã»ã¢ã³ã«ããŒããŠã³å¹æãé©çšããŸãã
blend = all_expr ='ifïŒgteïŒYN * SHã0ïŒãAãBïŒ'
ã»uncover up-leftå¹æãé©çšããŸãïŒ
blend = all_expr ='ifïŒgteïŒT * SH * 40 + YãHïŒ* gteïŒïŒT * 40 * SW + XïŒ* W / HãWïŒãAãBïŒ'
ã»çŸåšã®ãã¬ãŒã ãšåã®ãã¬ãŒã ã®éãã衚瀺ããŸãã
tblend = all_mode = Difference128
ããã¯ã¹ãã©ãŒ
ããã¯ã¹ãã©ãŒã¢ã«ãŽãªãºã ãå ¥åãããªã«é©çšããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
luma_radiusã lr
luma_powerã lp
chroma_radiusã cr
chroma_powerã cp
alpha_radiusã ar
alpha_powerã ap
åãå ¥ãããããªãã·ã§ã³ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
luma_radiusã lr
chroma_radiusã cr
alpha_radiusã ar
察å¿ãããŒããã«äœ¿çšãããããã¯ã¹ååŸã®åŒããã¯ã»ã«åäœã§èšå®ããŸã
å ¥åãã¬ãŒã³ã
ååŸã®å€ã¯è² ã§ãªãæ°ã§ããå¿ èŠããããå€ãã倧ãããŠã¯ãªããŸãã
ã«ãå¹³é¢ãšã¢ã«ãã¡å¹³é¢ã®å Žåã¯ãminïŒwãhïŒ/ 2ããšããåŒã䜿çšãããminïŒcwãchïŒ/2ãã®å Žåã¯
ã¯ããé¢çšã
ã®ããã©ã«ãå€ ã«ãååŸ ã2ãã§ãã æå®ããªãå Žåã 圩床ååŸ ãš ã¢ã«ãã¡ååŸ
ããã©ã«ãã§ã¯ã察å¿ããå€ãèšå®ãããŸã ã«ãååŸ.
åŒã«ã¯ã次ã®å®æ°ãå«ããããšãã§ããŸãã
w
h å ¥åã®å¹ ãšé«ãïŒãã¯ã»ã«åäœïŒã
cw
ch å ¥åã¯ããç»åã®å¹ ãšé«ãïŒãã¯ã»ã«åäœïŒã
ã²ãµã
察ãµã
æ°Žå¹³ããã³åçŽã®ã¯ãããµããµã³ãã«å€ã ããšãã°ããã¯ã»ã«ã®å Žå
ãã©ãŒããããyuv422pãã ã²ãµã 2ãšã¯ 察ãµã 1ã§ãã
luma_powerã lp
chroma_powerã cp
alpha_powerã ap
ããã¯ã¹ãã©ãŒãã£ã«ã¿ãŒã察å¿ããå¹³é¢ã«é©çšãããåæ°ãæå®ããŸãã
ã®ããã©ã«ãå€ ã«ããã¯ãŒ ã¯2ã§ããæå®ãããŠããªãå Žåã ã¯ãããã¯ãŒ ãš ã¢ã«ãã¡ãã¯ãŒ
ããã©ã«ãã§ã¯ã察å¿ããå€ãèšå®ãããŸã ã«ããã¯ãŒ.
å€ã0ã®å Žåãå¹æã¯ç¡å¹ã«ãªããŸãã
äŸ
ã»èŒåºŠã圩床ãããã³ã¢ã«ãã¡ååŸã2ã«èšå®ããŠããã¯ã¹ãã©ãŒãã£ã«ã¿ãŒãé©çšããŸãã
boxblur = luma_radius = 2ïŒluma_power = 1
boxblur = 2ïŒ1
ã»èŒåºŠååŸã2ã«èšå®ããã¢ã«ãã¡ããã³åœ©åºŠååŸã0ã«èšå®ããŸãã
boxblur = 2ïŒ1ïŒcr = 0ïŒar = 0
ã»èŒåºŠãšåœ©åºŠã®ååŸããããªã®å¯žæ³ã®äžéšã«èšå®ããŸãã
boxblur = luma_radius = minïŒh \ãwïŒ/ 10ïŒluma_power = 1ïŒchroma_radius = minïŒcw \ãchïŒ/ 10ïŒchroma_power = 1
ã³ãŒããã¯ãã¥ãŒ
äžéšã®ã³ãŒããã¯ã«ãã£ãŠãšã¯ã¹ããŒããããæ å ±ãèŠèŠåããŸãã
äžéšã®ã³ãŒããã¯ã¯ããµã€ãããŒã¿ãŸãã¯ãã®ä»ã®æ段ã䜿çšããŠãã¬ãŒã ãä»ããŠæ å ±ããšã¯ã¹ããŒãã§ããŸãã çºã«
ããšãã°ãäžéšã®MPEGããŒã¹ã®ã³ãŒããã¯ã¯ã¢ãŒã·ã§ã³ãã¯ãã«ã ãšã¯ã¹ããŒã_mvs ã®æ
ã³ãŒââãã㯠ãã©ã°2 ãªãã·ã§ã³ãéžæããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
mv èŠèŠåããã¢ãŒã·ã§ã³ãã¯ãã«ãèšå®ããŸãã
䜿çšå¯èœãªãã©ã° mv ã«ã¯æ¬¡ã®å€ããããŸã:
pf Pãã¬ãŒã ã®åæ¹äºæž¬MV
bf Bãã¬ãŒã ã®åæ¹äºæž¬MV
bb Bãã¬ãŒã ã®åŸæ¹äºæž¬MV
äŸ
ã»Pããã³Bãã¬ãŒã ããã®å€æ¹åMVã䜿çšããŠèŠèŠåããŸã åçãã:
ffplay -flags2 + export_mvs input.mpg -vf codecview = mv = pf + bf + bb
ã«ã©ãŒãã©ã³ã¹
å ¥åãã¬ãŒã ã®åè²ïŒèµ€ãç·ãéïŒã®åŒ·åºŠãå€æŽããŸãã
ãã£ã«ã¿ã䜿çšãããšãå ¥åãã¬ãŒã ãã·ã£ããŠããããããŒã³ããŸãã¯ãã€ã©ã€ãã§èª¿æŽã§ããŸãã
èµ€ã·ã¢ã³ãç·ããŒã³ã¿ããŸãã¯éé»è²ã®ãã©ã³ã¹ã®é åã
æ£ã®èª¿æŽå€ã¯ããã©ã³ã¹ãåè²ãè² ã®å€ã«ã·ããããŸã
è£è²ã«åãã£ãŠã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
rs
gs
bs èµ€ãç·ãéã®åœ±ïŒæãæããã¯ã»ã«ïŒã調æŽããŸãã
rm
gm
bm èµ€ãç·ãéã®äžé調ïŒäžçšåºŠã®ãã¯ã»ã«ïŒã調æŽããŸãã
rh
gh
bh èµ€ãç·ãéã®ãã€ã©ã€ãïŒæãæãããã¯ã»ã«ïŒã調æŽããŸãã
ãªãã·ã§ã³ã«èš±å¯ãããç¯å²ã¯ã[-1.0]ãã§ãã ããã©ã«ãã¯1.0ã§ãã
äŸ
ã»åœ±ã«èµ€ãè²ãã¶ããè¿œå ããŸãã
colorbalance = rs = .3
ã«ã©ãŒããŒ
RGBè²ç©ºéã«ã©ãŒããŒã€ã³ã°ã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã«ã©ãŒ
éæã«çœ®ãæããããè²ã
é¡äŒŒ
ããŒã«ã©ãŒãšã®é¡äŒŒåºŠã
0.01ã¯æ£ç¢ºãªããŒã®è²ã®ã¿ã«äžèŽãã1.0ã¯ãã¹ãŠã«äžèŽããŸãã
ãã¬ã³ãããŒã»ã³ããŒãžã
0.0ã¯ããã¯ã»ã«ãå®å šã«éæã«ãããããŸã£ããéæã«ããŸããã
å€ãé«ãã»ã©åéæã®ãã¯ã»ã«ã«ãªããéæ床ãé«ãã»ã©
ãã¯ã»ã«ã®è²ã¯ããŒã®è²ãšäŒŒãŠããŸãã
äŸ
ã»å ¥åç»åã®ãã¹ãŠã®ç·è²ã®ãã¯ã»ã«ãéæã«ããŸãã
ffmpeg -i input.png -vf colorkey = green out.png
ã»éæ¢ããèæ¯ç»åã®äžã«ã°ãªãŒã³ã¹ã¯ãªãŒã³ãããªããªãŒããŒã¬ã€ããŸãã
ffmpeg -i background.png -i video.mp4 -filter_complex "[1ïŒv] colorkey = 0x3BBD1EïŒ0.3ïŒ0.2 [ckout]; [0ïŒv] [ckout] overlay [out]" -map "[out]" output.flv
ã«ã©ãŒã¬ãã«
ã¬ãã«ã䜿çšããŠãããªå ¥åãã¬ãŒã ã調æŽããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãªãã³
ã®ãã³
ããã³
ãšã€ãã³
èµ€ãç·ãéãã¢ã«ãã¡å ¥åã®é»ç¹ã調æŽããŸãã ãªãã·ã§ã³ã®èš±å®¹ç¯å²ã¯æ¬¡ã®ãšããã§ãã
ã[-1.0ã1.0]ãã ããã©ã«ãã¯0ã§ãã
ã©ã€ããã¯ã¹
ã®ããã¯ã¹
ãã€ããã¯ã¹
ã¢ã€ããã¯ã¹
èµ€ãç·ãéãã¢ã«ãã¡å ¥åã®çœè²ç¹ã調æŽããŸãã ãªãã·ã§ã³ã®èš±å®¹ç¯å²ã¯æ¬¡ã®ãšããã§ãã
ã[-1.0ã1.0]ãã ããã©ã«ãã¯1ã§ãã
å ¥åã¬ãã«ã¯ããã€ã©ã€ãïŒæããããŒã³ïŒãæããããã·ã£ããŠïŒæãïŒãæãããããã«äœ¿çšãããŸã
ããŒã³ïŒãæããããŒã³ãšæãããŒã³ã®ãã©ã³ã¹ãå€æŽããŸãã
ããã³
ãŽãã³
ããã³
ããã¿ã
èµ€ãç·ãéãã¢ã«ãã¡åºåã®é»ç¹ã調æŽããŸãã ãªãã·ã§ã³ã®èš±å®¹ç¯å²ã¯æ¬¡ã®ãšããã§ãã
ã[0]ãã ããã©ã«ãã¯1.0ã§ãã
ãããã¯ã¹
ãŽããã¯ã¹
ãããã¯ã¹
ã¢ãªããã¯ã¹
èµ€ãç·ãéãã¢ã«ãã¡åºåã®çœè²ç¹ã調æŽããŸãã ãªãã·ã§ã³ã®èš±å®¹ç¯å²ã¯æ¬¡ã®ãšããã§ãã
ã[0]ãã ããã©ã«ãã¯1.0ã§ãã
åºåã¬ãã«ã«ãããå¶çŽãããåºåã¬ãã«ç¯å²ãæåã§éžæã§ããŸãã
äŸ
ã»ãããªåºåãæãããŸãïŒ
colorlevels = rimin = 0.058ïŒgimin = 0.058ïŒbimin = 0.058
ã» ã³ã³ãã©ã¹ããäžããŸãïŒ
colorlevels=rimin=0.039:gimin=0.039:bimin=0.039:rimax=0.96:gimax=0.96:bimax=0.96
ã»ãããªåºåã軜ãããïŒ
colorlevels = rimax = 0.902ïŒgimax = 0.902ïŒbimax = 0.902
ã»æãããäžããïŒ
colorlevels = romin = 0.5ïŒgomin = 0.5ïŒbomin = 0.5
ã«ã©ãŒãã£ã³ãã«ãããµãŒ
ã«ã©ãŒãã£ã³ãã«ãåæ··åããŠããããªå ¥åãã¬ãŒã ã調æŽããŸãã
ãã®ãã£ã«ã¿ãŒã¯ãä»ã®ãã£ãã«ã«é¢é£ä»ããããå€ãè¿œå ããããšã«ãããã«ã©ãŒãã£ãã«ãå€æŽããŸã
åããã¯ã»ã«ã®ã ããšãã°ãå€æŽããå€ãèµ€ã®å Žåãåºåå€ã¯æ¬¡ã®ããã«ãªããŸãã
= * + * + * + *
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
rr
rg
rb
ra åºåèµ€ã®å ¥åèµ€ãç·ãéãããã³ã¢ã«ãã¡ãã£ãã«ã®å¯äžã調æŽããŸã
ãã£ãã«ã ããã©ã«ãã¯1ã§ã rrãããã³0 rg, rb ãš ra.
gr
gg
gb
ga åºåç·ã®å ¥åèµ€ãç·ãéãããã³ã¢ã«ãã¡ãã£ãã«ã®å¯äžã調æŽããŸã
ãã£ãã«ã ããã©ã«ãã¯1ã§ã ggãããã³0 gr, gb ãš ga.
br
bg
bb
ba åºåéã®å ¥åèµ€ãç·ãéãã¢ã«ãã¡ãã£ã³ãã«ã®å¯äžã調æŽããŸã
ãã£ãã«ã ããã©ã«ãã¯1ã§ã bbãããã³0 br, bg ãš ba.
ar
ag
ab
aa åºåã¢ã«ãã¡ã®å ¥åèµ€ãç·ãéãã¢ã«ãã¡ãã£ãã«ã®å¯äžã調æŽããŸã
ãã£ãã«ã ããã©ã«ãã¯1ã§ã aaãããã³0 ar, ag ãš ab.
ãªãã·ã§ã³ã«èš±å¯ãããç¯å²ã¯ã[-2.0]ãã§ãã
äŸ
ã»ãœãŒã¹ãã°ã¬ãŒã¹ã±ãŒã«ã«å€æããŸãã
colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3
ã»ã»ãã¢ããŒã³ãã·ãã¥ã¬ãŒãããŸãã
colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131
ã«ã©ãŒãããªãã¯ã¹
ã«ã©ãŒãããªãã¯ã¹ãå€æããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
SRC
DST ãœãŒã¹ãšãã¹ãã£ããŒã·ã§ã³ã®ã«ã©ãŒãããªãã¯ã¹ãæå®ããŸãã äž¡æ¹ã®å€ãæå®ããå¿ èŠããããŸãã
åãå ¥ããããå€ã¯æ¬¡ã®ãšããã§ãã
bt709
BT.709
bt601
BT.601
smpte240m
SMPTE-240M
fcc FCC
ããšãã°ãBT.601ããSMPTE-240Mã«å€æããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸãã
colormatrix = bt601ïŒsmpte240m
copy
å ¥åãœãŒã¹ãå€æŽããã«åºåã«ã³ããŒããŸãã ããã¯äž»ã«ãã¹ãç®çã§åœ¹ç«ã¡ãŸãã
äœç©
å ¥åãããªãæå®ããããµã€ãºã«ããªãã³ã°ããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
w, ã¢ãŠã_w
åºåãããªã®å¹ ã ããã©ã«ãã¯ãiwãã§ãã ãã®åŒã¯è©äŸ¡ãããã ãã§ã
ãã£ã«ã¿æ§æäžã«XNUMXåããŸã㯠w or ã¢ãŠã_w ã³ãã³ããéä¿¡ãããŸãã
h, ã¢ãŠã_h
åºåãããªã®é«ãã ããã©ã«ãã¯ãihãã§ãã ãã®åŒãè©äŸ¡ãããŸã
ãã£ã«ã¿æ§æäžã«XNUMXåã ãããŸã㯠h or ã¢ãŠã_h ã³ãã³ããéä¿¡ãããŸãã
x å ¥åãããªã§ã®ãåºåãããªã®å·Šç«¯ã®æ°Žå¹³äœçœ®ã ãã
ããã©ã«ãã¯ãïŒin_w-out_wïŒ/2ãã§ãã ãã®åŒã¯ãã¬ãŒã ããšã«è©äŸ¡ãããŸãã
y å ¥åãããªã§ã®ãåºåãããªã®äžç«¯ã®åçŽäœçœ®ã ãã
ããã©ã«ãã¯ãïŒin_h-out_hïŒ/2ãã§ãã ãã®åŒã¯ãã¬ãŒã ããšã«è©äŸ¡ãããŸãã
ã¢ã¹ãã¯ããç¶æ
1ã«èšå®ãããšãåºåãã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯ãå ¥åãšåãã«ãªããŸãã
åºåãµã³ãã«ã®ã¢ã¹ãã¯ãæ¯ãå€æŽããŸãã ããã©ã«ãã¯0ã§ãã
ãã® ã¢ãŠã_w, ã¢ãŠã_h, x, y ãã©ã¡ãŒã¿ã¯ã次ã®å®æ°ãå«ãåŒã§ãã
x
y ã®èšç®å€ x ãš yã ãããã¯ãæ°ãããã¬ãŒã ããšã«è©äŸ¡ãããŸãã
in_w
in_h
å ¥åã®å¹ ãšé«ãã
iw
ih ãããã¯ãšåãã§ã in_w ãš in_h.
ã¢ãŠã_w
ã¢ãŠã_h
åºåïŒããªãã³ã°ïŒã®å¹ ãšé«ãã
ow
oh ãããã¯ãšåãã§ã ã¢ãŠã_w ãš ã¢ãŠã_h.
a ãšåã iw / ih
sar å ¥åãµã³ãã«ã®ã¢ã¹ãã¯ãæ¯
äžãã å ¥åãã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯ã¯ãïŒiw / ihïŒ* sar
ã²ãµã
察ãµã
æ°Žå¹³ããã³åçŽã¯ãããµããµã³ãã«å€ã ããšãã°ããã¯ã»ã«åœ¢åŒã®å Žå
ãyuv422pã ã²ãµã 2ãšã¯ 察ãµã 1ã§ãã
n 0ããå§ãŸãå ¥åãã¬ãŒã ã®çªå·ã
æçš¿ãã å ¥åãã¬ãŒã ã®ãã¡ã€ã«å ã®äœçœ®ãäžæãªå Žåã¯NAN
t ç§åäœã§è¡šãããã¿ã€ã ã¹ã¿ã³ãã å ¥åã¿ã€ã ã¹ã¿ã³ããäžæãªå Žåã¯NANã§ãã
ã®è¡šçŸ ã¢ãŠã_w ã®å€ã«äŸåããå¯èœæ§ããããŸã ã¢ãŠã_hãããã³ã®åŒ ã¢ãŠã_h
ã«äŸåããå¯èœæ§ããããŸã ã¢ãŠã_wãããã圌ãã¯äŸåããããšã¯ã§ããŸãã x ãš yããªã© x ãš y åŸã«è©äŸ¡ãããŸã
ã¢ãŠã_w ãš ã¢ãŠã_h.
ãã® x ãš y ãã©ã¡ãŒã¿ã¯ãã®å·Šäžé ã®äœçœ®ã®åŒãæå®ããŸã
åºåïŒããªãã³ã°ãããŠããªãïŒé åã ãã¬ãŒã ããšã«è©äŸ¡ãããŸãã è©äŸ¡å€ã®å Žå
ã¯ç¡å¹ã§ããæãè¿ãæå¹ãªå€ã«è¿äŒŒãããŸãã
ã®è¡šçŸ x ã«äŸåããå¯èœæ§ããããŸã yãããã³ã®åŒ y ã«äŸåããå¯èœæ§ããããŸã x.
äŸ
ã»äœçœ®ïŒ100ïŒã§ãµã€ãº100x12,34ã®é åãããªãã³ã°ããŸãã
ã¯ããã=100ïŒ100ïŒ12ïŒ34
ååä»ããªãã·ã§ã³ã䜿çšãããšãäžèšã®äŸã¯æ¬¡ã®ããã«ãªããŸãã
äœç©=w= 100ïŒh = 100ïŒx = 12ïŒy = 34
ã»äžå€®ã®å ¥åé åã100x100ã®ãµã€ãºã§ããªãã³ã°ããŸãã
ã¯ããã=100ïŒ100
ã»å ¥åãããªã®ãµã€ãº2/3ã§äžå€®ã®å ¥åé åãããªãã³ã°ããŸãã
äœç©=2/3* in_wïŒ2/3 * in_h
ã»å ¥åãããªã®äžå€®ã®æ£æ¹åœ¢ãããªãã³ã°ããŸãã
Crop = out_w = in_h
Crop = in_h
ã»å·Šäžé ã100ïŒ100ã®äœçœ®ã«é 眮ãã
å ¥åç»åã®å³äžé ã«å¯Ÿå¿ããå³äžé ã
Crop = in_w-100ïŒin_h-100ïŒ100ïŒ100
ã»å·Šå³ã®å¢çç·ãã10ãã¯ã»ã«ãäžäžãã20ãã¯ã»ã«ãããªãã³ã°ããŸãã
ããŒããŒ
Crop = in_w-2 * 10ïŒin_h-2 * 20
ã»å ¥åç»åã®å³äžã®XNUMXåã®XNUMXã®ã¿ãä¿æããŸãã
Crop = in_w / 2ïŒin_h / 2ïŒin_w / 2ïŒin_h / 2
ã»ã®ãªã·ã£ã®èª¿åãåŸãããã®äœç©ã®é«ãïŒ
Crop = in_wïŒ1 / PHI * in_w
ã»éãå¹æãé©çšããŸãïŒ
crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(n/10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(n/7)
ã»ã¿ã€ã ã¹ã¿ã³ãã«å¿ããŠäžå®å®ãªã«ã¡ã©å¹æãé©çšããŸãã
crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(t*10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(t*13)"
ã»yã®å€ã«å¿ããŠxãèšå®ããŸãã
crop=in_w/2:in_h/2:y:10+10*sin(n/10)
ã³ãã³ã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ã³ãã³ãããµããŒãããŸãã
w, ã¢ãŠã_w
h, ã¢ãŠã_h
x
y åºåãããªã®å¹ /é«ãããã³å ¥åã®æ°Žå¹³/åçŽäœçœ®ãèšå®ããŸã
ãããªã ãã®ã³ãã³ãã¯ã察å¿ãããªãã·ã§ã³ãšåãæ§æãåãå ¥ããŸãã
æå®ãããåŒãç¡å¹ãªå ŽåãçŸåšã®å€ã«ä¿æãããŸãã
äœç©æ€åº
ããªãã³ã°ãµã€ãºãèªåæ€åºããŸãã
å¿ èŠãªããªãã³ã°ãã©ã¡ãŒã¿ãèšç®ãããä»ããŠæšå¥šãã©ã¡ãŒã¿ãå°å·ããŸã
ãã®ã³ã°ã·ã¹ãã ã æ€åºããã寞æ³ã¯ãå ¥åã®é»ä»¥å€ã®é åã«å¯Ÿå¿ããŸã
ãããªã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
å¶é
é»ã®å€ã®ãããå€ãé«ãèšå®ããŸããããã¯ããªãã·ã§ã³ã§äœããªãïŒ0ïŒããæå®ã§ããŸãã
ãã¹ãŠã«ïŒ255ãããããŒã¹ã®ãã©ãŒãããã®å Žåã¯8ïŒã ã»ããããã倧ãã匷床å€
å€ã¯é»ä»¥å€ãšèŠãªãããŸãã ããã©ã«ãã¯24ã§ããå€ãæå®ããããšãã§ããŸã
ãã¯ã»ã«ã®ããã深床ã«å¿ããŠã¹ã±ãŒãªã³ã°ããã0.0ã1.0
圢åŒã§ããŠã³ããŒãããããšãã§ããŸãã
å圢
å¹ /é«ããå²ãåããå€ã ããã©ã«ãã¯16ã§ãããªãã»ãã
ãããªãäžå€®ã«é 眮ããããã«èªåçã«èª¿æŽãããŸãã 2ã䜿çšããŠãåçãªå¯žæ³ã®ã¿ãååŸããŸã
ïŒ4ïŒ2ïŒ2ãããªã«å¿ èŠïŒã ã»ãšãã©ã®ãããªã³ãŒããã¯ã«ãšã³ã³ãŒãããå Žåã¯ã16ãæé©ã§ãã
reset_countã ãªã»ãã
äœãã¬ãŒã åŸã«cropdetectããªã»ãããããã決å®ããã«ãŠã³ã¿ãŒãèšå®ããŸã
以åã«æ€åºãããæ倧ã®ãããªé åãšãçŸåšã®æé©ãªãã®ãæ€åºããããã«æåããããçŽããŸã
äœç©ãšãªã¢ã ããã©ã«ãå€ã¯0ã§ãã
ããã¯ããã£ã³ãã«ã®ããŽããããªé åãæªããå Žåã«åœ¹ç«ã¡ãŸãã 0ã¯'決ããŠãªãããšã瀺ããŸã
ãªã»ãããããåçäžã«æ€åºãããæ倧é åãè¿ããŸãã
æ²ç·
æ²ç·ã䜿çšããŠè²èª¿æŽãé©çšããŸãã
ãã®ãã£ã«ã¿ãŒã¯ãAdobePhotoshopããã³GIMPæ²ç·ããŒã«ã«äŒŒãŠããŸãã åã³ã³ããŒãã³ãïŒèµ€ã
ç·ãšéïŒã®å€ã¯æ¬¡ã®ããã«å®çŸ©ãããŸã N ã¹ã ãŒãºã䜿çšããŠäºãã«çµã³ä»ããããããŒãã€ã³ã
æ²ç·ã x軞ã¯å ¥åãã¬ãŒã ããã®ãã¯ã»ã«å€ãè¡šããy軞ã¯æ°ãã
åºåãã¬ãŒã ã«èšå®ãããã¯ã»ã«å€ã
ããã©ã«ãã§ã¯ãã³ã³ããŒãã³ãã«ãŒãã¯XNUMXã€ã®ãã€ã³ãã«ãã£ãŠå®çŸ©ãããŸã ïŒ0; 0ïŒ ãš ïŒ1; 1ïŒã ããã«ããã
å ã®åãã¯ã»ã«å€ãç¬èªã®å€ã«ã調æŽããããçŽç·ãã€ãŸãã
ç»åã«å€æŽã¯ãããŸããã
ãã£ã«ã¿ã䜿çšãããšããããXNUMXã€ã®ãã€ã³ããåå®çŸ©ããããã«ããã€ãè¿œå ããããšãã§ããŸãã æ°ããæ²ç·ïŒ
èªç¶ãªXNUMX次ã¹ãã©ã€ã³è£éïŒã¯ãããããã¹ãŠã®æ°ãããã®ãã¹ã ãŒãºã«ééããããã«å®çŸ©ãããŸã
座æšã æ°ããå®çŸ©ããããã€ã³ãã¯ãx軞äžã§å³å¯ã«å¢å ããå¿ èŠããããŸãã
ã¢ããªç°å¢ã«åãã㊠x ãš y å€ã¯ [0; 1] ééã èšç®ãããæ²ç·ãããŸããŸè¡ã£ãå Žå
ãã¯ãã«ç©ºéã®å€åŽã§ã¯ãå€ã¯ããã«å¿ããŠã¯ãªãããããŸãã
ãx=0ãã§å®çŸ©ãããããŒãã€ã³ãããªãå Žåããã£ã«ã¿ãŒã¯èªåçã« ïŒ0; 0ïŒ
ç¹ã åæ§ã«ããx = 1ãã§å®çŸ©ãããããŒãã€ã³ãããªãå Žåããã£ã«ã¿ãŒã¯
èªåçã«æ¿å ¥ããŸã ïŒ1; 1ïŒ ãã€ã³ãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ããªã»ãã
䜿çšå¯èœãªã«ã©ãŒããªã»ããã®XNUMXã€ãéžæããŸãã ãã®ãªãã·ã§ã³ã¯ã
r, g, b ãã©ã¡ãŒã¿ãŒ; ãã®å Žåãããªã»ããã§ã¯åŸã®ãªãã·ã§ã³ãåªå ãããŸã
å€ã 䜿çšå¯èœãªããªã»ããã¯æ¬¡ã®ãšããã§ãã
ãªã
ã«ã©ãŒãã¬ãã£ã
ã¯ãã¹ããã»ã¹
æãã§ã
ã³ã³ãã©ã¹ããäžããŸã
ã©ã€ã¿ãŒ
ãªãã¢ã³ã³ãã©ã¹ã
Medium_contrast
è²
匷ãã³ã³ãã©ã¹ã
ãŽã£ã³ããŒãž
ããã©ã«ãã¯ãnoneãã§ãã
ãã¹ã¿ãŒã m
ãã¹ã¿ãŒããŒãã€ã³ããèšå®ããŸãã ãããã®ãã€ã³ãã¯ãã»ã«ã³ããã¹ãããã³ã°ãå®çŸ©ããŸãã ã§ã
ãèŒåºŠããŸãã¯ãå€ããããã³ã°ãšåŒã°ããããšããããŸãã ã§äœ¿çšã§ããŸã r, g, b or ã
åŸåŠçLUTã®ããã«æ©èœããããã§ãã
èµ€ã r
èµ€ãã³ã³ããŒãã³ãã®ããŒãã€ã³ããèšå®ããŸãã
ç·ã g
ç·ã®ã³ã³ããŒãã³ãã®ããŒãã€ã³ããèšå®ããŸãã
éã b
éãã³ã³ããŒãã³ãã®ããŒãã€ã³ããèšå®ããŸãã
ã ãã¹ãŠã®ã³ã³ããŒãã³ãïŒãã¹ã¿ãŒãé€ãïŒã®ããŒãã€ã³ããèšå®ããŸãã ããã«äœ¿çšããããšãã§ããŸã
ä»ã®ããŒãã€ã³ãã³ã³ããŒãã³ããªãã·ã§ã³ã«ã ãã®å Žåãæªèšå®ã®ã³ã³ããŒãã³ãã¯
ãããžã®ãã©ãŒã«ãã㯠ã èšå®ã
psãã¡ã€ã«
èšå®ãã€ã³ããŒãããPhotoshopã«ãŒããã¡ã€ã«ïŒ ".asv"ïŒãæå®ããŸãã
äžéšã®ãã£ã«ã¿ãŒã°ã©ãæ§æã®ç«¶åãåé¿ããã«ã¯ãåããŒãã€ã³ããªã¹ãã次ã®ããã«å®çŸ©ããå¿ èŠããããŸãã
次ã®æ§æïŒ "x0 / y0 x1 / y1 x2 /y2..."ã
äŸ
ã»éã®äžéã¬ãã«ããããã«å¢ãããŸãã
æ²ç·=é='0.5/ 0.58'
ã»ãŽã£ã³ããŒãžå¹æïŒ
curves=r='0/0.11 .42/.51 1/0.95':g='0.50/0.48':b='0/0.22 .49/.44 1/0.8'
ããã§ã¯ãã³ã³ããŒãã³ãããšã«æ¬¡ã®åº§æšãååŸããŸãã
èµ€ "(0;0.11) (0.42;0.51) (1;0.95)"
ïŒç·åïŒ
"(0;0) (0.50;0.48) (1;1)"
é
"(0;0.22) (0.49;0.44) (1;0.80)"
ã»åã®äŸã¯ãé¢é£ããçµã¿èŸŒã¿ããªã»ããã䜿çšããŠå®çŸããããšãã§ããŸãã
æ²ç·=ããªã»ãã=ãŽã£ã³ããŒãž
ã»ãŸãã¯åã«ïŒ
æ²ç·=ãŽã£ã³ããŒãž
ã»Photoshopããªã»ããã䜿çšããŠãç·è²ã®ã³ã³ããŒãã³ãã®ãã€ã³ããåå®çŸ©ããŸãã
Curves = psfile ='MyCurvesPresets / purple.asv'ïŒgââreen = '0.45 / 0.53'
dctdnoiz
2D DCTïŒåšæ³¢æ°é åãã£ã«ã¿ãªã³ã°ïŒã䜿çšããŠãã¬ãŒã ã®ãã€ãºãé€å»ããŸãã
ãã®ãã£ã«ã¿ãŒã¯ãªã¢ã«ã¿ã€ã çšã«èšèšãããŠããŸããã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã·ã°ãã s
ãã€ãºã·ã°ãå®æ°ãèšå®ããŸãã
ãã® ã·ã°ã ã3*ã·ã°ããã®ããŒããããå€ãå®çŸ©ããŸãã ãã¹ãŠã®DCTä¿æ°ïŒçµ¶å¯Ÿ
å€ïŒãã®ãããå€ãäžåããšãããããããŸãã
ããé«åºŠãªãã£ã«ã¿ãªã³ã°ãå¿ èŠãªå Žåã¯ããåç §ããŠãã ããã åŒ.
ããã©ã«ãã¯0ã§ãã
ãªãŒããŒã©ãã
åãããã¯ã®éè€ãã¯ã»ã«æ°ãèšå®ããŸãã ãã£ã«ã¿ãé ããªãå¯èœæ§ãããããã
å¹æã®äœããã£ã«ã¿ãŒãšãªã¹ã¯ãç ç²ã«ããŠããã®å€ãæžãããã
ããŸããŸãªéºç©ã
éè€ããå€ã§å ¥åã®å¹ ãŸãã¯é«ãå šäœãåŠçã§ããªãå Žåã¯ã
èŠåã衚瀺ãããããã«å¿ããå¢çç·ã¯ãã€ãºé€å»ãããŸããã
ããã©ã«ãå€ã¯ ãããã¯åãã-1ãããã¯å¯èœãªéãæè¯ã®èšå®ã§ãã
exprã e
ä¿æ°å æ°åŒãèšå®ããŸãã
DCTãããã¯ã®åä¿æ°ã«ã€ããŠããã®åŒã¯ä¹æ°ãšããŠè©äŸ¡ãããŸã
ä¿æ°ã®å€ã
ããããªãã·ã§ã³ã«èšå®ãããŠããå Žåã ã·ã°ã ãªãã·ã§ã³ã¯ç¡èŠãããŸãã
ä¿æ°ã®çµ¶å¯Ÿå€ã¯ã c å€æ°ã«ä¿åããŸãïŒ
n ãã»ãããã ãããã¯åãã ãããæ°ã䜿çšããŸãã "1 <n" ãå®çŸ©ããŸã ãããã¯åãããããã¯
åŠçããããããã¯ã®å¹ ãšé«ãã
ããã©ã«ãå€ã¯ 3 ïŒ8x8ïŒãããŠã«äžããããšãã§ããŸã 4 ã®ããã« ãããã¯åãã 16x16ã®ã ããŒã
ãã®èšå®ãå€æŽãããšãåŠçé床ã«å€§ããªåœ±é¿ããããŸãã ãŸãã
ãããã¯ãµã€ãºã倧ãããããšãã£ãŠãå¿ ããããã€ãºé€å»ãåªããŠãããšã¯éããŸããã
äŸ
ã§ãã€ãºé€å»ãé©çšããŸã ã·ã°ã 4.5ã®
dctdnoiz = 4.5
åŒã·ã¹ãã ã䜿çšããŠãåãæäœãå®è¡ã§ããŸãã
dctdnoiz = e ='gteïŒcã4.5 * 3ïŒ'
ã16x16ãã®ãããã¯ãµã€ãºã䜿çšããæŽåçãªãã€ãºé€å»ïŒ
dctdnoiz = 15ïŒn = 4
ãã³ãã解é€
å ¥åãããªãããã³ãã£ã³ã°ã¢ãŒãã£ãã¡ã¯ããåé€ããŸãã çžæš¡æ§ã®ãã¯ã»ã«ã次ã®ããã«çœ®ãæããããšã§æ©èœããŸã
åç §ããããã¯ã»ã«ã®å¹³åå€ã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
1æ¥
2æ¥
3æ¥
4æ¥
åãã¬ãŒã³ã®ãã³ãã£ã³ã°æ€åºãããå€ãèšå®ããŸãã ããã©ã«ãã¯0.02ã§ãã æå¹ãªç¯å²ã¯
0.00003ã0.5ã çŸåšã®ãã¯ã»ã«ãšåç §ãã¯ã»ã«ã®å·®ã
ãããå€ãããã¯çžæš¡æ§ãšèŠãªãããŸãã
ç¯å²ã r
ãã¯ã»ã«åäœã®ãã³ãã£ã³ã°æ€åºç¯å²ã ããã©ã«ãã¯16ã§ããæ£ã®å Žåãç¯å²å ã®ä¹±æ°
èšå®å€ã¯0ã䜿çšããŸãã è² ã®å Žåãæ£ç¢ºãªçµ¶å¯Ÿå€ã䜿çšãããŸãã The
rangeã¯ãçŸåšã®ãã¯ã»ã«ã®åšå²ã®XNUMXãã¯ã»ã«ã®æ£æ¹åœ¢ãå®çŸ©ããŸãã
æ¹åã d
XNUMXãã¯ã»ã«ãæ¯èŒãããã©ãžã¢ã³ã§æ¹åãèšå®ããŸãã æ£ã®å Žåãã©ã³ãã
0ããèšå®æ¹åãŸã§ã®æ¹åãéžæãããŸãã è² ã®å Žåã絶察å€ã®æ£ç¢º
éžã°ããŸãã ããšãã°ãæ¹å0ã-PIããŸãã¯-2 * PIã©ãžã¢ã³ã¯ãäžã®ãã¯ã»ã«ã®ã¿ãéžæããŸã
åãè¡ãš-PI/2ã¯ãåãåã®ãã¯ã»ã«ã®ã¿ãéžæããŸãã
ãã©ãŒ
æå¹ã«ãããšãçŸåšã®ãã¯ã»ã«ãåšå²ã®XNUMXã€ãã¹ãŠã®å¹³åå€ãšæ¯èŒãããŸã
ãã¯ã»ã«ã ããã©ã«ãã§ã¯æå¹ã«ãªã£ãŠããŸãã ç¡å¹ã«ããå ŽåãçŸåšã®ãã¯ã»ã«ã¯XNUMXã€ãã¹ãŠãšæ¯èŒãããŸã
åšå²ã®ãã¯ã»ã«ã XNUMXã€ã®éããã¹ãŠã
åšå²ã®ãã¯ã»ã«ããããå€æªæºã§ãã
éåŒ
è€è£œããããã¬ãŒã ãå®æçã«ããããããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãµã€ã¯ã«
ããããå ã®ãã¬ãŒã æ°ãèšå®ããŸãã ãããã«èšå®ãã N XNUMXãæå³ããŸã
ã®ãã¹ãŠã®ãããã®ãã¬ãŒã N ãã¬ãŒã ã¯ãããããããŸãã ããã©ã«ãã¯5ã§ãã
ãã¥ã¹ã¬ãã·ã¥
éè€æ€åºã®ãããå€ãèšå®ããŸãã ãã¬ãŒã ã®å·®åã¡ããªãã¯ã
ãã®å€ä»¥äžã®å Žåãéè€ãšããŠå®£èšãããŸãã ããã©ã«ãã¯1.1ã§ã
ã¹ã¹ã¬ãã·ã¥
ã·ãŒã³å€æŽã®ãããå€ãèšå®ããŸãã ããã©ã«ãã¯15ã§ãã
ãããã¯x
æ¿æ·¡ã®ããããã
ã¡ãŒãã«æ³ã®èšç®äžã«äœ¿çšãããx軞ãšy軞ã®ãããã¯ã®ãµã€ãºãèšå®ããŸãã 倧ãã
ãããã¯ã¯ããè¯ããã€ãºæå¶ãæäŸããŸãããå°ããªæ€åºãããæªãããŸã
åãã 32ã®çŽ¯ä¹ã§ããå¿ èŠããããŸãã ããã©ã«ãã¯XNUMXã§ãã
ppsrc
ã¡ã€ã³å ¥åãååŠçãããå ¥åãšããŠããŒã¯ããã¯ãªãŒã³ãœãŒã¹å ¥åã¹ããªãŒã ãã¢ã¯ãã£ãã«ããŸãã ãã
å ¥åãããŸããŸãªãã£ã«ã¿ãŒã§ååŠçããŠãã¡ããªãã¯ãæ¯æŽã§ããããã«ããŸã
ãã¬ãŒã éžæããã¹ã¬ã¹ã«ä¿ã¡ãªããèšç®ããŸãã 1ã«èšå®ãããšãæåã®
ã¹ããªãŒã ã¯ååŠçãããå ¥åçšã§ãããXNUMXçªç®ã®ã¹ããªãŒã ã¯ããã®ã¯ãªãŒã³ãªãœãŒã¹ã§ã
ä¿æããããã¬ãŒã ãéžæãããå Žæã ããã©ã«ãã¯0ã§ãã
圩床
ã¡ããªãã¯èšç®ã§åœ©åºŠãèæ ®ãããã©ãããèšå®ããŸãã ããã©ã«ãã¯1ã§ãã
ããã¬ãŒã
ãããªã«ããã¬ãŒãå¹æãé©çšããŸãã
ãã®ãã£ã«ã¿ãŒã¯ããã¯ã»ã«ã ããŒã«ã«ïŒ3x3ïŒã®ã¿ãèæ ®ããå¹³å
ãã¯ã»ã«ããäœãå€ã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
éŸå€0
éŸå€1
éŸå€2
éŸå€3
åãã¬ãŒã³ã®æ倧å€æŽãå¶éããŸããããã©ã«ãã¯65535ã§ãã0ã®å Žåããã¬ãŒã³ã¯æ®ããŸãã
å€æŽãªãã
ããžã£ããŒ
éšåçã«ã€ã³ã¿ãŒã¬ãŒã¹ããããã¬ã·ãã³ã³ãã³ãã«ãã£ãŠçæããããžã£ããŒãåé€ããŸãã
ãžã£ããŒã¯ãäŸãã°ãã«ãã£ãŠå°å ¥ããããšãã§ããŸã ãã«ã¢ãã ãã£ã«ã¿ãŒã å ã®ãœãŒã¹ã
éšåçã«ãã¬ã·ããããã³ã³ãã³ãã®å Žåããpullupãdejudderãã®åºåã«ã¯å€æ°ãå«ãŸããŸã
ãã¬ãŒã ã¬ãŒãã ã³ã³ããã®èšé²ããããã¬ãŒã ã¬ãŒããå€æŽããå¯èœæ§ããããŸãã ãã®å€åã¯å¥ãšããŠã
ãã®ãã£ã«ã¿ãŒã¯ãäžå®ã®ãã¬ãŒã ã¬ãŒãã®ãããªã«ã¯åœ±é¿ããŸããã
ãã®ãã£ã«ã¿ãŒã§äœ¿çšã§ãããªãã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã
ãµã€ã¯ã«
ãžã£ããŒãç¹°ãè¿ããããŠã£ã³ããŠã®é·ããæå®ããŸãã
1ãã倧ããæŽæ°ãåãå ¥ããŸããæçšãªå€ã¯æ¬¡ã®ãšããã§ãã
4 ãªãªãžãã«ã24ãã30fpsïŒãã£ã«ã ããNTSCïŒã«ãã¬ã·ããããå Žåã
5 ãªãªãžãã«ã25ãã30fpsïŒPALããNTSCïŒã«ãã¬ã·ããããå Žåã
20 XNUMXã€ã®æ··åç©ã®å Žåã
ããã©ã«ã㯠4.
ãããŽ
åšå²ã®ãã¯ã»ã«ãåçŽã«è£éããããšã«ããããã¬ãå±ã®ããŽãæå¶ããŸãã èšå®ããã ã
ããŽãèŠã£ãŠããé·æ¹åœ¢ãšãããæ¶ããã®ãèŠãŠãã ããïŒãããŠæã«ã¯ãã£ãšéããã®
衚瀺ãããŸã-ãã€ã¬ãŒãžã¯ç°ãªãå ŽåããããŸãïŒã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
x
y ããŽã®å·Šäžé ã®åº§æšãæå®ããŸãã ããããæå®ããå¿ èŠããããŸãã
w
h ã¯ãªã¢ããããŽã®å¹ ãšé«ããæå®ããŸãã ããããæå®ããå¿ èŠããããŸãã
ãã³ãã t
é·æ¹åœ¢ã®ãã¡ãžãŒãšããžã®åããæå®ããŸãïŒã«è¿œå w ãš hïŒã ã¶
ããã©ã«ãå€ã¯4ã§ãã
衚瀺ãã
1ã«èšå®ãããšãå³åŽãç°¡åã«èŠã€ããããã«ç»é¢ã«ç·è²ã®é·æ¹åœ¢ãæç»ãããŸã
x, y, w, h ãã©ã¡ãŒã¿ãŒã ããã©ã«ãå€ã¯0ã§ãã
é·æ¹åœ¢ã¯æãå€åŽã®ãã¯ã»ã«ã«æç»ãããïŒéšåçã«ïŒæ¬¡ã®ããã«çœ®ãæããããŸã
è£éãããå€ã ãã®é·æ¹åœ¢ã®ããå€åŽã®æ¬¡ã®ãã¯ã»ã«ã®å€
åæ¹åã§ãå éšã®è£éããããã¯ã»ã«å€ãèšç®ããããã«äœ¿çšãããŸã
ç©åœ¢ã
äŸ
ã»å·Šäžé ã®åº§æšã0,0ã§ãµã€ãºã倧ããé åãã«ããŒããé·æ¹åœ¢ãèšå®ããŸã
100x77ãããã³ãµã€ãº10ã®ãã³ãïŒ
delogo=x=0:y=0:w=100:h=77:band=10
ãã·ã§ã€ã¯
æ°Žå¹³ããã³/ãŸãã¯åçŽã·ããã®å°ããªå€åãä¿®æ£ããŠã¿ãŠãã ããã ãã®ãã£ã«ã¿ãŒã¯åé€ã«åœ¹ç«ã¡ãŸã
ã«ã¡ã©ãæã«æã£ãããäžèãã¶ã€ããããè»ã§ç§»åãããããããšã«ããæã¶ãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
x
y
w
h ã¢ãŒã·ã§ã³ãã¯ãã«ã®æ€çŽ¢ãå¶éããé·æ¹åœ¢ã®é åãæå®ããŸãã å¿ èŠã«å¿ããŠ
ã¢ãŒã·ã§ã³ãã¯ãã«ã®æ€çŽ¢ã¯ããã¬ãŒã ã®é·æ¹åœ¢ã®é åã«éå®ã§ããŸãã
å·Šäžé ãå¹ ãé«ãã§å®çŸ©ãããŸãã ãããã®ãã©ã¡ãŒã¿ã¯åãã§ã
ã®äœçœ®ãèŠèŠåããããã«äœ¿çšã§ãããããŒããã¯ã¹ãã£ã«ã¿ãŒãšããŠã®æå³
ããŠã³ãã£ã³ã°ããã¯ã¹ã
ããã¯ããã¬ãŒã å ã§ã®è¢«åäœã®åæ移åã
ã¢ãŒã·ã§ã³ãã¯ãã«æ€çŽ¢ã«ããã«ã¡ã©ã¢ãŒã·ã§ã³ã®æ··ä¹±ã
ãããããŸãã¯ãã¹ãŠã®å Žå x, y, w ãš h -1ã«èšå®ãããšããã«ãã¬ãŒã ã䜿çšãããŸãã ããã«ããã
ã¢ãŒã·ã§ã³ãã¯ãã«ã®ããŠã³ãã£ã³ã°ããã¯ã¹ãæå®ããã«èšå®ããåŸã®ãªãã·ã§ã³
æ€çŽ¢ã
ããã©ã«ã-ãã¬ãŒã å šäœãæ€çŽ¢ããŸãã
rx
ry xããã³yæ¹åã®æ倧移åç¯å²ã0ã64ãã¯ã»ã«ã®ç¯å²ã§æå®ããŸãã
ããã©ã«ãã¯16ã§ãã
ãšããž
ãã¬ãŒã ã®ç«¯ã®ç©ºçœãåããããã«ãã¯ã»ã«ãçæããæ¹æ³ãæå®ããŸãã å©çšå¯èœ
å€ã¯æ¬¡ã®ãšããã§ãã
空æ¬ã 0
空çœã®å Žæã§ãŒããåãã
ãªãªãžãã«ã 1
空çœã®å Žæã®å ã®ç»å
ã¯ã©ã³ãã 2
空çœã®å Žæã§ã®æŒãåºããšããžå€
é¡ã 3
空çœã®å Žæã®ãã©ãŒãšããž
ããã©ã«ãå€ã¯ ãã©ãŒ.
ãããã¯åãã
ã¢ãŒã·ã§ã³æ€çŽ¢ã«äœ¿çšãããããã¯ãµã€ãºãæå®ããŸãã ç¯å²4ã128ãã¯ã»ã«ãããã©ã«ãã¯8ã
ã³ã³ãã©ã¹ã
ãããã¯ã®ã³ã³ãã©ã¹ããããå€ãæå®ããŸãã æå®ããã以äžã®ãããã¯ã®ã¿
ã³ã³ãã©ã¹ãïŒæãæããã¯ã»ã«ãšæãæãããã¯ã»ã«ã®éãïŒãèæ ®ãããŸãã ç¯å²
1-255ãããã©ã«ãã¯125ã
ãµãŒã
æ€çŽ¢æŠç¥ãæå®ããŸãã 䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
培åºçã 0
培åºçãªæ€çŽ¢ãèšå®ãã
ãã£ãšå°ãªãã 1
ç¶²çŸ çã§ãªãæ€çŽ¢ãèšå®ããŸãã
ããã©ã«ãå€ã¯ å æ¬ç.
ãã¡ã€ã«å
èšå®ãããŠããå Žåãã¢ãŒã·ã§ã³æ€çŽ¢ã®è©³çŽ°ãªãã°ãæå®ããããã¡ã€ã«ã«æžã蟌ãŸããŸãã
opencl
1ã«èšå®ãããŠããå ŽåãOpenCLæ©èœã䜿çšããŠæå®ããŸããFFmpegã
ã--enable-openclãã§æ§æãããŸãã ããã©ã«ãå€ã¯0ã§ãã
ããã¬ã·ã³
ãã¬ã·ãæäœã®æ£ç¢ºãªéãé©çšããŸãã äºåå®çŸ©ããããã¿ãŒã³ãå¿ èŠã§ã
ãã¬ã·ãã«æž¡ããããã®ãšåãã§ãªããã°ãªããªããã¿ãŒã³ãªãã·ã§ã³ã䜿çšããŠæå®ãããŸã
ãã£ã«ã¿ã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
æåã®ãã£ãŒã«ã
äžã t
ããããã£ãŒã«ããã¡ãŒã¹ã
äžã b
äžçªäžã®ãã£ãŒã«ããæåã§ããããã©ã«ãå€ã¯ãtopãã§ãã
ãã¿ãŒã³
é©çšãããã«ããŠã³ãã¿ãŒã³ãè¡šãäžé£ã®æ°åã ããã©ã«ã
å€ã¯23ã§ãã
éå§ãã¬ãŒã
ãã¬ã·ãã«å¯Ÿããæåã®ãã¬ãŒã ã®äœçœ®ãè¡šãçªå·
ãã¿ãŒã³ã ããã¯ãã¹ããªãŒã ãã«ãããããå Žåã«äœ¿çšãããŸãã ããã©ã«ãå€ã¯0ã§ãã
èšåŒµ
ãããªã«èšåŒµå¹æãé©çšããŸãã
ãã®ãã£ã«ã¿ãŒã¯ããã¯ã»ã«ã ããŒã«ã«ïŒ3x3ïŒæ倧ã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
éŸå€0
éŸå€1
éŸå€2
éŸå€3
åãã¬ãŒã³ã®æ倧å€æŽãå¶éããŸããããã©ã«ãã¯65535ã§ãã0ã®å Žåããã¬ãŒã³ã¯æ®ããŸãã
å€æŽãªãã
座æš
åç §ãããã¯ã»ã«ãæå®ãããã©ã°ã ããã©ã«ãã¯255ã§ããã€ãŸããXNUMXã€ã®ãã¯ã»ã«ãã¹ãŠã
äžå€ã
次ã®ãããªããŒã«ã«3x3座æšããããžã®ãã©ã°ïŒ
1 2 3
4 5
6 7 8
ãããŒããã¯ã¹
å ¥åç»åã«è²ä»ãã®ããã¯ã¹ãæç»ããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
x
y ããã¯ã¹ã®å·Šäžé ã®åº§æšãæå®ããåŒã ããã©ã«ãã§ã
0ãžã
å¹ ã w
é«ãã h
ããã¯ã¹ã®å¹ ãšé«ããæå®ããåŒã 0ã®å Žåã
å ¥åã®å¹ ãšé«ããšããŠè§£éãããŸãã ããã©ã«ãã¯0ã§ãã
è²ã c
æžã蟌ãããã¯ã¹ã®è²ãæå®ããŸãã ãã®ãªãã·ã§ã³ã®äžè¬çãªæ§æã«ã€ããŠã¯ã次ã確èªããŠãã ããã
ffmpeg-utilsããã¥ã¢ã«ã®ãè²ãã»ã¯ã·ã§ã³ã ç¹å¥ãªå€ãinvertãã䜿çšãããŠããå Žåã
ããã¯ã¹ã®ãšããžã®è²ã¯ãèŒåºŠãå転ãããããªãšåãã§ãã
åãã t
ããã¯ã¹ãšããžã®å€ªããèšå®ããåŒã ããã©ã«ãå€ã¯3ã§ãã
åãå ¥ããããå®æ°ã®ãªã¹ãã«ã€ããŠã¯ã以äžãåç §ããŠãã ããã
ã®ãã©ã¡ãŒã¿ x, y, w ãš h ãš t 次ã®å®æ°ãå«ãåŒã§ãã
äžãã å ¥åãã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯ã¯ãïŒw / hïŒ* sar.
ã²ãµã
察ãµã
æ°Žå¹³ããã³åçŽã¯ãããµããµã³ãã«å€ã ããšãã°ããã¯ã»ã«åœ¢åŒã®å Žå
ãyuv422pã ã²ãµã 2ãšã¯ 察ãµã 1ã§ãã
in_hã ih
in_wã iw
å ¥åã®å¹ ãšé«ãã
sar å ¥åãµã³ãã«ã®ã¢ã¹ãã¯ãæ¯ã
x
y ããã¯ã¹ãæç»ãããxããã³yãªãã»ãã座æšã
w
h æãããããã¯ã¹ã®å¹ ãšé«ãã
t æãããç®±ã®åãã
ãããã®å®æ°ã«ããã x, y, w, h ãš t ãäºããåç §ããåŒãªã®ã§ã
ããšãã°ããy = x/darããŸãã¯ãh=w/darããæå®ã§ããŸãã
äŸ
ã»å ¥åç»åã®ç«¯ã®åšãã«ãã©ãã¯ããã¯ã¹ãæç»ããŸãã
ãããŒããã¯ã¹
ã»è²ãèµ€ã§äžéæ床ã50ïŒ ã®ããã¯ã¹ãæç»ããŸãã
drawbox = 10ïŒ20ïŒ200ïŒ60ïŒ[ã¡ãŒã«ä¿è·]
åã®äŸã¯æ¬¡ã®ããã«æå®ã§ããŸãã
drawbox = x = 10ïŒy = 20ïŒw = 200ïŒh = 60ïŒcolor =[ã¡ãŒã«ä¿è·]
ã»ããã¯ã¹ããã³ã¯è²ã§å¡ãã€ã¶ããŸãã
drawbox = x = 10ïŒy = 10ïŒw = 100ïŒh = 100ïŒcolor =[ã¡ãŒã«ä¿è·]ïŒt = max
ã»2ãã¯ã»ã«ã®èµ€ã2.40ïŒ1ãã¹ã¯ãæç»ããŸãã
drawbox=x=-t:y=0.5*(ih-iw/2.4)-t:w=iw+t*2:h=iw/2.4+t*2:t=2:c=red
ãããŒã°ã©ãã ãããŒã°ã©ã
å ¥åããããããªãŸãã¯ãªãŒãã£ãªã®ã¡ã¿ããŒã¿ã䜿çšããŠã°ã©ããæç»ããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
m1 ã°ã©ãã®æç»ã«ã¡ã¿ããŒã¿å€ã䜿çšããæåã®ãã¬ãŒã ã®ã¡ã¿ããŒã¿ããŒãèšå®ããŸãã
fg1 1çªç®ã®åæ¯è²ã®è¡šçŸãèšå®ããŸãã
m2 ã°ã©ãã®æç»ã«ã¡ã¿ããŒã¿å€ã䜿çšãã2çªç®ã®ãã¬ãŒã ã®ã¡ã¿ããŒã¿ããŒãèšå®ããŸãã
fg2 2çªç®ã®åæ¯è²ã®è¡šçŸãèšå®ããŸãã
m3 ã°ã©ãã®æç»ã«ã¡ã¿ããŒã¿å€ã䜿çšãã3çªç®ã®ãã¬ãŒã ã®ã¡ã¿ããŒã¿ããŒãèšå®ããŸãã
fg3 3çªç®ã®åæ¯è²ã®è¡šçŸãèšå®ããŸãã
m4 ã°ã©ãã®æç»ã«ã¡ã¿ããŒã¿å€ã䜿çšãã4çªç®ã®ãã¬ãŒã ã®ã¡ã¿ããŒã¿ããŒãèšå®ããŸãã
fg4 4çªç®ã®åæ¯è²è¡šçŸãèšå®ããŸãã
å ã¡ã¿ããŒã¿å€ã®æå°å€ãèšå®ããŸãã
ããã¯ã¹ ã¡ã¿ããŒã¿å€ã®æ倧å€ãèšå®ããŸãã
bg ã°ã©ãã®èæ¯è²ãèšå®ããŸãã ããã©ã«ãã¯çœã§ãã
ã¢ãŒã
ã°ã©ãã¢ãŒããèšå®ããŸãã
ã¢ãŒãã§äœ¿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ããŒ
ããã
ã©ã€ã³
ããã©ã«ãã¯ãlineãã§ãã
ã¹ã©ã€ã
ã¹ã©ã€ãã¢ãŒããèšå®ããŸãã
ã¹ã©ã€ãã«äœ¿çšã§ããå€ã¯æ¬¡ã®ãšããã§ãã
ãã¬ãŒã
å³ã®å¢çç·ã«éãããšãã«æ°ãããã¬ãŒã ãæç»ããŸãã
replace
å€ãåãæ°ããåã«çœ®ãæããŸãã
ã¹ã¯ããŒã«
å³ããå·Šã«ã¹ã¯ããŒã«ããŸãã
ã¹ã¯ããŒã«
å·Šããå³ã«ã¹ã¯ããŒã«ããŸãã
ããã©ã«ãã¯ããã¬ãŒã ãã§ãã
ãµã€ãº
ã°ã©ããããªã®ãµã€ãºãèšå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãã㪠ãµã€ãº"
in ã ffmpeg-utils ããã¥ã¢ã«ã ããã©ã«ãå€ã¯ã900x256ãã§ãã
åæ¯è²ã®è¡šçŸã§ã¯ã次ã®å€æ°ã䜿çšã§ããŸãã
MIN ã¡ã¿ããŒã¿å€ã®æå°å€ã
MAX ã¡ã¿ããŒã¿å€ã®æ倧å€ã
VAL çŸåšã®ã¡ã¿ããŒã¿ããŒå€ã
è²ã¯0xAABBGGRRãšããŠå®çŸ©ãããŸãã
ããã®ã¡ã¿ããŒã¿ã䜿çšããäŸ ã·ã°ãã«çµ±èš ãã£ã«ã¿ïŒ
signalstatsãdrawgraph = lavfi.signalstats.YAVGïŒmin = 0ïŒmax = 255
ããã®ã¡ã¿ããŒã¿ã䜿çšããäŸ ebur128 ãã£ã«ã¿ïŒ
ebur128=metadata=1,adrawgraph=lavfi.r128.M:min=-120:max=5
ãããŒã°ãªãã
å ¥åç»åã«ã°ãªãããæç»ããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
x
y ã°ãªãã亀ç¹ã®åº§æšãæå®ããåŒ
ïŒãªãã»ãããæ§æããããã®ãã®ïŒã ããã©ã«ãã¯äž¡æ¹ãšã0ã§ãã
å¹ ã w
é«ãã h
ã°ãªããã»ã«ã®å¹ ãšé«ããæå®ããåŒïŒ0ã®å ŽåïŒ
å ¥åã®å¹ ãšé«ããããããããåãããåŒãããã®ãšããŠè§£éããããããç»å
ãã¬ãŒã ã«å ¥ããããŸãã ããã©ã«ãã¯0ã§ãã
è²ã c
ã°ãªããã®è²ãæå®ããŸãã ãã®ãªãã·ã§ã³ã®äžè¬çãªæ§æã«ã€ããŠã¯ã
ffmpeg-utilsããã¥ã¢ã«ã®ãè²ãã»ã¯ã·ã§ã³ã ç¹å¥ãªå€ãinvertãã䜿çšãããŠããå Žåã
ã°ãªããã®è²ã¯ãèŒåºŠãå転ãããããªãšåãã§ãã
åãã t
ã°ãªããç·ã®å€ªããèšå®ããåŒã ããã©ã«ãå€ã¯1ã§ãã
åãå ¥ããããå®æ°ã®ãªã¹ãã«ã€ããŠã¯ã以äžãåç §ããŠãã ããã
ã®ãã©ã¡ãŒã¿ x, y, w ãš h ãš t 次ã®å®æ°ãå«ãåŒã§ãã
äžãã å ¥åãã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯ã¯ãïŒw / hïŒ* sar.
ã²ãµã
察ãµã
æ°Žå¹³ããã³åçŽã¯ãããµããµã³ãã«å€ã ããšãã°ããã¯ã»ã«åœ¢åŒã®å Žå
ãyuv422pã ã²ãµã 2ãšã¯ 察ãµã 1ã§ãã
in_hã ih
in_wã iw
å ¥åã°ãªããã»ã«ã®å¹ ãšé«ãã
sar å ¥åãµã³ãã«ã®ã¢ã¹ãã¯ãæ¯ã
x
y ã°ãªãã亀ç¹ã®x座æšãšy座æšïŒæ§æããå¿ èŠããããŸãïŒ
ãªãã»ããïŒã
w
h æç»ãããã»ã«ã®å¹ ãšé«ãã
t æç»ãããã»ã«ã®åãã
ãããã®å®æ°ã«ããã x, y, w, h ãš t ãäºããåç §ããåŒãªã®ã§ã
ããšãã°ããy = x/darããŸãã¯ãh=w/darããæå®ã§ããŸãã
äŸ
ã»ã»ã«ã100x100ãã¯ã»ã«ãåãã2ãã¯ã»ã«ãè²ãèµ€ã§ã°ãªãããæç»ããŸãã
50ïŒ ã®äžéæ床ïŒ
drawgrid = width = 100ïŒheight = 100ïŒthickness = 2ïŒcolor =[ã¡ãŒã«ä¿è·]
ã»äžéæ床ã3ïŒ ã®çœã3x50ã°ãªãããæç»ããŸãã
drawgrid = w = iw / 3ïŒh = ih / 3ïŒt = 2ïŒc =[ã¡ãŒã«ä¿è·]
ãããŒããã¹ã
libfreetypeã䜿çšããŠããããªã®äžã«æå®ããããã¡ã€ã«ããããã¹ãæååãŸãã¯ããã¹ããæç»ããŸã
ãšãããããã
ãã®ãã£ã«ã¿ãŒã®ã³ã³ãã€ã«ãæå¹ã«ããã«ã¯ãFFmpegãèšå®ããå¿ èŠããããŸã
ã--enable-libfreetypeãã ããã©ã«ãã®ãã©ã³ããã©ãŒã«ããã¯ãš ãã©ã³ã ããªããããå¿ èŠããããªãã·ã§ã³
ã--enable-libfontconfigãã§FFmpegãèšå®ããŸãã ãæå¹ã«ããã«ã¯ ããã¹ãã®æŽåœ¢ ãªãã·ã§ã³ãããªã
ã--enable-libfribidiãã§FFmpegãèšå®ããå¿ èŠããããŸãã
æ§æ
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ããã¯ã¹ èæ¯è²ã䜿çšããŠããã¹ãã®åšãã«ããã¯ã¹ãæç»ããããã«äœ¿çšãããŸãã å€ã¯1ã®ããããã§ãªããã°ãªããŸãã
ïŒæå¹ïŒãŸãã¯0ïŒç¡å¹ïŒã ã®ããã©ã«ãå€ ããã¯ã¹ 0ã§ãã
ããã¯ã¹ããŒããŒw
ã䜿çšããŠãããã¯ã¹ã®åšå²ã«æç»ããå¢çç·ã®å¹ ãèšå®ããŸã ããã¯ã¹ã«ã©ãŒã ããã©ã«ã
ã®å€ ããã¯ã¹ããŒããŒw 0ã§ãã
ããã¯ã¹ã«ã©ãŒ
ããã¹ãã®åšãã«ããã¯ã¹ãæç»ããããã«äœ¿çšãããè²ã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã次ã確èªããŠãã ããã
ffmpeg-utilsããã¥ã¢ã«ã®ãè²ãã»ã¯ã·ã§ã³ã
ã®ããã©ã«ãå€ ããã¯ã¹ã«ã©ãŒ ãçœãã§ãã
å¢çç·
ã䜿çšããŠãããã¹ãã®åšå²ã«æç»ãããå¢çç·ã®å¹ ãèšå®ããŸã ããŒãã®è²ãéžæããŸãã
ã®ããã©ã«ãå€ å¢çç· 0ã§ãã
ããŒãã®è²
ããã¹ãã®åšå²ã«å¢çç·ãæç»ããããã«äœ¿çšããè²ãèšå®ããŸãã ãã®æ§æã«ã€ããŠ
ãªãã·ã§ã³ã®å Žåã¯ãffmpeg-utilsããã¥ã¢ã«ã®ãColorãã»ã¯ã·ã§ã³ã確èªããŠãã ããã
ã®ããã©ã«ãå€ ããŒãã®è² ãé»ãã§ãã
æ¡å€§
æ¹æ³ãéžæããŸã íŽëŒì°ë êž°ë° AI/MLë° ê³ ì±ë¥ 컎íší ì íµí ëì§íž ížìì êž°ìŽ â Edward Hsu, Rescale CPO ë§ì ìì§ëìŽë§ ì€ì¬ êž°ì ìê² íŽëŒì°ëë R&Dëì§íž ì íì 첫 ëšê³ìŒ ë¿ì ëë€. íŽëŒì°ë ììì íì©íŽ ìì§ëìŽë§ íì ì ìœì íŽê²°íë ëšê³ë¥Œ ëìŽ, ì뮬ë ìŽì ìŽìì íµí©íê³ ìµì ííë©°, ê¶ê·¹ì ìŒë¡ë ëªšëž êž°ë°ì íì 곌 ìì¬ ê²°ì ì ì§ìíì¬ ì ì íì ê²°ì í ë ë°ìŽí° êž°ë° ìì§ëìŽë§ì ì ì©íê³ ì í©ëë€. Rescaleì ìŽë¬í íì ì ëêž° ìíŽ ì»Žíší ì¶ì² ìì§, íµí© ë°ìŽí° íšëžëŠ, ë©íë°ìŽí° êŽëŠ¬ ë±ì ê°ë°íê³ ììµëë€. ìŽë² ì늬륌 ë¹ë € ë¹ìŠëì€ ê²œìë ¥ ì ê³ ë¥Œ ìí ëì§íž ížì ë° ëì§íž ì€ë ë ì ëµ ê°ë° ë°©ë²ì ëí ìžì¬ìŽížë¥Œ ëëê³ ì í©ëë€. å±éãããŸãã ãnoneãããstrftimeãïŒéæšå¥šïŒããŸãã¯
ãéåžžãïŒããã©ã«ãïŒã ãåç §ããŠãã ãã drawtext_expansionã ããã¹ã æ¡å€§ 以äžã®ã»ã¯ã·ã§ã³
詳现ã
å¢çãä¿®æ£ãã
trueã®å Žåãã¯ãªããã³ã°ãåé¿ããããã«ããã¹ã座æšã確èªããŠä¿®æ£ããŸãã
ãã©ã³ãã®è²
ãã©ã³ãã®æç»ã«äœ¿çšãããè²ã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã
ffmpeg-utilsããã¥ã¢ã«ã®ãè²ãã»ã¯ã·ã§ã³ã
ã®ããã©ã«ãå€ ãã©ã³ãã®è² ãé»ãã§ãã
fontcolor_expr
ãšåãããã«å±éãããæåå íŽëŒì°ë êž°ë° AI/MLë° ê³ ì±ë¥ 컎íší ì íµí ëì§íž ížìì êž°ìŽ â Edward Hsu, Rescale CPO ë§ì ìì§ëìŽë§ ì€ì¬ êž°ì ìê² íŽëŒì°ëë R&Dëì§íž ì íì 첫 ëšê³ìŒ ë¿ì ëë€. íŽëŒì°ë ììì íì©íŽ ìì§ëìŽë§ íì ì ìœì íŽê²°íë ëšê³ë¥Œ ëìŽ, ì뮬ë ìŽì ìŽìì íµí©íê³ ìµì ííë©°, ê¶ê·¹ì ìŒë¡ë ëªšëž êž°ë°ì íì 곌 ìì¬ ê²°ì ì ì§ìíì¬ ì ì íì ê²°ì í ë ë°ìŽí° êž°ë° ìì§ëìŽë§ì ì ì©íê³ ì í©ëë€. Rescaleì ìŽë¬í íì ì ëêž° ìíŽ ì»Žíší ì¶ì² ìì§, íµí© ë°ìŽí° íšëžëŠ, ë©íë°ìŽí° êŽëŠ¬ ë±ì ê°ë°íê³ ììµëë€. ìŽë² ì늬륌 ë¹ë € ë¹ìŠëì€ ê²œìë ¥ ì ê³ ë¥Œ ìí ëì§íž ížì ë° ëì§íž ì€ë ë ì ëµ ê°ë° ë°©ë²ì ëí ìžì¬ìŽížë¥Œ ëëê³ ì í©ëë€. ãã€ãããã¯ãååŸããã«ã¯ ãã©ã³ãã®è² 䟡å€ã ã«
ããã©ã«ãã§ã¯ããã®ãªãã·ã§ã³ã®å€ã¯ç©ºã§ãããåŠçãããŸããã ãã®ãªãã·ã§ã³ãèšå®ãããšã
ãªãŒããŒã©ã€ã ãã©ã³ãã®è² ãªãã·ã§ã³ãéžæããŸãã
ãã©ã³ã
ããã¹ãã®æç»ã«äœ¿çšããããã©ã³ããã¡ããªã ããã©ã«ãã§ã¯Sansã
ãã©ã³ããã¡ã€ã«
ããã¹ãã®æç»ã«äœ¿çšããããã©ã³ããã¡ã€ã«ã ãã¹ãå«ããå¿ èŠããããŸãã ãã®ãã©ã¡ãŒã¿
fontconfigãµããŒããç¡å¹ã«ãªã£ãŠããå Žåã¯å¿ é ã§ãã
ãããŒ
ãã®ãªãã·ã§ã³ã¯ååšããŸãããã¿ã€ã ã©ã€ã³ã·ã¹ãã ãåç §ããŠãã ãã
ã¢ã«ãã¡
ã¢ã«ãã¡ãã¬ã³ãã£ã³ã°ãé©çšããŠããã¹ããæç»ããŸãã å€ã¯ã0.0ããXNUMXãŸã§ã®æ°å€ã®ããããã§ãã
ããã³1.0åŒã¯åãå€æ°ãåãå ¥ããŸã x, y è¡ãã ããã©ã«ãå€ã¯1ã§ãã
fontcolor_exprãã芧ãã ãã
ãã©ã³ããµã€ãº
ããã¹ãã®æç»ã«äœ¿çšããããã©ã³ããµã€ãºã ã®ããã©ã«ãå€ ãã©ã³ããµã€ãº 16ã§ãã
ããã¹ãã®æŽåœ¢
1ã«èšå®ãããŠããå Žåã¯ãããã¹ãã®åœ¢ãæŽããŠã¿ãŠãã ããïŒããšãã°ãå³ããå³ãžã®é åºãéã«ããŸãïŒ
æç»ããåã«ãããã¹ããæ®ããŠã¢ã©ãã¢æåãçµåããŸãïŒã ãã以å€ã®å Žåã¯ã
äžãããããšããã®ããã¹ãã ããã©ã«ãã§ã¯1ïŒãµããŒããããŠããå ŽåïŒã
ft_load_flags
ãã©ã³ãã®ããŒãã«äœ¿çšããããã©ã°ã
ãã©ã°ã¯ãlibfreetypeã§ãµããŒããããŠãã察å¿ãããã©ã°ããããããçµã¿åããã§ãã
次ã®å€ã®ïŒ
ããã©ã«ã
ã¹ã±ãŒã«ãªã
ãã³ããªã
ã¬ã³ããŒ
no_bitmap
åçŽã¬ã€ã¢ãŠã
匷å¶èªåãã³ã
Crop_bitmap
è¡åŠè
ignore_global_advance_width
no_recurse
ç¡èŠ_å€æ
ã¢ãã¯ã
ãªãã¢ãã¶ã€ã³
no_autohint
ããã©ã«ãå€ã¯ãdefaultãã§ãã
詳现ã«ã€ããŠã¯ãFT_LOAD_*libfreetypeãã©ã°ã®ããã¥ã¡ã³ããåç §ããŠãã ããã
ã·ã£ããŠã«ã©ãŒ
æç»ãããããã¹ãã®èåŸã«åœ±ãæç»ããããã«äœ¿çšãããè²ã ã®æ§æã«ã€ããŠ
ãã®ãªãã·ã§ã³ã«ã€ããŠã¯ãffmpeg-utilsããã¥ã¢ã«ã®ãColorãã»ã¯ã·ã§ã³ã確èªããŠãã ããã
ã®ããã©ã«ãå€ ã·ã£ããŠã«ã©ãŒ ãé»ãã§ãã
ã·ã£ãã
圱ã®ãã
ã®äœçœ®ã«å¯Ÿããããã¹ãã·ã£ããŠã®äœçœ®ã®xããã³yãªãã»ãã
æç« ã ãããã¯æ£ãŸãã¯è² ã®å€ã®ããããã§ãã äž¡æ¹ã®ããã©ã«ãå€ã¯
ã0幎XNUMXæXNUMXæ¥ãã
éå§çªå·
n/frame_numå€æ°ã®éå§ãã¬ãŒã çªå·ã ããã©ã«ãå€ã¯ã0ãã§ãã
ã¿ããµã€ãº
ã¿ãã®ã¬ã³ããªã³ã°ã«äœ¿çšããã¹ããŒã¹ã®æ°ã®ãµã€ãºã ããã©ã«ãå€ã¯4ã§ãã
ã¿ã€ã ã³ãŒã
åæã¿ã€ã ã³ãŒãè¡šçŸããhhïŒmmïŒss [ïŒ;ã]ffã圢åŒã§èšå®ããŸãã 䜿çšã§ããŸã
ããã¹ããã©ã¡ãŒã¿ã®æç¡ã«ãããããã ã¿ã€ã ã³ãŒãã¬ãŒã ãªãã·ã§ã³ãæå®ããå¿ èŠããããŸãã
timecode_rateã å²åã r
ã¿ã€ã ã³ãŒãã®ãã¬ãŒã ã¬ãŒããèšå®ããŸãïŒã¿ã€ã ã³ãŒãã®ã¿ïŒã
íŽëŒì°ë êž°ë° AI/MLë° ê³ ì±ë¥ 컎íší ì íµí ëì§íž ížìì êž°ìŽ â Edward Hsu, Rescale CPO ë§ì ìì§ëìŽë§ ì€ì¬ êž°ì ìê² íŽëŒì°ëë R&Dëì§íž ì íì 첫 ëšê³ìŒ ë¿ì ëë€. íŽëŒì°ë ììì íì©íŽ ìì§ëìŽë§ íì ì ìœì íŽê²°íë ëšê³ë¥Œ ëìŽ, ì뮬ë ìŽì ìŽìì íµí©íê³ ìµì ííë©°, ê¶ê·¹ì ìŒë¡ë ëªšëž êž°ë°ì íì 곌 ìì¬ ê²°ì ì ì§ìíì¬ ì ì íì ê²°ì í ë ë°ìŽí° êž°ë° ìì§ëìŽë§ì ì ì©íê³ ì í©ëë€. Rescaleì ìŽë¬í íì ì ëêž° ìíŽ ì»Žíší ì¶ì² ìì§, íµí© ë°ìŽí° íšëžëŠ, ë©íë°ìŽí° êŽëŠ¬ ë±ì ê°ë°íê³ ììµëë€. ìŽë² ì늬륌 ë¹ë € ë¹ìŠëì€ ê²œìë ¥ ì ê³ ë¥Œ ìí ëì§íž ížì ë° ëì§íž ì€ë ë ì ëµ ê°ë° ë°©ë²ì ëí ìžì¬ìŽížë¥Œ ëëê³ ì í©ëë€.
æç»ãããããã¹ãæååã ããã¹ãã¯ãUTF-8ã§ãšã³ã³ãŒããããæåã®ã·ãŒã±ã³ã¹ã§ããå¿ èŠããããŸãã
ãã®ãã©ã¡ãŒã¿ãŒã§ãã¡ã€ã«ãæå®ãããŠããªãå Žåããã®ãã©ã¡ãŒã¿ãŒã¯å¿ é ã§ãã ããã¹ããã¡ã€ã«.
ããã¹ããã¡ã€ã«
æç»ããããã¹ããå«ãããã¹ããã¡ã€ã«ã ããã¹ãã¯ãUTF-8ã§ãšã³ã³ãŒããããã·ãŒã±ã³ã¹ã§ããå¿ èŠããããŸã
æåã
ãã©ã¡ãŒã¿ã§ããã¹ãæååãæå®ãããŠããªãå Žåããã®ãã©ã¡ãŒã¿ã¯å¿ é ã§ãã íŽëŒì°ë êž°ë° AI/MLë° ê³ ì±ë¥ 컎íší ì íµí ëì§íž ížìì êž°ìŽ â Edward Hsu, Rescale CPO ë§ì ìì§ëìŽë§ ì€ì¬ êž°ì ìê² íŽëŒì°ëë R&Dëì§íž ì íì 첫 ëšê³ìŒ ë¿ì ëë€. íŽëŒì°ë ììì íì©íŽ ìì§ëìŽë§ íì ì ìœì íŽê²°íë ëšê³ë¥Œ ëìŽ, ì뮬ë ìŽì ìŽìì íµí©íê³ ìµì ííë©°, ê¶ê·¹ì ìŒë¡ë ëªšëž êž°ë°ì íì 곌 ìì¬ ê²°ì ì ì§ìíì¬ ì ì íì ê²°ì í ë ë°ìŽí° êž°ë° ìì§ëìŽë§ì ì ì©íê³ ì í©ëë€. Rescaleì ìŽë¬í íì ì ëêž° ìíŽ ì»Žíší ì¶ì² ìì§, íµí© ë°ìŽí° íšëžëŠ, ë©íë°ìŽí° êŽëŠ¬ ë±ì ê°ë°íê³ ììµëë€. ìŽë² ì늬륌 ë¹ë € ë¹ìŠëì€ ê²œìë ¥ ì ê³ ë¥Œ ìí ëì§íž ížì ë° ëì§íž ì€ë ë ì ëµ ê°ë° ë°©ë²ì ëí ìžì¬ìŽížë¥Œ ëëê³ ì í©ëë€. .
äž¡æ¹ã®å Žå íŽëŒì°ë êž°ë° AI/MLë° ê³ ì±ë¥ 컎íší ì íµí ëì§íž ížìì êž°ìŽ â Edward Hsu, Rescale CPO ë§ì ìì§ëìŽë§ ì€ì¬ êž°ì ìê² íŽëŒì°ëë R&Dëì§íž ì íì 첫 ëšê³ìŒ ë¿ì ëë€. íŽëŒì°ë ììì íì©íŽ ìì§ëìŽë§ íì ì ìœì íŽê²°íë ëšê³ë¥Œ ëìŽ, ì뮬ë ìŽì ìŽìì íµí©íê³ ìµì ííë©°, ê¶ê·¹ì ìŒë¡ë ëªšëž êž°ë°ì íì 곌 ìì¬ ê²°ì ì ì§ìíì¬ ì ì íì ê²°ì í ë ë°ìŽí° êž°ë° ìì§ëìŽë§ì ì ì©íê³ ì í©ëë€. Rescaleì ìŽë¬í íì ì ëêž° ìíŽ ì»Žíší ì¶ì² ìì§, íµí© ë°ìŽí° íšëžëŠ, ë©íë°ìŽí° êŽëŠ¬ ë±ì ê°ë°íê³ ììµëë€. ìŽë² ì늬륌 ë¹ë € ë¹ìŠëì€ ê²œìë ¥ ì ê³ ë¥Œ ìí ëì§íž ížì ë° ëì§íž ì€ë ë ì ëµ ê°ë° ë°©ë²ì ëí ìžì¬ìŽížë¥Œ ëëê³ ì í©ëë€. ãš ããã¹ããã¡ã€ã« æå®ãããšããšã©ãŒãã¹ããŒãããŸãã
ãªããŒã
1ã«èšå®ãããšã ããã¹ããã¡ã€ã« åãã¬ãŒã ã®åã«ãªããŒããããŸãã å¿ ãæŽæ°ããŠãã ãã
ã¢ãããã¯ã«ããŸãã¯éšåçã«èªã¿åããããã倱æããããšãããããŸãã
x
y ãããªå ã§ããã¹ããæç»ããããªãã»ãããæå®ããåŒ
ãã¬ãŒã ã ãããã¯ãåºåç»åã®å·Šäžã®å¢çç·ãåºæºã«ããŠããŸãã
ã®ããã©ã«ãå€ x ãš y ã0ãã§ãã
åãå ¥ããããå®æ°ãšé¢æ°ã®ãªã¹ãã«ã€ããŠã¯ã以äžãåç §ããŠãã ããã
ã®ãã©ã¡ãŒã¿ x ãš y 次ã®å®æ°ãå«ãåŒã§ããã
æ©èœïŒ
äžãã å ¥åãã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯ã¯ãïŒw / hïŒ* sar
ã²ãµã
察ãµã
æ°Žå¹³ããã³åçŽã¯ãããµããµã³ãã«å€ã ããšãã°ããã¯ã»ã«åœ¢åŒã®å Žå
ãyuv422pã ã²ãµã 2ãšã¯ 察ãµã 1ã§ãã
line_hã lh
åããã¹ãè¡ã®é«ã
main_hã h, H
å ¥åã®é«ã
main_wã w, W
å ¥åå¹
max_glyph_aã ç»ã
ããŒã¹ã©ã€ã³ããæé«/äžäœã°ãªãã座æšãŸã§ã®æ倧è·é¢
ã¬ã³ããªã³ã°ããããã¹ãŠã®ã°ãªãã«å¯ŸããŠãã°ãªãã®ã¢ãŠãã©ã€ã³ãã€ã³ããé 眮ããŸãã æ£ã®å€ã§ã
Y軞ãäžã«ããŠã°ãªããã®æ¹åã«åãããŸãã
max_glyph_dã ãã£ã»ã³ã
ããŒã¹ã©ã€ã³ããé 眮ã«ââ䜿çšãããæå°ã°ãªãã座æšãŸã§ã®æ倧è·é¢
ã¬ã³ããªã³ã°ããããã¹ãŠã®ã°ãªãã®ã°ãªãã¢ãŠãã©ã€ã³ãã€ã³ãã ããã¯è² ã®å€ã§ãã
Y軞ãäžã«ããã°ãªããã®æ¹åã
max_glyph_h
æ倧ã°ãªãã®é«ããã€ãŸããã«å«ãŸãããã¹ãŠã®ã°ãªãã®æ倧ã®é«ã
ã¬ã³ããªã³ã°ãããããã¹ããããã¯ãšåçã§ã ç»ã - ãã£ã»ã³ã.
max_glyph_w
æ倧ã°ãªãå¹ ãããã¯ãã«å«ãŸãããã¹ãŠã®ã°ãªãã®æå€§å¹ ã§ãã
ã¬ã³ããªã³ã°ãããããã¹ã
n 0ããå§ãŸãå ¥åãã¬ãŒã ã®æ°
randïŒminã æ倧ïŒ
éã«å«ãŸããä¹±æ°ãè¿ããŸã å ãš ããã¯ã¹
sar å ¥åãµã³ãã«ã®ã¢ã¹ãã¯ãæ¯ã
t ç§åäœã§è¡šãããã¿ã€ã ã¹ã¿ã³ããå ¥åã¿ã€ã ã¹ã¿ã³ããäžæãªå Žåã¯NAN
text_hã th
ã¬ã³ããªã³ã°ãããããã¹ãã®é«ã
text_wã tw
ã¬ã³ããªã³ã°ãããããã¹ãã®å¹
x
y ããã¹ããæç»ãããxããã³yãªãã»ãã座æšã
ãããã®ãã©ã¡ãŒã¿ã«ããã x ãš y ãäºããåç §ããåŒãªã®ã§ã
äŸã¯ãy=x/darããæå®ããŸãã
ããã¹ã æ¡å€§
If æ¡å€§ ãstrftimeãã«èšå®ãããŠããå Žåããã£ã«ã¿ãŒã¯èªèããŸã strftimeïŒïŒ ã®ã·ãŒã±ã³ã¹
æäŸãããããã¹ããšããã«å¿ããŠããããå±éããŸãã ã®ããã¥ã¡ã³ãã確èªããŠãã ãã strftimeïŒïŒã ãã®
ãã®æ©èœã¯å»æ¢ãããŸããã
If æ¡å€§ ãnoneãã«èšå®ãããšãããã¹ãã¯éèªçã«å°å·ãããŸãã
If æ¡å€§ ãéåžžãïŒããã©ã«ãïŒã«èšå®ãããŠããã次ã®æ¡åŒµã¡ã«ããºã
䜿çšãããŠããã
ããã¯ã¹ã©ãã·ã¥æå \ããã®åŸã«ä»»æã®æåãç¶ããåžžã«XNUMXçªç®ã«å±éãããŸã
æåã
"ïŒ {...}"ã®åœ¢åŒã®ã·ãŒã±ã³ã¹ãå±éãããŸãã äžæ¬åŒ§ã®éã®ããã¹ãã¯é¢æ°ã§ã
ååãå Žåã«ãã£ãŠã¯'ïŒ'ã§åºåãããåŒæ°ãç¶ããŸãã åŒæ°ã«ç¹å¥ãªãã®ãå«ãŸããŠããå Žå
æåãŸãã¯åºåãæåïŒ'ïŒ'ãŸãã¯'}'ïŒã¯ããšã¹ã±ãŒãããå¿ èŠããããŸãã
ãããã¯ãããããã®å€ãšããŠããšã¹ã±ãŒãããå¿ èŠãããããšã«æ³šæããŠãã ããã íŽëŒì°ë êž°ë° AI/MLë° ê³ ì±ë¥ 컎íší ì íµí ëì§íž ížìì êž°ìŽ â Edward Hsu, Rescale CPO ë§ì ìì§ëìŽë§ ì€ì¬ êž°ì ìê² íŽëŒì°ëë R&Dëì§íž ì íì 첫 ëšê³ìŒ ë¿ì ëë€. íŽëŒì°ë ììì íì©íŽ ìì§ëìŽë§ íì ì ìœì íŽê²°íë ëšê³ë¥Œ ëìŽ, ì뮬ë ìŽì ìŽìì íµí©íê³ ìµì ííë©°, ê¶ê·¹ì ìŒë¡ë ëªšëž êž°ë°ì íì 곌 ìì¬ ê²°ì ì ì§ìíì¬ ì ì íì ê²°ì í ë ë°ìŽí° êž°ë° ìì§ëìŽë§ì ì ì©íê³ ì í©ëë€. Rescaleì ìŽë¬í íì ì ëêž° ìíŽ ì»Žíší ì¶ì² ìì§, íµí© ë°ìŽí° íšëžëŠ, ë©íë°ìŽí° êŽëŠ¬ ë±ì ê°ë°íê³ ììµëë€. ìŽë² ì늬륌 ë¹ë € ë¹ìŠëì€ ê²œìë ¥ ì ê³ ë¥Œ ìí ëì§íž ížì ë° ëì§íž ì€ë ë ì ëµ ê°ë° ë°©ë²ì ëí ìžì¬ìŽížë¥Œ ëëê³ ì í©ëë€. å ã®ãªãã·ã§ã³
ãã£ã«ã¿åŒæ°æååãšãã£ã«ã¿ã°ã©ãã®èª¬æã®ãã£ã«ã¿åŒæ°ãšããŠãããã³
ããããã·ã§ã«ã®å Žåããæ倧XNUMXã¬ãã«ã®ãšã¹ã±ãŒããæ§æããŸãã ããã¹ããã¡ã€ã«ã䜿çšãã
ãããã®åé¡ãåé¿ããŸãã
次ã®æ©èœã䜿çšã§ããŸãã
exprã e
çºçŸè©äŸ¡çµæã
è©äŸ¡ããåŒãæå®ããåŒæ°ãXNUMXã€åãå¿ èŠããããŸããããã¯ã
ãšåãå®æ°ãšé¢æ° x ãš y å€ã ãã¹ãŠã®å®æ°ãå¿ èŠãªããã§ã¯ãªãããšã«æ³šæããŠãã ãã
ããšãã°ãåŒãè©äŸ¡ãããšãã«ããã¹ããµã€ãºãããããªãããã
å®æ° ããã¹ãw ãš ããã¹ã_h æªå®çŸ©ã®å€ã«ãªããŸãã
expr_int_formatã CIF
åŒã®å€ãè©äŸ¡ãããã©ãŒããããããæŽæ°ãšããŠåºåããŸãã
æåã®åŒæ°ã¯ãè©äŸ¡ãããåŒã§ãã åŒ æ©èœã
XNUMXçªç®ã®åŒæ°ã¯ãåºå圢åŒãæå®ããŸãã èš±å¯ãããå€ã¯ x, X, d ãš u.
ãããã¯ãprintfãé¢æ°ãšãŸã£ããåãããã«æ±ãããŸãã XNUMXçªç®ã®ãã©ã¡ãŒã¿ãŒã¯ãªãã·ã§ã³ã§ã
ãããŠãåºåã«ãã£ãŠåãããäœçœ®ã®æ°ãèšå®ããŸãã ããã£ã³ã°ãè¿œå ããããã«äœ¿çšã§ããŸã
å·ŠãããŒãã§ã
ã°ã©ã ã¿ã€ã
ãã£ã«ã¿ãŒãå®è¡ãããŠããæå»ãUTCã§è¡šãããŸãã åŒæ°ãåãå ¥ããããšãã§ããŸãïŒ
a strftimeïŒïŒ ãã©ãŒãããæååã
çŸå°æé
ãã£ã«ã¿ãå®è¡ãããŠããæå»ãããŒã«ã«ã¿ã€ã ãŸãŒã³ã§è¡šãããŸãã ã§ãã
åŒæ°ãåãå ¥ããïŒa strftimeïŒïŒ ãã©ãŒãããæååã
ãã¬ãŒã ã¡ã¿ããŒã¿ã ã¡ã¿ããŒã¿ããŒãæå®ããåŒæ°ãXNUMXã€åãå¿ èŠããããŸãã
n, ãã¬ãŒã çªå·
0ããå§ãŸããã¬ãŒã çªå·ã
ãã¯ãã¿ã€ã
çŸåšã®ç»åã¿ã€ãã®1æåã®èª¬æã
PTS çŸåšã®ãã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ãã æ倧XNUMXã€ã®åŒæ°ãåãããšãã§ããŸãã
æåã®åŒæ°ã¯ã¿ã€ã ã¹ã¿ã³ãã®åœ¢åŒã§ãã ããã©ã«ãã§ã¯ã次ã®ããã«æ°ç§éãfltãã«ãªããŸãã
ãã€ã¯ãç§ç²ŸåºŠã®XNUMXé²æ°ã ãhmsãã¯ãã©ãŒãããããã
[-] HHïŒMMïŒSS.mmm ããªç§ã®ç²ŸåºŠã®ã¿ã€ã ã¹ã¿ã³ãã
XNUMXçªç®ã®åŒæ°ã¯ãã¿ã€ã ã¹ã¿ã³ãã«è¿œå ããããªãã»ããã§ãã
äŸ
ã»ãªãã·ã§ã³ã®ããã©ã«ãå€ã䜿çšããŠããã©ã³ãFreeSerifã§ããã¹ãããã¹ãããæç»ããŸã
ãã©ã¡ãŒã¿ãŒã
drawtext = "fontfile = / usr / share / fonts / truetype / freefont / FreeSerif.ttfïŒtext='ãã¹ãããã¹ã'"
ã»äœçœ®x=24ããã³y=100ã§ãµã€ãº50ã®ãã©ã³ãFreeSerifã䜿çšããŠããã¹ãããã¹ãããæç»ããŸãïŒã«ãŠã³ã
ç»é¢ã®å·Šäžé ããïŒãããã¹ãã¯é»è²ã§ããã®åšãã«èµ€ãããã¯ã¹ããããŸãã äž¡æ¹
ããã¹ããšããã¯ã¹ã®äžéæ床ã¯20ïŒ ã§ãã
drawtext = "fontfile = / usr / share / fonts / truetype / freefont / FreeSerif.ttfïŒtext ='ãã¹ãããã¹ã'ïŒ\
x = 100ïŒy = 50ïŒfontsize = 24ïŒfontcolor =[ã¡ãŒã«ä¿è·]ïŒbox = 1ïŒboxcolor =[ã¡ãŒã«ä¿è·]"
å ã§ã¹ããŒã¹ã䜿çšãããŠããªãå Žåã¯ãäºéåŒçšç¬Šã¯å¿ èŠãããŸããã
ãã©ã¡ãŒã¿ãªã¹ãã
ã»ãããªãã¬ãŒã ã®äžå€®ã«ããã¹ãã衚瀺ããŸãã
drawtext = "fontsize = 30ïŒfontfile = FreeSerif.ttfïŒtext ='hello world'ïŒx =ïŒw-text_wïŒ/ 2ïŒy =ïŒh-text_hïŒ/ 2"
ã»ãããªãã¬ãŒã ã®æåŸã®è¡ã«å³ããå·Šã«ã¹ã©ã€ãããããã¹ãè¡ã衚瀺ããŸãã ã¶
file LONG_LINE æ¹è¡ã®ãªãåäžã®è¡ãå«ãŸããŠãããšèŠãªãããŸãã
drawtext = "fontsize = 15ïŒfontfile = FreeSerif.ttfïŒtext = LONG_LINEïŒy = h-line_hïŒx = -50 * t"
ã»ãã¡ã€ã«ã®å 容ã衚瀺ãã CREDITS ãã¬ãŒã ã®äžéšããäžã«ã¹ã¯ããŒã«ããŸãã
drawtext = "fontsize = 20ïŒfontfile = FreeSerif.ttfïŒtextfile = CREDITSïŒy = h-20 * t"
ã»å ¥åãããªã®äžå€®ã«ç·è²ã®æåãgããXNUMXã€æç»ããŸãã ã°ãªãããŒã¹ã©ã€ã³
ç»é¢ã®ååã®é«ãã«é 眮ãããŸãã
drawtext = "fontsize = 60ïŒfontfile = FreeSerif.ttfïŒfontcolor = greenïŒtext = gïŒx =ïŒw-max_glyph_wïŒ/ 2ïŒy = h / 2-ascent"
ã»1ç§ããšã«3ç§éããã¹ãã衚瀺ããŸãã
drawtext = "fontfile = FreeSerif.ttfïŒfontcolor = whiteïŒx = 100ïŒy = x / darïŒenable = ltïŒmodïŒt \ã3ïŒ\ã1ïŒïŒtext ='blink'"
ã»fontconfigã䜿çšããŠãã©ã³ããèšå®ããŸãã ã³ãã³ããšã¹ã±ãŒãããå¿ èŠãããããšã«æ³šæããŠãã ããã
drawtext ='fontfile = Linux Libertine O-40 \ïŒstyle = SemiboldïŒtext = FFmpeg'
ã»ãªã¢ã«ã¿ã€ã ãšã³ã³ãŒãã£ã³ã°ã®æ¥ä»ãå°å·ããŸãïŒãåç §ïŒ ã¹ãã©ãã¿ã€ã ïŒ3ïŒïŒïŒ
drawtext ='fontfile = FreeSans.ttfïŒtext =ïŒ {localtime \ïŒïŒ aïŒ bïŒ dïŒ Y}'
ã»ããã¹ãã®ãã§ãŒãã€ã³ããã³ãã§ãŒãã¢ãŠãïŒè¡šç€º/é衚瀺ïŒã衚瀺ããŸãã
#!/bin/sh
DS = 1.0ïŒè¡šç€ºéå§
DE = 10.0ïŒè¡šç€ºçµäº
FID = 1.5ïŒãã§ãŒãã€ã³æé
FOD = 5ïŒãã§ãŒãã¢ãŠãæé
ffplay -f lavfi "colorãdrawtext = text = TESTïŒfontsize = 50ïŒfontfile = FreeSerif.ttfïŒfontcolor_expr = ff0000ïŒ {eif \\\\ïŒclipïŒ255 *ïŒ1 * betweenïŒt \\ã$ DS + $ FID \\ã$ DE-$ FODïŒ+ïŒïŒt-$ DSïŒ/ $ FIDïŒ* betweenïŒt \\ã$ DS \\ã$ DS + $ FIDïŒ+ïŒ-ïŒt-$ DEïŒ / $ FODïŒ* betweenïŒt \\ã$ DE-$ FOD \\ã$ DEïŒïŒ\\ã0 \\ã255ïŒ\\\\ïŒx \\\\ïŒ2} "
libfreetypeã®è©³çŽ°ã«ã€ããŠã¯ã以äžã確èªããŠãã ãããhttp://www.freetype.org/>.
fontconfigã®è©³çŽ°ã«ã€ããŠã¯ã以äžã確èªããŠãã ããã
<http://freedesktop.org/software/fontconfig/fontconfig-user.html>.
libfribidiã®è©³çŽ°ã«ã€ããŠã¯ã以äžã確èªããŠãã ãããhttp://fribidi.org/>.
ãšããžæ€åº
ãšããžãæ€åºããŠæç»ããŸãã ãã£ã«ã¿ã¯ããã£ããŒãšããžæ€åºã¢ã«ãŽãªãºã ã䜿çšããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
äœãã§ã
é«ãã§ã
Cannyãããå€ã¢ã«ãŽãªãºã ã§äœ¿çšãããäœãããå€ãšé«ãããå€ãèšå®ããŸãã
é«ããããå€ã¯ã匷ãããšããžãã¯ã»ã«ãéžæãããããã¯æ¬¡ã«æ¥ç¶ãããŸã
8-äœãããå€ã«ãã£ãŠéžæãããã匱ãããšããžãã¯ã»ã«ãšã®æ¥ç¶ã
äœãã§ã ãš é«ãã§ã ãããå€ã¯[0,1]ã®ç¯å²ã§éžæããå¿ èŠããããŸãã äœãã§ã ã§ãªããã°ãªããŸãã
以äžä»¥äž é«ãã§ã.
ã®ããã©ã«ãå€ äœãã§ã ã¯ã20/255ãã§ãããã©ã«ãå€ã¯ é«ãã§ã ã50/255ãã§ãã
ã¢ãŒã
æç»ã¢ãŒããå®çŸ©ããŸãã
ã¯ã€ã€ãŒ
é»ã®èæ¯ã«çœ/ç°è²ã®ã¯ã€ã€ãŒãæç»ããŸãã
ã«ã©ãŒããã¯ã¹
è²ãæ··ããŠããã€ã³ã/挫ç»ã®å¹æãäœæããŸãã
ããã©ã«ãå€ã¯ ã¯ã€ã€ãŒ.
äŸ
ã»ãã¹ããªã·ã¹ãããå€ã®ã«ã¹ã¿ã å€ã䜿çšããæšæºãšããžæ€åºïŒ
edgedetect = low = 0.1ïŒhigh = 0.4
ã»ãããå€ãªãã®ãã€ã³ãå¹æïŒ
edgedetect = mode = colormixïŒhigh = 0
eq
æãããã³ã³ãã©ã¹ãã圩床ãããããã®ã¬ã³ã調æŽãèšå®ããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã³ã³ãã©ã¹ã
ã³ã³ãã©ã¹ãè¡šçŸãèšå®ããŸãã å€ã¯ãã-2.0ããã2.0ã®ç¯å²ã®æµ®åå°æ°ç¹å€ã§ããå¿ èŠããããŸãã
ããã©ã«ãå€ã¯ã0ãã§ãã
æãã
æããã®è¡šçŸãèšå®ããŸãã å€ã¯ãã-1.0ããã1.0ã®ç¯å²ã®æµ®åå°æ°ç¹å€ã§ããå¿ èŠããããŸãã
ããã©ã«ãå€ã¯ã0ãã§ãã
飜å
飜ååŒãèšå®ããŸãã å€ã¯ã0.0ã3.0ã®ç¯å²ã®floatã§ããå¿ èŠããããŸãã ã¶
ããã©ã«ãå€ã¯ã1ãã§ãã
ã¬ã³ã
ã¬ã³ãåŒãèšå®ããŸãã å€ã¯ã0.1ã10.0ã®ç¯å²ã®floatã§ããå¿ èŠããããŸãã ããã©ã«ã
å€ã¯ã1ãã§ãã
ã¬ã³ã_r
èµ€ã®ã¬ã³ãåŒãèšå®ããŸãã å€ã¯ã0.1ã10.0ã®ç¯å²ã®floatã§ããå¿ èŠããããŸãã ã¶
ããã©ã«ãå€ã¯ã1ãã§ãã
ã¬ã³ã_g
ç·ã®ã¬ã³ãåŒãèšå®ããŸãã å€ã¯ã0.1ã10.0ã®ç¯å²ã®floatã§ããå¿ èŠããããŸãã
ããã©ã«ãå€ã¯ã1ãã§ãã
ã¬ã³ã_b
éã®ã¬ã³ãåŒãèšå®ããŸãã å€ã¯ã0.1ã10.0ã®ç¯å²ã®floatã§ããå¿ èŠããããŸãã ã¶
ããã©ã«ãå€ã¯ã1ãã§ãã
ã¬ã³ãéã¿
ã¬ã³ãéã¿åŒãèšå®ããŸãã é«ã¬ã³ãã®åœ±é¿ãæžããããã«äœ¿çšã§ããŸã
æããç»åé åã®äŸ¡å€ãäŸãã°ãããããé床ã«å¢å¹ ãããŠåçŽã«ãªãã®ãé²ããŸã
çœãã å€ã¯ã0.0ã1.0ã®ç¯å²ã®floatã§ããå¿ èŠããããŸãã 0.0ã®å€ã¯ã¬ã³ããåããŸã
1.0ãå®å šãªåŒ·åºŠãç¶æããŠããéãä¿®æ£ã¯å®å šã«äžãã£ãŠããŸãã ããã©ã«ãã¯ã1ãã§ãã
è©äŸ¡ãã
æãããã³ã³ãã©ã¹ãã圩床ãã¬ã³ãåŒã®åŒãèšå®ãã
è©äŸ¡ãããŸãã
次ã®å€ãåãå ¥ããŸãã
INIT
ãã£ã«ã¿ã®åæåäžãŸãã¯ã³ãã³ãæã«XNUMXåã ãåŒãè©äŸ¡ããŸã
åŠçãããŸã
ãã¬ãŒã
çä¿¡ãã¬ãŒã ããšã«åŒãè©äŸ¡ãã
ããã©ã«ãå€ã¯ INIT.
åŒã¯æ¬¡ã®ãã©ã¡ãŒã¿ãŒãåãå ¥ããŸãã
n 0ããå§ãŸãå ¥åãã¬ãŒã ã®ãã¬ãŒã æ°
æçš¿ãã å ¥åãã¡ã€ã«å ã®å¯Ÿå¿ãããã±ããã®ãã€ãäœçœ®ãæå®ãããŠããªãå Žåã¯NAN
r å ¥åãããªã®ãã¬ãŒã ã¬ãŒããå ¥åãã¬ãŒã ã¬ãŒããäžæãªå Žåã¯NAN
t ç§åäœã§è¡šãããã¿ã€ã ã¹ã¿ã³ããå ¥åã¿ã€ã ã¹ã¿ã³ããäžæãªå Žåã¯NAN
ã³ãã³ã
ãã£ã«ã¿ã¯æ¬¡ã®ã³ãã³ãããµããŒãããŸãã
ã³ã³ãã©ã¹ã
ã³ã³ãã©ã¹ãè¡šçŸãèšå®ããŸãã
æãã
æããã®è¡šçŸãèšå®ããŸãã
飜å
飜ååŒãèšå®ããŸãã
ã¬ã³ã
ã¬ã³ãåŒãèšå®ããŸãã
ã¬ã³ã_r
gamma_råŒãèšå®ããŸãã
ã¬ã³ã_g
gamma_gåŒãèšå®ããŸãã
ã¬ã³ã_b
gamma_båŒãèšå®ããŸãã
ã¬ã³ãéã¿
gamma_weightåŒãèšå®ããŸãã
ãã®ã³ãã³ãã¯ã察å¿ãããªãã·ã§ã³ãšåãæ§æãåãå ¥ããŸãã
æå®ãããåŒãç¡å¹ãªå ŽåãçŸåšã®å€ã«ä¿æãããŸãã
ãããªã«äŸµé£å¹æãé©çšããŸãã
ãã®ãã£ã«ã¿ãŒã¯ããã¯ã»ã«ã ããŒã«ã«ïŒ3x3ïŒæå°ã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
éŸå€0
éŸå€1
éŸå€2
éŸå€3
åãã¬ãŒã³ã®æ倧å€æŽãå¶éããŸããããã©ã«ãã¯65535ã§ãã0ã®å Žåããã¬ãŒã³ã¯æ®ããŸãã
å€æŽãªãã
座æš
åç §ãããã¯ã»ã«ãæå®ãããã©ã°ã ããã©ã«ãã¯255ã§ããã€ãŸããXNUMXã€ã®ãã¯ã»ã«ãã¹ãŠã
äžå€ã
次ã®ãããªããŒã«ã«3x3座æšããããžã®ãã©ã°ïŒ
1 2 3
4 5
6 7 8
æœåºå¹³é¢
å ¥åãããªã¹ããªãŒã ããå¥ã®ã°ã¬ãŒã¹ã±ãŒã«ãããªã«ã«ã©ãŒãã£ãã«ã³ã³ããŒãã³ããæœåºããŸã
ã¹ããªãŒã ã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãã¬ãŒã³
æœåºããå¹³é¢ãèšå®ããŸãã
å¹³é¢ã«äœ¿çšã§ããå€ã¯æ¬¡ã®ãšããã§ãã
y
u
v
a
r
g
b
å ¥åã§äœ¿çšã§ããªãå¹³é¢ãéžæãããšããšã©ãŒãçºçããŸãã ããã¯ããªããæå³ããŸã
ãyãããuãããvãå¹³é¢ãšåæã«ãrãããgãããbãå¹³é¢ãéžæããããšã¯ã§ããŸããã
äŸ
ã»å ¥åãããªãã¬ãŒã ããèŒåºŠãuãvã«ã©ãŒãã£ã³ãã«ã³ã³ããŒãã³ãã3ã€ã®ã°ã¬ãŒã¹ã±ãŒã«ã«æœåºããŸã
åºåïŒ
ffmpeg -i video.avi -filter_complex'extractplanes = y + u + v [y] [u] [v]' -map'[y]' y.avi -map'[u]' u.avi -map'[ v]'v.avi
ãšã«ãã°
ELBGïŒEnhanced LBGïŒã¢ã«ãŽãªãºã ã䜿çšããŠãã¹ã¿ã©ã€ãºå¹æãé©çšããŸãã
åå ¥åç»åã«ã€ããŠããã£ã«ã¿ãŒã¯å ¥åãã
ã³ãŒãããã¯ã®é·ããã€ãŸãåå¥ã®åºåè²ã®æ°ãæå®ããŠåºåããŸãã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
codebook_lengthã l
ã³ãŒãããã¯ã®é·ããèšå®ããŸãã å€ã¯æ£ã®æŽæ°ã§ããå¿ èŠããããæ°å€ãè¡šããŸã
æ確ãªåºåè²ã®ã ããã©ã«ãå€ã¯256ã§ãã
nb_stepsã n
æé©ãªãããã³ã°ãèšç®ããããã«é©çšããå埩ã®æ倧æ°ãèšå®ããŸãã ã¶
å€ãé«ãã»ã©ãçµæãè¯ããªããèšç®æéãé·ããªããŸãã ããã©ã«ã
å€ã¯1ã§ãã
ã·ãŒãã s
ã©ã³ãã ã·ãŒããèšå®ããŸãã0ããUINT32_MAXãŸã§ã®æŽæ°ã§ããå¿ èŠããããŸãã ããã§ãªãå Žå
æå®ãããŠããããæ瀺çã«-1ã«èšå®ãããŠããå Žåããã£ã«ã¿ãŒã¯é©åãªã©ã³ãã ã·ãŒãã䜿çšããããšããŸã
ãã¹ããšãã©ãŒãããŒã¹ã§ã
pal8
pal8åºåãã¯ã»ã«ãã©ãŒããããèšå®ããŸãã ãã®ãªãã·ã§ã³ã¯ãã³ãŒãããã¯ã®é·ããé·ãå Žåã¯æ©èœããŸãã
256ããã
ãã§ãŒã
å ¥åãããªã«ãã§ãŒãã€ã³/ãã§ãŒãã¢ãŠãå¹æãé©çšããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ã¿ã€ãã t
ãšãã§ã¯ãã¿ã€ãã¯ããã§ãŒãã€ã³ã®å Žåã¯ãã€ã³ãããã§ãŒãã¢ãŠããšãã§ã¯ãã®å Žåã¯ãã¢ãŠããã®ããããã«ãªããŸãã
ããã©ã«ãã¯ãinãã§ãã
start_frameã s
ãã§ãŒãå¹æã®é©çšãéå§ãããã¬ãŒã ã®çªå·ãæå®ããŸãã ããã©ã«ãã¯0ã§ãã
nb_framesã n
ãã§ãŒãå¹æãæç¶ãããã¬ãŒã æ°ã ãã§ãŒãã€ã³å¹æã®çµäºæã«ã
åºåãããªã¯ãå ¥åãããªãšåã匷床ã«ãªããŸãã ãã§ãŒãã®çµããã«-
ãã©ã³ãžã·ã§ã³ãçµäºãããšãåºåãããªã¯éžæãããã®ã§åããããŸã ã«ã©ãŒã ããã©ã«ãã¯
25.
ã¢ã«ãã¡
1ã«èšå®ãããšãå ¥åã«ã¢ã«ãã¡ãã£ã³ãã«ãååšããå Žåã¯ãã¢ã«ãã¡ãã£ã³ãã«ã®ã¿ããã§ãŒãããŸãã ããã©ã«ãå€ã¯0ã§ãã
å§ãŸãæéã st
ãã§ãŒãå¹æã®é©çšãéå§ãããã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ãïŒç§åäœïŒãæå®ããŸãã ããã
start_frameãšstart_timeã®äž¡æ¹ãæå®ãããŠããå Žåããã§ãŒãã¯ã©ã¡ãããæ¥ããšãã«éå§ãããŸã
éå»ã ããã©ã«ãã¯0ã§ãã
ãã¥ã¬ãŒã·ã§ã³ã d
ãã§ãŒãå¹æãæç¶ããªããã°ãªããªãç§æ°ã ãã§ãŒãã€ã³ã®çµäºæ
å¹æåºåãããªã¯ãæåŸã«å ¥åãããªãšåã匷床ã«ãªããŸã
ãã§ãŒãã¢ãŠããã©ã³ãžã·ã§ã³åºåãããªã¯ãéžæãããã®ã§åããããŸã ã«ã©ãŒã å Žå
durationãšnb_framesã®äž¡æ¹ãæå®ãããdurationã䜿çšãããŸãã ããã©ã«ãã¯0ïŒnb_frames
ããã©ã«ãã§äœ¿çšãããŸãïŒã
è²ã c
ãã§ãŒãã®è²ãæå®ããŸãã ããã©ã«ãã¯ãé»ãã§ãã
äŸ
ã»ãããªã®æåã®30ãã¬ãŒã ã§ãã§ãŒãã€ã³ããŸãã
ãã§ãŒã=ã€ã³ïŒ0ïŒ30
äžèšã®ã³ãã³ãã¯æ¬¡ãšåçã§ãã
ãã§ãŒã=t= inïŒs = 0ïŒn = 30
ã»45ãã¬ãŒã ãããªã®æåŸã®200ãã¬ãŒã ããã§ãŒãã¢ãŠãããŸãã
ãã§ãŒã=ã¢ãŠãïŒ155ïŒ45
decode = type = outïŒstart_frame = 155ïŒnb_frames = 45
ã»25ãã¬ãŒã ãããªã®æåã®25ãã¬ãŒã ããã§ãŒãã€ã³ããæåŸã®1000ãã¬ãŒã ããã§ãŒãã¢ãŠãããŸãã
ãã§ãŒã=ã€ã³ïŒ0ïŒ25ããã§ãŒã=ã¢ãŠãïŒ975ïŒ25
ã»æåã®5ãã¬ãŒã ãé»è²ã«ããŠããããã¬ãŒã 5ã24ãããã§ãŒãã€ã³ããŸãã
ãã§ãŒã=inïŒ5ïŒ20ïŒcolor = yellow
ã»ãããªã®æåã®25ãã¬ãŒã ã§ã¢ã«ãã¡ã§ãã§ãŒãã€ã³ããŸãã
ãã§ãŒã=inïŒ0ïŒ25ïŒalpha = 1
ã»æåã®5.5ç§éãé»ã«ããŠããã0.5ç§éãã§ãŒãã€ã³ããŸãã
ãã§ãŒã=t= inïŒst = 5.5ïŒd = 0.5
fftfilt
åšæ³¢æ°é åã®ãµã³ãã«ã«ä»»æã®åŒãé©çšãã
dc_Y
ç»åã®èŒåºŠé¢ã®DCå€ïŒã²ã€ã³ïŒã調æŽããŸãã ãã£ã«ã¿ã¯ã
0ã1000ã®ç¯å²ã®æŽæ°å€ãããã©ã«ãå€ã¯0ã«èšå®ãããŠããŸãã
dc_U
ç»åã®1çªç®ã®ã¯ããå¹³é¢ã®DCå€ïŒã²ã€ã³ïŒã調æŽããŸãã ãã£ã«ã¿ã¯ã
0ã1000ã®ç¯å²ã®æŽæ°å€ãããã©ã«ãå€ã¯0ã«èšå®ãããŠããŸãã
dc_V
ç»åã®2çªç®ã®ã¯ããå¹³é¢ã®DCå€ïŒã²ã€ã³ïŒã調æŽããŸãã ãã£ã«ã¿ã¯ã
0ã1000ã®ç¯å²ã®æŽæ°å€ãããã©ã«ãå€ã¯0ã«èšå®ãããŠããŸãã
éé_Y
èŒåºŠå¹³é¢ã®åšæ³¢æ°é åã®éã¿åŒãèšå®ããŸãã
äœé_U
1çªç®ã®ã¯ããå¹³é¢ã®åšæ³¢æ°é åã®éã¿åŒãèšå®ããŸãã
éé_V
2çªç®ã®ã¯ããå¹³é¢ã®åšæ³¢æ°é åã®éã¿åŒãèšå®ããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®å€æ°ãåãå ¥ããŸãã
X
Y çŸåšã®ãµã³ãã«ã®åº§æšã
W
H ç»åã®å¹ ãšé«ãã
äŸ
ã» ãã€ãã¹ïŒ
fftfilt = dc_Y = 128ïŒweight_Y ='squishïŒ1-ïŒY + XïŒ/ 100ïŒ'
ã» ããŒãã¹ïŒ
fftfilt = dc_Y = 0ïŒweight_Y ='squishïŒïŒY + XïŒ/ 100-1ïŒ'
ã»ç ããŸãïŒ
fftfilt = dc_Y = 0ïŒweight_Y = '1 + squishïŒ1-ïŒY + XïŒ/ 100ïŒ'
ãã£ãŒã«ã
ç¡é§ãé¿ããããã«ã¹ãã©ã€ãæŒç®ã䜿çšããŠãã€ã³ã¿ãŒã¬ãŒã¹ç»åããåäžã®ãã£ãŒã«ããæœåºããŸã
CPUæéã åºåãã¬ãŒã ã¯éã€ã³ã¿ãŒã¬ãŒã¹ãšããŠããŒã¯ãããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
type
äžéšïŒå€ã0ãŸãã¯ãtopãã®å ŽåïŒãŸãã¯äžéšãã£ãŒã«ãã®ã©ã¡ããæœåºããããæå®ããŸã
ïŒå€ã1ãŸãã¯ãäžãã®å ŽåïŒã
ãã£ãŒã«ãããã
éãã¬ã·ãçšã®ãã£ãŒã«ãæŽåãã£ã«ã¿ãŒã ããã°ã¬ãã·ããåæ§ç¯ããããã®ãã®ã§ã
ãã¬ã·ããããã¹ããªãŒã ããã®ãã¬ãŒã ã ãã£ã«ã¿ã¯éè€ãããã¬ãŒã ãããããããªãããã
å®å šãªéãã¬ã·ãããã£ãŒã«ãããããã®åŸã«ã¯ã次ã®ãããªãã·ã¡ãŒã·ã§ã³ãã£ã«ã¿ãŒãç¶ãå¿ èŠããããŸãã
as éåŒ ãã£ã«ã¿ã°ã©ãã§ã
ãã£ãŒã«ããããã³ã°ãšãã·ã¡ãŒã·ã§ã³ã®åé¢ã¯ãç¹ã«
XNUMXã€ã®éã«ã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãã£ã«ã¿ãŒãã©ãŒã«ããã¯ãæ¿å ¥ããå¯èœæ§ã ãœãŒã¹ã®å Žå
ãã¬ã·ããšå®éã®ã€ã³ã¿ãŒã¬ãŒã¹ã³ã³ãã³ããæ··åšããŠããããããfieldmatchãã¯äžèŽããŸãã
ã€ã³ã¿ãŒã¬ãŒã¹ããŒãã®ãã£ãŒã«ãã ãã ãããããã®æ®ãã®ã³ãŒããã¬ãŒã ã¯æ¬¡ã®ããã«ããŒã¯ãããŸã
ã€ã³ã¿ãŒã¬ãŒã¹ãããŠããããã次ã®ãããªåŸã®ãã£ã«ã¿ãŒã§ã€ã³ã¿ãŒã¬ãŒã¹ã解é€ã§ããŸãã ã€ãã£ã
ãã·ã¡ãŒã·ã§ã³ã
ããŸããŸãªæ§æãªãã·ã§ã³ã«å ããŠããfieldmatchãã¯ãªãã·ã§ã³ã§XNUMXç§ãããå ŽåããããŸã
ã¹ããªãŒã ããéããŠã¢ã¯ãã£ãå ppsrc ãªãã·ã§ã³ã æå¹ã«ãããšããã¬ãŒã ã®åæ§ç¯ã¯æ¬¡ã®ããã«ãªããŸã
ãã®XNUMXçªç®ã®ã¹ããªãŒã ã®ãã£ãŒã«ããšãã¬ãŒã ã«åºã¥ããŠããŸãã ããã«ãããæåã®å ¥åã
ãã£ã«ã¿ã®ããŸããŸãªã¢ã«ãŽãªãºã ãæ¯æŽããããã«ååŠçããã
ãã¹ã¬ã¹åºåïŒãã£ãŒã«ããé©åã«äžèŽããŠãããšä»®å®ïŒã éåžžããã£ãŒã«ã察å¿
ããã€ã¶ãŒããŸãã¯æãã/ã³ã³ãã©ã¹ãã®èª¿æŽã圹ç«ã¡ãŸãã
ãã®ãã£ã«ã¿ãŒã¯ãTIVTC / TFMïŒAviSynthãããžã§ã¯ãïŒããã³
VIVTC / VFMïŒVapourSynthãããžã§ã¯ãïŒã åŸè ã¯TFMã®ã©ã€ãã¯ããŒã³ã§ãããããããããã£ãŒã«ããããããè¡ãããŸãã
ã«åºã¥ããŠããŸãã ã»ãã³ãã£ã¯ã¹ãšäœ¿çšæ³ã¯éåžžã«è¿ãã§ãããäžéšã®åäœãšãªãã·ã§ã³ã®åå
ç°ãªãå ŽåããããŸãã
ãã® éåŒ ãã£ã«ã¿ã¯çŸåšãäžå®ã®ãã¬ãŒã ã¬ãŒãå ¥åã«å¯ŸããŠã®ã¿æ©èœããŸãã å ¥åã«
ãã¬ã·ãïŒ30fpsïŒãšããã°ã¬ãã·ãã³ã³ãã³ããæ··åšãããã¬ãŒã ã¬ãŒãã24fpsã®ããã«äœãå Žåã¯
次ã®ãã£ã«ã¿ãŒãã§ãŒã³ã䜿çšããŠãå¿ èŠãªcfrã¹ããªãŒã ãçæããŸãã
"dejudderãfps = 30000/1001ãfieldmatchãdecimate"ã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
泚æ
å ¥åã¹ããªãŒã ã®æ³å®ããããã£ãŒã«ãé åºãæå®ããŸãã 䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ãªãŒã
ããªãã£ãèªåæ€åºããŸãïŒFFmpegã®å éšããªãã£å€ã䜿çšããŸãïŒã
BFF æåã«äžéšãã£ãŒã«ããæ³å®ããŸãã
tff æåã«ããããã£ãŒã«ããæ³å®ããŸãã
ã¹ããªãŒã ã«ãã£ãŠã¢ããŠã³ã¹ãããããªãã£ãä¿¡é Œããªãããšãæšå¥šãããå Žåãããããšã«æ³šæããŠãã ããã
ããã©ã«ãå€ã¯ ãªãŒã.
ã¢ãŒã
䜿çšãããããã³ã°ã¢ãŒããŸãã¯æŠç¥ãèšå®ããŸãã pc ã¢ãŒãã¯ãããšããæå³ã§æãå®å šã§ã
å¯èœã§ããã°ããã¬ãŒã ãéè€ããŠããããã«ãžã£ãŒããã¹ãçºçãããªã¹ã¯ã¯ãããŸãããã
æªãç·šéããã¬ã³ãããããã£ãŒã«ãã¯ãè¯ãäžèŽã®ãšãã«ã³ãŒããã¬ãŒã ãåºåããããšã«ãªããŸã
å®éã«ååšããå¯èœæ§ããããŸãã äžæ¹ã§ã pcn_ub ã¢ãŒãã¯ã次ã®ç¹ã§æãå±éºã§ã
ãããããããæããããŸããããã¬ãŒã ãããã°ã»ãšãã©ã®å Žåè¯ããã¬ãŒã ãèŠã€ãããŸãã ã¶
ä»ã®å€ã¯ãã¹ãŠãã®äžéã«ãããŸã pc ãš pcn_ub ãžã£ãŒããã¹ã®ãªã¹ã¯ã«é¢ããŠ
éè€ãããã¬ãŒã ãäœæããã®ã§ã¯ãªããç·šéãäžé©åãªã»ã¯ã·ã§ã³ã§é©åãªäžèŽãèŠã€ããããšã¯ã§ããŸããã
å€ç«ãããã£ãŒã«ããæ··åãã£ãŒã«ããªã©ã
p / c / n / u / bã®è©³çŽ°ã«ã€ããŠã¯ã次ã®URLãåç §ããŠãã ããã p / c / n / u / b æå³ ã®ã»ã¯ã·ã§ã³ããç¡æã§ããŠã³ããŒãã§ããŸãã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
pc 2ãŠã§ã€ãããã³ã°ïŒp / cïŒ
pc_n
2ãŠã§ã€ãããã³ã°ãããã³ãŸã ã³ãŒãã³ã°ãããŠããå Žåã¯3çªç®ã®ããããè©Šè¡ããŸãïŒp / c + nïŒ
pc_u
2ãŠã§ã€ãããã³ã°ãããã³ãŸã ã³ãŒãã³ã°ãããŠããå Žåã¯3çªç®ã®ãããïŒåãé åºïŒãè©Šè¡ããŸãïŒp / c + uïŒ
pc_n_ub
2ãŠã§ã€ãããã³ã°ããŸã ã³ãŒãã³ã°ãããŠããå Žåã¯3çªç®ã®ããããè©Šè¡ãã4/5çªç®ã®ããããè©Šè¡ããå Žå
ãŸã ã³ãŒãã³ã°ïŒp / c + n + u / bïŒ
pcn 3æ¹åãããã³ã°ïŒp / c / nïŒ
pcn_ub
3ãŠã§ã€ãããã³ã°ãããã³å ã®ãããã®4ã€ãã¹ãŠã
ã³ãŒããšããŠæ€åºïŒp / c / n + u / bïŒ
æåŸã®æ¬åŒ§ã¯ããã®ã¢ãŒãã«äœ¿çšãããäžèŽã瀺ããŸã
åæ 泚æ=tff ïŒãš ãã£ãŒã«ã on ãªãŒã or top).
ã¹ããŒãã®é¢ã§ pc ã¢ãŒãã¯æç¶æéã§ã pcn_ub æãé ãã§ãã
ããã©ã«ãå€ã¯ pc_n.
ppsrc
ã¡ã€ã³å ¥åã¹ããªãŒã ãååŠçæžã¿å ¥åãšããŠããŒã¯ããã»ã«ã³ããªå ¥åãæå¹ã«ããŸã
ãã£ãŒã«ããéžæããããã®ã¯ãªãŒã³ãªãœãŒã¹ãšããŠã¹ããªãŒã ããŸãã ã®ãã£ã«ã¿ãŒã®çŽ¹ä»ãåç §ããŠãã ãã
詳现ã ããã¯ã«äŒŒãŠããŸã clip2 VFM/TFMã®æ©èœã
ããã©ã«ãå€ã¯0ïŒç¡å¹ïŒã§ãã
ãã£ãŒã«ã
äžèŽãããã£ãŒã«ããèšå®ããŸãã ããããšåãå€ã«èšå®ããããšããå§ãããŸã 泚æ
ãã®èšå®ãšã®ãããã³ã°ã®å€±æãçºçããªãéãã ç¹å®ã®ç¶æ³ã§ã¯
ãããã³ã°ã«äœ¿çšããããã£ãŒã«ããå€æŽãããšããããã³ã°ã«å€§ããªåœ±é¿ãäžããå¯èœæ§ããããŸã
ããã©ãŒãã³ã¹ã 䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ãªãŒã
èªåïŒãšåãå€ æ³šæ).
ããã
äžã®ãã£ãŒã«ãããäžèŽããŸãã
top ããããã£ãŒã«ãããäžèŽããŸãã
ããã©ã«ãå€ã¯ ãªãŒã.
ãã¯ãã
äžèŽæ¯èŒäžã«åœ©åºŠãå«ãããã©ãããèšå®ããŸãã ã»ãšãã©ã®å Žåãã
ãããæå¹ã®ãŸãŸã«ããŠããããšããå§ãããŸãã ã¯ãªããã«ãå«ãŸããŠããå Žåã«ã®ã¿ãããã0ã«èšå®ããå¿ èŠããããŸã
éãã¬ã€ã³ããŒããã®ä»ã®ã¢ãŒãã£ãã¡ã¯ããªã©ã®æªãã³ããã®åé¡ã ããã0ã«èšå®ãã
ããçšåºŠã®ç²ŸåºŠãç ç²ã«ããŠç©äºãã¹ããŒãã¢ããããããã«äœ¿çšããããšãã§ããŸãã
ããã©ã«ãå€ã¯1ã§ãã
y0
y1 ãããã¯ãéã®ç·ãé€å€ããé€å€ãã³ããå®çŸ©ããŸã y0 ãš y1 ãã
ãã£ãŒã«ããããã³ã°ã®æ±ºå®ã«å«ãŸããŸãã é€å€ãã³ãã䜿çšããŠç¡èŠã§ããŸã
åå¹ãããŽããŸãã¯ãããã³ã°ã劚ããå¯èœæ§ã®ãããã®ä»ã®ãã®ã y0 ãèšå®ããŸã
ã¹ãã£ã³ã©ã€ã³ã®éå§ãš y1 çµäºè¡ãèšå®ããŸãã éã®ãã¹ãŠã®è¡ y0 ãš y1
ïŒå«ã y0 ãš y1ïŒã¯ç¡èŠãããŸãã èšå® y0 ãš y1 åãå€ã«
æ©èœãç¡å¹ã«ããŸãã y0 ãš y1 ããã©ã«ãã¯0ã§ãã
ã¹ã¹ã¬ãã·ã¥
ã·ãŒã³å€åæ€åºãããå€ããèŒåºŠã®æ倧å€åã®ããŒã»ã³ããŒãžãšããŠèšå®ããŸã
é£è¡æ©ã é©åãªå€ã¯ã[8.0]ãã®ç¯å²ã§ãã ã·ãŒã³ãã§ã³ãžæ€ç¥ã®ã¿
å Žåã«é¢é£ ã³ã ããã=scã ã®ç¯å² ã¹ã¹ã¬ãã·ã¥ ã¯ã[0.0]ãã§ãã
ããã©ã«ãå€ã¯12.0ã§ãã
ã³ã ããã
æ¥æ ã³ã³ããã ã§ã¯ãããŸãã ãªãããfieldmatchãã¯ã
æçµäžèŽãšããŠäœ¿çšããäžèŽã決å®ãããšãã«äžèŽããŸãã 䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ãªã
ã³ãŒãã³ã°ãããã¹ã³ã¢ã«åºã¥ãæçµçãªãããã³ã°ã¯ãããŸããã
sc ã³ãŒãã³ã°ã¹ã³ã¢ã¯ãã·ãŒã³ã®å€æŽãæ€åºãããå Žåã«ã®ã¿äœ¿çšãããŸãã
ãã«
åžžã«ã³ãŒã ã¹ã³ã¢ã䜿çšããŸãã
ããã©ã«ã㯠sc.
ãã
ãfieldmatchãã匷å¶ããŠãç¹å®ã®äžèŽã®ã³ãŒãã³ã°ãããã¡ããªãã¯ãèšç®ããããããåºåããŸãã
ãã®èšå®ã¯ã ãã€ã¯ã¢ãŠã TFM/VFMèªåœã§ã 䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ãªã
匷å¶èšç®ã¯ãããŸããã
pcn p / c/nèšç®ã匷å¶ããŸãã
PCãã
p / c / n / u/bã®èšç®ã匷å¶ããŸãã
ããã©ã«ãå€ã¯ ãªã.
ã¯ã¬ã·ã¥
ããã¯ãã³ãŒãã³ã°ããããã¬ãŒã ã®æ€åºã«äœ¿çšããããšãªã¢ã³ãŒãã³ã°ã®ãããå€ã§ãã ããã¯æ¬è³ªçã«
ã匷åãªããŸãã¯ãç®ã«èŠãããã³ãŒãã³ã°ãæ€åºããæ¹æ³ãå¶åŸ¡ããŸãã å€ã倧ãããšããããšã¯
ã³ãŒãã³ã°ã¯ããç®ç«ã€å¿ èŠããããå€ãå°ããã»ã©ã³ãŒãã³ã°ãç®ç«ããªããªãå¯èœæ§ããããŸãã
匷åã§ããããŸã æ€åºãããŠããŸãã æå¹ãªèšå®ã¯ã-1ãããã§ãïŒãã¹ãŠã®ãã¯ã»ã«ã¯
ã³ãŒãã³ã°ãšããŠæ€åºïŒãã255ïŒãã¯ã»ã«ã¯ã³ãŒãã³ã°ãšããŠæ€åºãããŸããïŒã ããã¯åºæ¬çã«
ãã¯ã»ã«å·®ã®å€ã é©åãªç¯å²ã¯ã[8]ãã§ãã
ããã©ã«ãå€ã¯9ã§ãã
圩床
ã³ãŒããã¬ãŒã 決å®ã§åœ©åºŠãèæ ®ãããã©ãããèšå®ããŸãã ç¡å¹ã«ããã ã
ããã¯ããœãŒã¹ã«åé¡ãåŒãèµ·ãããŠããã¯ããã®åé¡ïŒã¬ã€ã³ããŒãªã©ïŒãããå Žåã§ãã
ã¯ãããæå¹ã«ããã³ãŒããã¬ãŒã æ€åºçšã å®ã¯ 圩床=0 is
ã¯ãããã³ãŒãã³ã°ã®ã¿ã§ããå Žåãé€ããŠãéåžžã¯ããä¿¡é Œæ§ããããŸã
ãœãŒã¹ã
ããã©ã«ãå€ã¯0ã§ãã
ãããã¯x
æ¿æ·¡ã®ããããã
ã³ãŒããã¬ãŒã äžã«äœ¿çšããããŠã£ã³ããŠã®x軞ãšy軞ã®ãµã€ãºãããããèšå®ããŸã
æ€åºã ããã¯ãé åã®ãµã€ãºãšé¢ä¿ããããŸã ã³ã³ãã« ãã¯ã»ã«ã¯
ãã¬ãŒã ãã³ãŒãã³ã°ããããšå®£èšãããããã«ã¯ãã³ãŒãã³ã°ããããã®ãšããŠæ€åºãããå¿ èŠããããŸãã ãåç §ããŠãã ãã ã³ã³ãã«
詳现ã«ã€ããŠã¯ããã©ã¡ãŒã¿ã®èª¬æã å¯èœãªå€ã¯ã环ä¹ã§ããä»»æã®æ°å€ã§ãã
2ããå§ãŸã4ãŸã§ã®512ã®ã
ããã©ã«ãå€ã¯16ã§ãã
ã³ã³ãã«
ããããã®å éšã®ã³ãŒãã³ã°ããããã¯ã»ã«ã®æ° æ¿æ·¡ã®ããããã by ãããã¯x äžã®ãµã€ãºã®ãããã¯
ã³ãŒãã³ã°ãšããŠæ€åºããããã¬ãŒã ã®ãã¬ãŒã ã ãã®é ã¯ã¬ã·ã¥ ã©ã®ããã«ãèŠãããããå¶åŸ¡ããŸã
ã³ãŒãã³ã°ã¯å¿ é ã§ãããã®èšå®ã¯ãã©ã®ã³ãŒãã³ã°ãååšããå¿ èŠãããããå¶åŸ¡ããŸãã
ããŒã«ã©ã€ãºãããé åïŒã«ãã£ãŠå®çŸ©ããããŠã£ã³ã㊠ãããã¯x ãš æ¿æ·¡ã®ããããã èšå®ïŒãã¬ãŒã ã«ã
æå°å€ã¯0ãæ倧å€ã¯ãblocky xblockxãã§ãïŒãã®æç¹ã§ã¯ãã¬ãŒã ã¯ãããŸãã
ã³ãŒãã³ã°ãšããŠæ€åºãããããšã¯ãããŸããïŒã ãã®èšå®ã¯ã MI TFM/VFMèªåœã§ã
ããã©ã«ãå€ã¯80ã§ãã
p / c / n / u / b æå³
p / c / n
次ã®ãã¬ã·ãã¹ããªãŒã ãæ³å®ããŠããŸãã
ããããã£ãŒã«ãïŒ1 2 2 3 4
äžéšãã£ãŒã«ãïŒ1 2 3 4 4
çªå·ã¯ããã£ãŒã«ããé¢é£ããããã°ã¬ãã·ããã¬ãŒã ã«å¯Ÿå¿ããŠããŸãã ããã§ãæåã®XNUMXã€
ãã¬ãŒã ã¯ããã°ã¬ãã·ãã§ã3çªç®ãš4çªç®ã¯ã³ãŒãã³ã°ãããŸãã
ãfieldmatchããäžãããããã³ã°ãå®è¡ããããã«æ§æãããŠããå ŽåïŒãã£ãŒã«ã=ããã ïŒ ãããã£ãŠ
ãã®å ¥åã¹ããªãŒã ã¯å€æãããŸãïŒ
å ¥åã¹ããªãŒã ïŒ
ã 1 2 2 3 4
B 1 2 3 4<-ãããã³ã°ãªãã¡ã¬ã³ã¹
äžèŽïŒccnnc
åºåã¹ããªãŒã ïŒ
ã 1 2 3 4 4
ä¹ 1 2 3 4 4
ãã£ãŒã«ããããã³ã°ã®çµæãäžéšã®ãã¬ãŒã ãéè€ããŠããããšãããããŸãã å®è¡ããã«ã¯
å®å šãªéãã¬ã·ãã®å Žåããã®æäœã®åŸã¯ãã·ã¡ãŒã·ã§ã³ãã£ã«ã¿ãŒã«äŸåããå¿ èŠããããŸãã
ããšãã°ã éåŒ ãã£ã«ã¿ã
åãæäœãããããã£ãŒã«ãããäžèŽããããã«ãªããŸããïŒãã£ãŒã«ã=topïŒã¯æ¬¡ã®ããã«ãªããŸãã
å ¥åã¹ããªãŒã ïŒ
T 1 2 2 3<-ãããã³ã°ãªãã¡ã¬ã³ã¹
ä¹ 1 2 3 4 4
äžèŽïŒccppc
åºåã¹ããªãŒã ïŒ
ã 1 2 2 3 4
ä¹ 1 2 2 3 4
ãããã®äŸã§ã¯ãäœãèŠãããšãã§ããŸã p, c ãš n å¹³å; åºæ¬çã«ããããã¯ãã¬ãŒã ãåç §ãã
å察ã®ããªãã£ã®ãã£ãŒã«ãïŒ
*<p åã®ãã¬ãŒã ã®å察ã®ããªãã£ã®ãã£ãŒã«ãã«äžèŽããŸã>
*<c çŸåšã®ãã¬ãŒã ã®å察ã®ããªãã£ã®ãã£ãŒã«ãã«äžèŽããŸã>
*<n 次ã®ãã¬ãŒã ã®å察ã®ããªãã£ã®ãã£ãŒã«ãã«äžèŽããŸã>
u / b
ãã® u ãš b ãããã³ã°ã¯ãå察åŽãããããã³ã°ãããšããæå³ã§å°ãç¹å¥ã§ã
ããªãã£ãã©ã°ã 次ã®äŸã§ã¯ãçŸåš2çªç®ã«äžèŽããŠãããšæ³å®ããŠããŸãã
ãã¬ãŒã ïŒäžïŒ2ãäžïŒ2ïŒã è©Šåã«ãããšããxãã¯ããããã®äžäžã«é 眮ãããŸã
äžèŽãããã£ãŒã«ãã
ããã ãããã³ã°ä»ãïŒãã£ãŒã«ã=ããã ):
äžèŽïŒcpnbu
xxxxx
ããã1 2 2 1 2 2 1 2 2 1 2 2 1
äžéš1 2 3 1 2 3 1 2 3 1 2 3 1
xxxxx
åºåãã¬ãŒã ïŒ
2 1 2 2 2
2 2 2 1 3
ããããããã³ã°ä»ãïŒãã£ãŒã«ã=top):
äžèŽïŒcpnbu
xxxxx
ããã1 2 2 1 2 2 1 2 2 1 2 2 1
äžéš1 2 3 1 2 3 1 2 3 1 2 3 1
xxxxx
åºåãã¬ãŒã ïŒ
2 2 2 1 2
2 1 3 2 2
äŸ
ããããã£ãŒã«ãã®æåã®ãã¬ã·ãã¹ããªãŒã ã®åçŽãªIVTCïŒ
fieldmatch = order = tffïŒcombmatch = noneãéåŒã
ãã©ãŒã«ããã¯ããªã³ã«ããé«åºŠãªIVTC ã€ãã£ã ãŸã ã³ãŒãã³ã°ãããŠãããã¬ãŒã ã®å ŽåïŒ
fieldmatch = order = tffïŒcombmatch = fullãyadif = deint = interlacedãdecimate
ãã£ãŒã«ããªãŒããŒ
å ¥åãããªã®ãã£ãŒã«ãé åºãå€æããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
泚æ
åºåãã£ãŒã«ãã®é åºã æå¹ãªå€ã¯æ¬¡ã®ãšããã§ã tff æåã®ããããã£ãŒã«ããŸã㯠BFF äžçš
æåã«ãã£ãŒã«ãã
ããã©ã«ãå€ã¯ tff.
å€æã¯ãç»åã³ã³ãã³ããXNUMXè¡äžãŸãã¯äžã«ã·ããããããšã«ãã£ãŠè¡ãããŸãã
æ®ãã®è¡ãé©åãªç»åã³ã³ãã³ãã§åããŸãã ãã®æ¹æ³ã¯äžè²«ããŠããŸã
ã»ãšãã©ã®æŸéãã£ãŒã«ããªãŒããŒã³ã³ããŒã¿ãŒã§ã
å ¥åãããªãã€ã³ã¿ãŒã¬ãŒã¹ãšããŠãã©ã°ãç«ãŠãããŠããªãå ŽåããŸãã¯ãã§ã«ã€ã³ã¿ãŒã¬ãŒã¹ãšããŠãã©ã°ãç«ãŠãããŠããå Žå
å¿ èŠãªåºåãã£ãŒã«ãã®é åºã®å Žåããã®ãã£ã«ã¿ãŒã¯çä¿¡ãããªãå€æŽããŸããã
ããã ãã£ãŒã«ããæåã§ããPALDVãããªã¢ã«ãšã®éã§å€æããå Žåã«éåžžã«äŸ¿å©ã§ãã
äŸïŒ
ffmpeg -i in.vob -vf "fieldorder = bff" out.dv
FIFO
å ¥åç»åããããã¡ãªã³ã°ããèŠæ±ããããšãã«éä¿¡ããŸãã
ããã¯äž»ã«ãlibavfilterãã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠèªåæ¿å ¥ãããå Žåã«åœ¹ç«ã¡ãŸãã
ãã©ã¡ãŒã¿ãåããŸããã
find_rect
é·æ¹åœ¢ã®ãªããžã§ã¯ããæ¢ã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãªããžã§ã¯ã
ãªããžã§ã¯ãç»åã®ãã¡ã€ã«ãã¹ã¯ãgray8ã§ããå¿ èŠããããŸãã
ãããå€
æ€åºãããå€ãããã©ã«ãã¯0.5ã§ãã
ãããããã
ããããããã®æ°ãããã©ã«ãã¯3ã§ãã
xminã yminã xmaxã ã¯ã€ããã¯ã¹
æ€çŽ¢ããé·æ¹åœ¢ãæå®ããŸãã
äŸ
ã»ã䜿çšããŠãç¹å®ã®ãããªã®ä»£è¡šçãªãã¬ãããçæããŸã ffmpeg:
ffmpeg -i file.ts -vf find_rect = newref.pgmãcover_rect = cover.jpgïŒmode = cover new.mkv
ã«ããŒã¬ã¯ã
é·æ¹åœ¢ã®ãªããžã§ã¯ããã«ããŒããŸã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã«ããŒ
ãªãã·ã§ã³ã®è¡šçŽç»åã®ãã¡ã€ã«ãã¹ã¯ãyuv420ã§ããå¿ èŠããããŸãã
ã¢ãŒã
ã«ããŒã¢ãŒããèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
ã«ããŒ
æäŸãããç»åã§ã«ããŒããŸã
ãã©ãŒ
åšå²ã®ãã¯ã»ã«ãè£éããŠã«ããŒããŸã
ããã©ã«ãå€ã¯ ãã©ãŒ.
äŸ
ã»ã䜿çšããŠãç¹å®ã®ãããªã®ä»£è¡šçãªãã¬ãããçæããŸã ffmpeg:
ffmpeg -i file.ts -vf find_rect = newref.pgmãcover_rect = cover.jpgïŒmode = cover new.mkv
圢åŒã§ã¢ãŒã«ã€ããããããžã§ã¯ããä¿åããŸãïŒ
å ¥åãããªãæå®ããããã¯ã»ã«åœ¢åŒã®XNUMXã€ã«å€æããŸãã Libavfilterã¯ããããšããŸã
次ã®ãã£ã«ã¿ãŒãžã®å ¥åãšããŠé©åãªãã®ãéžæããŠãã ããã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
pix_fmts
ãpix_fmts=yuv420p | monow | rgb24ããªã©ããã¯ã»ã«åœ¢åŒåã®ã|ãã§åºåããããªã¹ãã
äŸ
ã»å ¥åãããªãã«å€æããŸã yuv420p 圢åŒã§ã¢ãŒã«ã€ããããããžã§ã¯ããä¿åããŸãïŒ
format = pix_fmts = yuv420p
å ¥åãããªããªã¹ãå ã®ä»»æã®åœ¢åŒã«å€æããŸã
format = pix_fmts = yuv420p | yuv444p | yuv410p
FPS
ãã¬ãŒã ãè€è£œãŸãã¯ããããããŠããããªãæå®ãããäžå®ã®ãã¬ãŒã ã¬ãŒãã«å€æããŸãã
å¿ èŠã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
FPS å¿ èŠãªåºåãã¬ãŒã ã¬ãŒãã ããã©ã«ãã¯25ã§ãã
å圢
äžžãæ¹æ³ã
å¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ãŒã
0ã«åãã£ãŠãŒãã©ãŠã³ã
infãã¡ã€ã« 0ããäžžãã
ããŠã³
-ç¡é倧ã«åãã£ãŠäžžãã
up +ç¡é倧ã«åãã£ãŠäžžãã
è¿ã
æãè¿ãå€ã«äžžãã
ããã©ã«ãã¯ãnearãã§ãã
å§ãŸãæé
æåã®PTSã¯ãç§åäœã®æå®ãããå€ã§ããå¿ èŠããããšæ³å®ããŸãã ããã«ããã
ã¹ããªãŒã éå§æã®ããã£ã³ã°/ããªãã³ã°ã ããã©ã«ãã§ã¯ã
æåã®ãã¬ãŒã ã®äºæ³ãããPTSã§ãããããããã£ã³ã°ãããªãã³ã°ã¯è¡ãããŸããã ããšãã°ããã
ãããªã®å Žåãæåã®ãã¬ãŒã ã®è€è£œã§å é ãåããããã«0ã«èšå®ã§ããŸã
ã¹ããªãŒã ã¯ããªãŒãã£ãªã¹ããªãŒã ã®åŸã«éå§ããããè² ã®PTSã§ãã¬ãŒã ãããªãã³ã°ããŸãã
ãŸãã¯ããªãã·ã§ã³ããã©ããæååãšããŠæå®ããããšãã§ããŸãã FPS[:å圢].
åç §ããŠãã ãã ã»ãã ãã£ã«ã¿ã
äŸ
ã»fpsã25ã«èšå®ããããã®äžè¬çãªäœ¿çšæ³ïŒ
fps = fps = 25
ã»fpsã24ã«èšå®ããçç¥åœ¢ãšäžžãæ¹æ³ã䜿çšããŠæãè¿ãå€ã«äžžããŸãã
fps = fps = filmïŒround = near
ãã¬ãŒã ããã¯
XNUMXã€ã®ç°ãªããããªã¹ããªãŒã ãã¹ãã¬ãªã¹ã³ããã¯ãããªã«ããã¯ããé©åãªã¡ã¿ããŒã¿ãèšå®ããŸã
ãµããŒããããŠããã³ãŒããã¯ã XNUMXã€ã®ãã¥ãŒã¯ãåããµã€ãºããã¬ãŒã ã¬ãŒããããã³åŠçã§ããå¿ èŠããããŸã
çããããªãçµäºãããšåæ¢ããŸãã ãã¥ãŒãç°¡åã«èª¿æŽã§ããããšã«æ³šæããŠãã ãã
ãšã®ãããã㣠é段 ãš FPS ãã£ã«ã¿
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
圢åŒã§ã¢ãŒã«ã€ããããããžã§ã¯ããä¿åããŸãïŒ
åžæãã梱å ãã©ãŒãããã ãµããŒããããŠããå€ã¯æ¬¡ã®ãšããã§ãã
SBS ãã¥ãŒã¯é£ãåã£ãŠããŸãïŒããã©ã«ãïŒã
ã¿ã ãã¥ãŒã¯äºãã«éãªãåã£ãŠããŸãã
ã©ã€ã³
ãã¥ãŒã¯è¡ããšã«è©°ã蟌ãŸããŠããŸãã
ã³ã©ã
ãã¥ãŒã¯åããšã«ããã¯ãããŠããŸãã
frameeq
ãã¥ãŒã¯äžæçã«ã€ã³ã¿ãŒãªãŒããããŸãã
ããã€ãã®äŸïŒ
ïŒå·Šå³ã®ãã¥ãŒããã¬ãŒã ã·ãŒã±ã³ã·ã£ã«ãããªã«å€æãã
ffmpeg -i LEFT -i RIGHT -filter_complex framepack = frameseq OUTPUT
ïŒãã¥ãŒãå ¥åãšåãåºå解å床ã®ãµã€ããã€ãµã€ããããªã«å€æããŸã
ffmpeg -i LEFT -i RIGHT -filter_complex [0ïŒv] scale = w = iw / 2 [left]ã[1ïŒv] scale = w = iw / 2 [right]ã[left] [right] framepack = sbsåºå
ãã¬ãŒã ã¬ãŒã
ãœãŒã¹ãã¬ãŒã ããæ°ãããããªåºåãã¬ãŒã ãè£éããŠããã¬ãŒã ã¬ãŒããå€æŽããŸãã
ãã®ãã£ã«ã¿ãŒã¯ãã€ã³ã¿ãŒã¬ãŒã¹ã¡ãã£ã¢ã§æ£ããæ©èœããããã«ã¯èšèšãããŠããŸããã ããªãããããå Žå
ã€ã³ã¿ãŒã¬ãŒã¹ã¡ãã£ã¢ã®ãã¬ãŒã ã¬ãŒããå€æŽãããšããã®åã«ã€ã³ã¿ãŒã¬ãŒã¹ã解é€ããå¿ èŠããããŸã
ãã£ã«ã¿ãŒãããããã®ãã£ã«ã¿ãŒã®åŸã§åã€ã³ã¿ãŒã¬ãŒã¹ããŸãã
åãå ¥ãããããªãã·ã§ã³ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
FPS XNUMXç§ãããã®åºåãã¬ãŒã ãæå®ããŸãã ãã®ãªãã·ã§ã³ã¯å€ãšããŠæå®ããããšãã§ããŸã
50人ã ããã©ã«ãã¯XNUMXã§ãã
interp_start
åºåãã¬ãŒã ãç·åœ¢ãšããŠäœæãããç¯å²ã®éå§ãæå®ããŸã
0ã€ã®ãã¬ãŒã ã®è£éã ç¯å²ã¯[255-15]ã§ãããã©ã«ãã¯XNUMXã§ãã
interp_end
åºåãã¬ãŒã ãç·åœ¢ãšããŠäœæãããç¯å²ã®çµãããæå®ããŸã
0ã€ã®ãã¬ãŒã ã®è£éã ç¯å²ã¯[255-240]ã§ãããã©ã«ãã¯XNUMXã§ãã
ã·ãŒã³
ã·ãŒã³ãã§ã³ãžãæ€åºããã¬ãã«ã0ã100ãXNUMXã®å€ã§æå®ããŠãã ããã
æ°ããã·ãŒã³ã瀺ããŸãã äœãå€ã¯ãçŸåšã®ãã¬ãŒã ã®ç¢ºçãäœãããšãåæ ããŠããŸãã
æ°ããã·ãŒã³ãå°å ¥ããŸãããå€ãé«ãã»ã©ãçŸåšã®ãã¬ãŒã ã
7ã€ã«ãªããŸãã ããã©ã«ãã¯XNUMXã§ãã
ãã©ã°
ãã£ã«ã¿ããã»ã¹ã«åœ±é¿ãäžãããã©ã°ãæå®ããŸãã
å©çšå¯èœãªå€ ãã©ã° 次ã®ãšããã§ãã
scene_change_detectã scd
ãªãã·ã§ã³ã®å€ã䜿çšããŠã·ãŒã³å€æŽæ€åºãæå¹ã«ãã ã·ãŒã³ã ãã®ãã©ã°ã¯
ããã©ã«ãã§æå¹ã«ãªã£ãŠããŸãã
ãã¬ãŒã ã¹ããã
Nçªç®ã®ãã¬ãŒã ããšã«XNUMXã€ã®ãã¬ãŒã ãéžæããŸãã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
æé
ãã¹ãŠã®ãã¹ãããããã¬ãŒã ã®åŸã«ãã¬ãŒã ãéžæããŸãã èš±å¯ãããå€ã¯æ£ã®æŽæ°ã§ã
0ããã倧ãããªããŸããããã©ã«ãå€ã¯1ã§ãã
ãã¬ã€0r
å ¥åãããªã«frei0rå¹æãé©çšããŸãã
ãã®ãã£ã«ã¿ãŒã®ã³ã³ãã€ã«ãæå¹ã«ããã«ã¯ãfrei0rããããŒãã€ã³ã¹ããŒã«ããŠ
ã--enable-frei0rãã§FFmpegãèšå®ããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ãã£ã«ã¿ãŒå
ããŒãããfrei0rãšãã§ã¯ãã®ååã ç°å¢å€æ°ã®å Žå FREI0R_PATH is
å®çŸ©ãããŠããå Žåãfrei0rå¹æã¯ãã«ãã£ãŠæå®ãããåãã£ã¬ã¯ããªã§æ€çŽ¢ãããŸãã
ã³ãã³ã§åºåããããªã¹ã FREIOR_PATHã ãã以å€ã®å Žåãæšæºã®frei0rãã¹ã¯æ¬¡ã®ãšããã§ãã
ãã®é åºã§æ€çŽ¢ïŒ HOME / .frei0r-1 / lib /, / usr / local / lib / frei0r-1 /,
/ usr / lib / frei0r-1 /.
ãã£ã«ã¿ãã©ã¡ãŒã¿
frei0rãšãã§ã¯ãã«æž¡ããã©ã¡ãŒã¿ãŒã®ã|ãã§åºåããããªã¹ãã
frei0rå¹æãã©ã¡ãŒã¿ãŒã¯ãããŒã«å€ïŒå€ã¯ãyããŸãã¯ãnãã®ããããïŒãdoubleãa
è²ïŒãšããŠæå® R/G/Bããã§ã R, G, B 0.0ãšã®éã®æµ®åå°æ°ç¹æ°ã§ã
1.0ãå«ãïŒãŸãã¯ffmpegã®ãè²ãã»ã¯ã·ã§ã³ã§æå®ãããè²ã®èª¬æã«ãã£ãŠ-
utils manualïŒãäœçœ®ïŒãšããŠæå® X/Yããã§ã X ãš Y æµ®åå°æ°ç¹æ°ã§ãïŒ
ããã³/ãŸãã¯æååã
ãã©ã¡ãŒã¿ãŒã®æ°ãšçš®é¡ã¯ãããŒãããããšãã§ã¯ãã«ãã£ãŠç°ãªããŸãã ãšãã§ã¯ããã©ã¡ãŒã¿ã
æå®ããªãå Žåãããã©ã«ãå€ãèšå®ãããŸãã
äŸ
ã»compress0rãšãã§ã¯ããé©çšããæåã®XNUMXã€ã®doubleãã©ã¡ãŒã¿ãŒãèšå®ããŸãã
frei0r = filter_name = compress0rïŒfilter_params = 0.5 | 0.01
ã»æåã®ãã©ã¡ãŒã¿ãšããŠè²ã䜿çšããŠãcolordistanceå¹æãé©çšããŸãã
frei0r = colordistanceïŒ0.2 / 0.3 / 0.4
frei0r = colordistanceïŒviolet
frei0r = colordistanceïŒ0x112233
ã»å·Šäžãšå³äžã®ç»åã®äœçœ®ãæå®ããŠãé è¿å¹æãé©çšããŸãã
frei0r=perspective:0.2/0.2|0.8/0.2
詳现ã«ã€ããŠã¯ããåç §ããŠãã ãããhttp://frei0r.dyne.org>
fspp
é«éã§ã·ã³ãã«ãªåŸåŠçãé©çšããŸãã ããã¯ã®ããéãããŒãžã§ã³ã§ã spp.
ïŒIïŒDCTãæ°Žå¹³/åçŽãã¹ã«åå²ããŸãã åçŽãªåŸåŠçãšã¯ç°ãªã
ãã£ã«ã¿ããã®ãã¡ã®XNUMXã€ã¯ããã¯ã»ã«ããšã§ã¯ãªãããããã¯ããšã«XNUMXåå®è¡ãããŸãã ããã¯å€ããå¯èœã«ããŸã
ããé«éã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
å質
å質ãèšå®ããŸãã ãã®ãªãã·ã§ã³ã¯ãå¹³ååããã¬ãã«ã®æ°ãå®çŸ©ããŸãã ããã¯åãå ¥ããŸã
4ã5ã®ç¯å²ã®æŽæ°ã ããã©ã«ãå€ã¯4ã§ãã
qp äžå®ã®éååãã©ã¡ãŒã¿ã匷å¶ããŸãã 0ã63ã®ç¯å²ã®æŽæ°ãåãå ¥ããŸãã ããã§ãªãå Žå
èšå®ãããšããã£ã«ã¿ãŒã¯ãããªã¹ããªãŒã ããã®QPã䜿çšããŸãïŒå©çšå¯èœãªå ŽåïŒã
å
ãã£ã«ã¿åŒ·åºŠãèšå®ããŸãã -15ãã32ã®ç¯å²ã®æŽæ°ãåãå ¥ããŸããå€ãå°ããã»ã©ãããå€ãã®ããšãæå³ããŸãã
詳现ã ãã§ãªããããå€ãã®ã¢ãŒãã£ãã¡ã¯ãããããå€ãé«ãã»ã©ç»åã¯æ»ããã«ãªããŸããã
ãŒããã ããã©ã«ãå€ã¯0XPSNRæé©ã§ãã
use_bframe_qp
1ã«èšå®ãããŠããå Žåã¯ãBãã¬ãŒã ããã®QPã®äœ¿çšãæå¹ã«ããŸãããã®ãªãã·ã§ã³ã䜿çšãããšã
Bãã¬ãŒã ã®QPã倧ããããšãå€ããããã¡ãã€ããçºçããŸãã ããã©ã«ãã¯0ïŒæå¹ã§ã¯ãããŸããïŒã§ãã
ã²ã¯
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
lum_exprã LUM
èŒåºŠè¡šçŸãèšå®ããŸãã
cb_exprã cb
ã¯ãããã³ã¹ãã«ãŒã®è¡šçŸãèšå®ããŸãã
cr_exprã cr
ã¯ãããã³ã¹ã¬ããã®è¡šçŸãèšå®ããŸãã
alpha_exprã a
ã¢ã«ãã¡åŒãèšå®ããŸãã
red_exprã r
èµ€ã®åŒãèšå®ããŸãã
green_exprã g
ç·ã®åŒãèšå®ããŸãã
blue_exprã b
éãåŒãèšå®ããŸãã
è²ç©ºéã¯ãæå®ããããªãã·ã§ã³ã«åŸã£ãŠéžæãããŸãã ã®ãããã lum_expr,
cb_exprãŸã㯠cr_expr ãªãã·ã§ã³ãæå®ãããŠããå Žåããã£ã«ã¿ãŒã¯èªåçã«YCbCrãéžæããŸã
è²ç©ºéã ã®ãããã red_expr, green_exprãŸã㯠blue_expr ãªãã·ã§ã³ãæå®ãããŠããå Žåã
RGBè²ç©ºéãéžæããŸãã
ã¯ãããã³ã¹åŒã®XNUMXã€ãå®çŸ©ãããŠããªãå ŽåãããXNUMXã€ã«ãã©ãŒã«ããã¯ããŸãã ãããã®å Žå
ã¢ã«ãã¡åŒãæå®ãããŠããå Žåãäžéæãªå€ã«è©äŸ¡ãããŸãã ã¯ãããã³ã¹ããªãå Žå
åŒãæå®ãããŠããå Žåããããã¯èŒåºŠåŒã«è©äŸ¡ãããŸãã
åŒã§ã¯ã次ã®å€æ°ãšé¢æ°ã䜿çšã§ããŸãã
N 0ããå§ãŸãããã£ã«ã¿ãªã³ã°ããããã¬ãŒã ã®é£ç¶çªå·ã
X
Y çŸåšã®ãµã³ãã«ã®åº§æšã
W
H ç»åã®å¹ ãšé«ãã
SW
SH çŸåšãã£ã«ã¿ãªã³ã°ãããŠããå¹³é¢ã«å¿ããå¹ ãšé«ãã®ã¹ã±ãŒã«ã æ¯çã§ã
察å¿ããèŒåºŠå¹³é¢ã®ãã¯ã»ã«æ°ãšçŸåšã®å¹³é¢ã®ãã¯ã»ã«æ°ã®éã äŸãã°
YUV4ïŒ2ïŒ0ã®å Žåãå€ã¯èŒåºŠå¹³é¢ã®å Žåã¯ã1,1ãã圩床平é¢ã®å Žåã¯ã0.5,0.5ãã§ãã
T çŸåšã®ãã¬ãŒã ã®æéãç§åäœã§è¡šãããŸãã
pïŒxã y)
å Žæã®ãã¯ã»ã«ã®å€ãè¿ããŸãïŒx,yïŒçŸåšã®å¹³é¢ã®ã
lumïŒxã y)
å Žæã®ãã¯ã»ã«ã®å€ãè¿ããŸãïŒx,yïŒèŒåºŠé¢ã®ã
cbïŒxã y)
å Žæã®ãã¯ã»ã«ã®å€ãè¿ããŸãïŒx,yïŒéã®å·®ã®ã³ããé¢ã®ã
ãã®ãããªå¹³é¢ããªãå Žåã¯0ãè¿ããŸãã
crïŒxã y)
å Žæã®ãã¯ã»ã«ã®å€ãè¿ããŸãïŒx,yïŒèµ€å·®ã³ããé¢ã®ã
ãã®ãããªå¹³é¢ããªãå Žåã¯0ãè¿ããŸãã
åŠæ¹ç®ã y)
gïŒxã y)
bïŒxã y)
å Žæã®ãã¯ã»ã«ã®å€ãè¿ããŸãïŒx,yïŒèµ€/ç·/éã®ã³ã³ããŒãã³ãã
ãã®ãããªã³ã³ããŒãã³ãããªãå Žåã¯0ãè¿ããŸãã
alphaïŒxã y)
å Žæã®ãã¯ã»ã«ã®å€ãè¿ããŸãïŒx,yïŒã¢ã«ãã¡å¹³é¢ã®ã ããå Žåã¯0ãè¿ããŸã
ãã®ãããªé£è¡æ©ã§ã¯ãããŸããã
é¢æ°ã®å Žåã x ãš y ãšãªã¢å€ã«ããå Žåãå€ã¯èªåçã«ã¯ãªãããããŸã
è¿ãæ¹ã®ç«¯ã
äŸ
ã»ç»åãæ°Žå¹³æ¹åã«å転ããŸãã
geq = pïŒWX \ãYïŒ
ã»è§åºŠãPI / 3ããæ³¢é·100ãã¯ã»ã«ã®XNUMX次å æ£åŒŠæ³¢ãçæããŸãã
geq=128 + 100*sin(2*(PI/100)*(cos(PI/3)*(X-50*T) + sin(PI/3)*Y)):128:128
ã»æŽŸæãªè¬ãããåãå ãçæããŸãã
nullsrc = s = 256x256ãgeq =ã©ã³ãã (1)/hypot(X-cos(N*0.07)*W/2-W/2\,Y-sin(N*0.09)*H/2-H/2)^2*1000000*sin(N*0.02):128:128
ã»ã¯ã€ãã¯ãšã³ãã¹å¹æãçæããŸãã
format = grayãgeq = lum_expr ='ïŒpïŒXãYïŒ+ïŒ256-pïŒX-4ãY-4ïŒïŒïŒ/ 2'
ã»ãã¯ã»ã«äœçœ®ã«å¿ããŠRGBã³ã³ããŒãã³ããå€æŽããŸãã
geq = r ='X / W * rïŒXãYïŒ'ïŒg ='ïŒ1-X / WïŒ* gïŒXãYïŒ'ïŒb ='ïŒHYïŒ/ H * bïŒXãY ïŒ '
ã»å ¥åãšåããµã€ãºã®æŸå°ç¶ã°ã©ããŒã·ã§ã³ãäœæããŸãïŒ ãããã
ãã£ã«ã¿ãŒïŒïŒ
geq=lum=255*gauss((X/W-0.5)*3)*gauss((Y/H-0.5)*3)/ã¬ãŠã¹ïŒ0ïŒ/ã¬ãŠã¹ïŒ0ïŒãformat = gray
ã»å¥ã®ãã£ã«ã¿ãŒã®ãã¹ã¯ãšããŠäœ¿çšããç·åœ¢åŸé ãäœæããŠããã
ãªãŒããŒã¬ã€ã ãã®äŸã§ã¯ããããªã¯äžããåŸã ã«ãŒãããŠãããŸã
ç·åœ¢åŸé ã«ãã£ãŠå®çŸ©ãããy軞ã®äžéšïŒ
ffmpeg -i input.mp4 -filter_complex "geq = lum = 255 *ïŒY / HïŒãformat = gray [grad]; [0ïŒv] boxblur = 4 [blur]; [blur] [grad] alphamerge [alpha] ; [0ïŒv]αãªãŒããŒã¬ã€ "output.mp4
åæ¥ç
ã«ãã£ãŠã»ãŒå¹³åŠãªé åã«æã å°å ¥ããããã³ãã£ã³ã°ã¢ãŒãã£ãã¡ã¯ããä¿®æ£ããŸã
8ãããã®è²æ·±åºŠãžã®åãæšãŠã ãã³ããã©ãã«è¡ãã¹ããåŸé ãè£éããŸã
ã§ããããããããã£ã¶ãªã³ã°ããŸãã
åçå°çšã«èšèšãããŠããŸãã éå¯éå§çž®ã®åã«äœ¿çšããªãã§ãã ããã
å§çž®ã¯ãã£ã¶ã倱ãããã³ããå ã«æ»ãåŸåããããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
å
ãã£ã«ã¿ãä»»æã®XNUMXãã¯ã»ã«ãå€æŽããæ倧éã ããã
ã»ãŒå¹³åŠãªé åãæ€åºããããã®ãããå€ã 蚱容å€ã®ç¯å²ã¯.51ãã64ã§ãã
ããã©ã«ãå€ã¯1.2ã§ãã ç¯å²å€ã®å€ã¯æå¹ãªç¯å²ã«ã¯ãªãããããŸãã
ååŸ
åŸé ãåãããããã®è¿åã ååŸã倧ãããããšãã°ã©ããŒã·ã§ã³ãæ»ããã«ãªããŸãã
ãã ãããã£ã«ã¿ãŒã詳现é åã®è¿ãã®ãã¯ã»ã«ãå€æŽããã®ãé²ããŸãã
蚱容å€ã¯8ã32ã§ãã ããã©ã«ãå€ã¯16ã§ããç¯å²å€ã®å€ã¯æ¬¡ã®ããã«ãªããŸãã
æå¹ãªç¯å²ã«ã¯ãªãããããŸããã
ãŸãã¯ããªãã·ã§ã³ããã©ããæååãšããŠæå®ããããšãã§ããŸãã å[:ååŸ]
äŸ
ã»3.5ã®åŒ·åºŠãšååŸ8ã®ãã£ã«ã¿ãŒãé©çšããŸãã
gradfun = 3.5ïŒ8
ã»åŒ·åºŠãçç¥ããŠååŸãæå®ããŸãïŒããã©ã«ãå€ã«ãã©ãŒã«ããã¯ããŸãïŒã
gradfun = radius = 8
çå²ã
HaldCLUTããããªã¹ããªãŒã ã«é©çšããŸãã
æåã®å ¥åã¯åŠçãããããªã¹ããªãŒã ã§ãXNUMXçªç®ã®å ¥åã¯HaldCLUTã§ãã ãã«ã
CLUTå ¥åã¯ãåçŽãªç»åãŸãã¯å®å šãªãããªã¹ããªãŒã ã«ããããšãã§ããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
æç
æçã®å ¥åãçµäºãããšãã«åŒ·å¶çµäºããŸãã ããã©ã«ãã¯0ã§ãã
ãªããŒãã©ã¹ã
ã¹ããªãŒã ã®çµäºåŸãæåŸã®CLUTã®é©çšãç¶è¡ããŸãã å€0ã¯ã
CLUTã®æåŸã®ãã¬ãŒã ã«éããåŸã«ãã£ã«ã¿ãªã³ã°ããŸãã ããã©ã«ãã¯1ã§ãã
ãhaldclutãã«ãåãè£éãªãã·ã§ã³ããããŸã lut3d ïŒäž¡æ¹ã®ãã£ã«ã¿ãŒã¯åããã®ãå ±æããŸã
å éšïŒã
Hald CLUTã®è©³çŽ°ã«ã€ããŠã¯ãEskil Steenbergã®Webãµã€ãïŒHald CLUTïŒãåç §ããŠãã ããã
èè ïŒã§http://www.quelsolaar.com/technology/clut.html>.
ã¯ãŒã¯ãã㌠äŸ
åæ¢ããCLUTãããªã¹ããªãŒã
ããŸããŸãªå¹æã§å€æŽãããã¢ã€ãã³ãã£ãã£HaldCLUTã¹ããªãŒã ãçæããŸãã
ffmpeg -f lavfi -i B = 8 -vf "hue = H = 2 * PI * tïŒs = sinïŒ2 * PI * tïŒ+1ãcurves = cross_process" -t 10 -cïŒv ffv1 clut.nut
泚ïŒãã¹ã¬ã¹ã³ãŒããã¯ã䜿çšããŠããããšã確èªããŠãã ããã
次ã«ããhaldclutããšäžç·ã«äœ¿çšããŠãã©ã³ãã ã¹ããªãŒã ã«é©çšããŸãã
ffmpeg -f lavfi -i mandelbrot -i clut.nut -filter_complex'[0] [1] haldclut' -t 20 mandelclut.mkv
Hald CLUTã¯ãæåã®10ç§éã«é©çšãããŸãïŒ ã¯ã©ãããããïŒã ããããŠ
ãã®CLUTã¹ããªãŒã ã®ææ°ã®ç»åã¯ãã®æ®ãã®ãã¬ãŒã ã«é©çšãããŸã
ããã³ãã«ãããã¹ããªãŒã ã
ãã¬ãã¥ãŒä»ãã®HaldCLUT
Hald CLUTã¯ããLevel * Level*Levelãã®XNUMXä¹ç»åã§ãããšæ³å®ãããŠããŸãã
ãã¬ãã«*ã¬ãã«*ã¬ãã«ããã¯ã»ã«ã äžããããHaldCLUTã«å¯ŸããŠãFFmpegã¯å¯èœãªéãæ倧ã®ãã®ãéžæããŸã
åçã®å·Šäžããå§ãŸãæ£æ¹åœ¢ã æ®ãã®ããã£ã³ã°ãã¯ã»ã«ïŒäžãŸãã¯
å³ïŒã¯ç¡èŠãããŸãã ãã®é åã¯ãHaldCLUTã®ãã¬ãã¥ãŒãè¿œå ããããã«äœ¿çšã§ããŸãã
éåžžã次ã®çæãããHald CLUTã¯ããhaldclutããã£ã«ã¿ãŒã«ãã£ãŠãµããŒããããŸãã
ffmpeg -f lavfi -i B = 8 -vf "
pad = iw + 320 [padded_clut];
smptebars = s = 320x256ãsplit [a] [b];
[padded_clut] [a] overlay = W-320ïŒhãcurves = color_negative [main];
[ã¡ã€ã³][b]overlay = W-320 "-framesïŒv 1 clut.png
ããã«ã¯ãCLUTã®å¹æã®ãªãªãžãã«ãšãã¬ãã¥ãŒãå«ãŸããŠããŸããSMPTEã«ã©ãŒããŒã¯
å³äžã«è¡šç€ºãããè²ã®å€åã«ãã£ãŠåŠçãããåãã«ã©ãŒããŒã®äžã«è¡šç€ºãããŸãã
次ã«ããã®HaldCLUTã®å¹æã次ã®ããã«èŠèŠåã§ããŸãã
ffplay input.mkv -vf "movie = clut.pngã[in] haldclut"
ããªãã
å ¥åãããªãæ°Žå¹³æ¹åã«å転ããŸãã
ããšãã°ãå ¥åãããªãæ°Žå¹³æ¹åã«å転ããã«ã¯ã ffmpeg:
ffmpeg -i in.avi -vf "hflip" out.avi
ãã¹ãã¯
ãã®ãã£ã«ã¿ãŒã¯ããã¬ãŒã ããšã«ã°ããŒãã«ã«ã©ãŒãã¹ãã°ã©ã åçåãé©çšããŸãã
ãã¯ã»ã«åŒ·åºŠã®ç¯å²ãå§çž®ããããããªãä¿®æ£ããããã«äœ¿çšã§ããŸãã The
ãã£ã«ã¿ã¯ããã¯ã»ã«åŒ·åºŠãååé ããŠãå šäœã®ååžãåçåããŸãã
匷床ç¯å²ã ãèªå調æŽã³ã³ãã©ã¹ããã£ã«ã¿ãŒããšèŠãããšãã§ããŸãã ãã
ãã£ã«ã¿ã¯ãå£åããããŸãã¯ãã£ããã£ãäžååãªãœãŒã¹ãããªãä¿®æ£ããå Žåã«ã®ã¿åœ¹ç«ã¡ãŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
å
é©çšããçåã®éã決å®ããŸãã 匷床ãäœäžãããšã
ãã¯ã»ã«åŒ·åºŠã®ååžã¯ãå ¥åãã¬ãŒã ã®ååžã«ãŸããŸãè¿ã¥ããŠããŸãã
å€ã¯[0,1]ã®ç¯å²ã®æµ®åå°æ°ç¹æ°ã§ããå¿ èŠããããããã©ã«ãã¯0.200ã§ãã
çæã§ããæ倧匷床ãèšå®ããåºåå€ãã¹ã±ãŒãªã³ã°ããŸã
é©åã«ã 匷床ã¯å¿ èŠã«å¿ããŠèšå®ããå¿ èŠããããŸããããããã°ã匷床ã¯æ¬¡ã®ããã«ãªããŸãã
æŽãæµããé¿ããããã«å¿ èŠãªå Žåã¯å¶éãããŸãã å€ã¯ãç¯å²å ã®æµ®åå°æ°ç¹æ°ã§ããå¿ èŠããããŸã
[0,1]ã§ãããã©ã«ãã¯0.210ã§ãã
ã¢ã³ããã³ãã£ã³ã°
ã¢ã³ããã³ãã£ã³ã°ã¬ãã«ãèšå®ããŸãã æå¹ã«ãããšããã£ã«ã¿ãŒã¯ã©ã³ãã ã«èŒåºŠãå€åãããŸã
ãã¹ãã°ã©ã ã®ãã³ãã£ã³ã°ãåé¿ããããã«ããã¯ã»ã«ãå°éåºåããŸãã å¯èœãªå€ã¯æ¬¡ã®ãšããã§ã
ããªãããã匱ãããŸãã¯ã匷ããã ããã©ã«ãã¯ãnoneãã§ãã
ãã¹ãã°ã©ã
å ¥åãããªã®è²ååžãã¹ãã°ã©ã ãèšç®ããŠæç»ããŸãã
èšç®ããããã¹ãã°ã©ã ã¯ãè²æåã®ååžãè¡šãããã®ã§ãã
ç»åã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã¢ãŒã
ãã¹ãã°ã©ã ã¢ãŒããèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
ã¬ãã«
ç»åå ã®è²æåã®ååžã衚瀺ããæšæºã®ãã¹ãã°ã©ã ã
åè²æåã®ã«ã©ãŒã°ã©ãã衚瀺ããŸãã YãUãVãã®ååžã衚瀺ããŸã
çŸåšã®ãã¬ãŒã ã®å ¥å圢åŒã«å¿ããŠãAãŸãã¯RãGãBã³ã³ããŒãã³ãã äž
åã°ã©ãã«ã¯ãè²æåã¹ã±ãŒã«ã¡ãŒã¿ãŒã衚瀺ãããŸãã
ã«ã©ãŒ
ã¯ããå€ïŒU / Vã«ã©ãŒé 眮ïŒãXNUMX次å ã°ã©ãïŒ
ãã¯ãã«ã¹ã³ãŒããšåŒã°ããŸãïŒã ãã¯ãã«ã¹ã³ãŒãã®ãã¯ã»ã«ãæããã»ã©ã
å ¥åãã¬ãŒã ã¯ãã®ãã¯ã»ã«ã«å¯Ÿå¿ããŸãïŒã€ãŸããããå€ãã®ãã¯ã»ã«ããã®ã¯ãããæã¡ãŸã
䟡å€ïŒã Vã³ã³ããŒãã³ãã¯ã暪ïŒXïŒè»žã«è¡šç€ºããã巊端ã«è¡šç€ºãããŸãã
蟺ã¯V=0ã§ãå³ç«¯ã¯V=255ã§ããUæåã¯
åçŽïŒYïŒè»žã«è¡šç€ºãããäžéšã¯U = 0ãè¡šããäžéšã¯
U=255ãè¡šããŸãã
ã°ã©ãå ã®çœããã¯ã»ã«ã®äœçœ®ã¯ã
å ¥åã¯ãªããã®ãã¯ã»ã«ã ãããã£ãŠãã°ã©ãã䜿çšããŠè²çžïŒè²ïŒãèªã¿åãããšãã§ããŸã
ãã¬ãŒããŒïŒãšåœ©åºŠïŒè²ã®è²çžã®åªäœæ§ïŒã ã®è²çžãšããŠ
è²ãå€ãããæ£æ¹åœ¢ã®åšãã移åããŸãã åºå Žã®äžå€®ã«
圩床ã¯ãŒãã§ããããã¯ã察å¿ãããã¯ã»ã«ã«è²ããªãããšãæå³ããŸãã ã®å Žå
ç¹å®ã®è²ã®éãå¢å ããŸãïŒä»ã®è²ã¯å€æŽãããŸããïŒ
圩床ãäžãããã€ã³ãžã±ãŒã¿ãŒãæ£æ¹åœ¢ã®ç«¯ã«åãã£ãŠç§»åããŸãã
color2
ãã¯ãã«ã¹ã³ãŒãã®åœ©åºŠå€ããè²ããšäŒŒãŠããŸãããå®éã®åœ©åºŠå€ã¯
衚瀺ãããŸãã
波圢
è¡/åããšã®è²æåã°ã©ãã è¡ã¢ãŒãã§ã¯ãå·ŠåŽã®ã°ã©ã
è²æåã®å€0ãè¡šããå³åŽã¯å€=255ãè¡šããŸãã
åã¢ãŒãã§ã¯ãäžé¢ã¯è²æåå€= 0ãè¡šããäžé¢ã¯è²æåå€=XNUMXãè¡šããŸãã
å€=255ãè¡šããŸãã
ããã©ã«ãå€ã¯ãã¬ãã«ãã§ãã
ã¬ãã«ã®é«ã
ã¬ãã«ã®é«ãããã¬ãã«ãã§èšå®ããŸãã ããã©ã«ãå€ã¯200ã§ãã蚱容ç¯å²ã¯[50ã2048]ã§ãã
ã¹ã±ãŒã«_é«ã
ã«ã©ãŒã¹ã±ãŒã«ã®é«ãããã¬ãã«ãã§èšå®ããŸãã ããã©ã«ãå€ã¯12ã§ãã蚱容ç¯å²ã¯[0ã40]ã§ãã
æé
ã波圢ãã¢ãŒãã®ã¹ããããèšå®ããŸãã å°ããå€ã¯ãã®å€ã®æ°ãèŠã€ããã®ã«åœ¹ç«ã¡ãŸã
åãèŒåºŠãå ¥åè¡/åã«åæ£ãããŸãã ããã©ã«ãå€ã¯10ã§ãã
蚱容ç¯å²ã¯[1ã255]ã§ãã
波圢ã¢ãŒã
ã波圢ãã®ã¢ãŒããèšå®ããŸãã ãè¡ããŸãã¯ãåãã®ããããã«ãªããŸãã ããã©ã«ãã¯ãè¡ãã§ãã
波圢ãã©ãŒ
ã波圢ãã®ãã©ãŒãªã³ã°ã¢ãŒããèšå®ããŸãã 0ã¯ãã©ãŒãªã³ã°ãããŠããªãããšãæå³ãã1ã¯ãã©ãŒãªã³ã°ãããŠããããšãæå³ããŸãã ãã©ãŒãªã³ã°ããã
ã¢ãŒãã§ã¯ããè¡ãã¢ãŒãã®å·ŠåŽãšäžéšã«é«ãå€ã衚瀺ãããŸã
ãåãã¢ãŒãã®å Žåã ããã©ã«ãã¯0ïŒãã©ãŒãªã³ã°ãããŠããªãïŒã§ãã
ãã£ã¹ãã¬ã€ã¢ãŒã
ã波圢ããšãã¬ãã«ãã®è¡šç€ºã¢ãŒããèšå®ããŸãã 次ã®å€ãåãå ¥ããŸãã
ãã¬ãŒã
ãè¡ã波圢ã«è²æåã®åå¥ã®ã°ã©ãã䞊ã¹ãŠè¡šç€ºããŸã
ã波圢ããã¹ãã°ã©ã ã®ãåã波圢ã¢ãŒãã®ã¢ãŒããŸãã¯äžäž
ã¢ãŒãã ãã¬ãã«ããã¹ãã°ã©ã ã¢ãŒãã®å Žåãè²ããšã®ã³ã³ããŒãã³ãã°ã©ãã¯äžã«é 眮ãããŸã
ãäºãã
ãã®è¡šç€ºã¢ãŒããã波圢ããã¹ãã°ã©ã ã¢ãŒãã§äœ¿çšãããšãè²ãç°¡åã«èŠã€ããããšãã§ããŸã
ç»åã®èŒªéãæ¯èŒããããšã«ãããç»åã®ãã€ã©ã€ããšã·ã£ããŠããã£ã¹ãããŸãã
å波圢ã®äžéšãšäžéšã®ã°ã©ãã çœãç°è²ãé»ã¯
æ£ç¢ºã«çããéã®èµ€ãç·ãéã®äžæ§é åãç¹åŸŽã§ã
ç»åã«ã¯ãå¹ /é«ããã»ãŒçããXNUMXã€ã®æ³¢åœ¢ã衚瀺ãããŸãã ããã§ãªãå Žåã¯ã
XNUMXã€ã®æ³¢åœ¢ã®ã¬ãã«èª¿æŽãè¡ãããšã§ç°¡åã«è£æ£ã§ããŸãã
ãªãŒããŒã¬ã€
ã°ã©ããé€ããŠãããã¬ãŒãããšåãæ å ±ã衚瀺ããŸã
è²æåãè¡šããã®ã¯ãäºãã«çŽæ¥éãåããããŸãã
ã波圢ããã¹ãã°ã©ã ã¢ãŒãã®ãã®è¡šç€ºã¢ãŒãã«ãããçžå¯Ÿçãªãã®ãç°¡åã«èŠã€ããããšãã§ããŸã
ããè²æåã®éãªãåãé åã®çžéç¹ãŸãã¯é¡äŒŒç¹
ãã¥ãŒãã©ã«ãã¯ã€ããã°ã¬ãŒããã©ãã¯ãªã©ãåäžã§ãããšæ³å®ãããŠããŸãã
ããã©ã«ãã¯ããã¬ãŒããã§ãã
Levels_mode
ãã¬ãã«ãã®ã¢ãŒããèšå®ããŸãã ãç·åœ¢ããŸãã¯ã察æ°ãã®ããããã«ãªããŸãã ããã©ã«ãã¯ãç·åœ¢ãã§ãã
ã³ã³ããŒãã³ã
ã¢ãŒããã¬ãã«ãã«è¡šç€ºããã«ã©ãŒã³ã³ããŒãã³ããèšå®ããŸãã ããã©ã«ãã¯7ã§ãã
äŸ
ã»ãã¹ãã°ã©ã ã®èšç®ãšæç»ïŒ
ffplay -iinput-vfãã¹ãã°ã©ã
hqdn3d
ããã¯ãé«ç²ŸåºŠ/é«å質ã®3Dãã€ãºé€å»ãã£ã«ã¿ãŒã§ãã ç»åãã€ãºã®äœæžãç®çãšããŠããŸããã
æ»ãããªç»åãçæããéæ¢ç»åãæ¬åœã«éæ¢ãããŸãã ããã¯åŒ·åããå¿ èŠããããŸã
å§çž®çã
次ã®ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
èŒåºŠ_空é
空éèŒåºŠåŒ·åºŠãæå®ããéè² ã®æµ®åå°æ°ç¹æ°ã ãã
ããã©ã«ãã¯4.0ã§ãã
è²ç©ºé
空éã¯ãã匷床ãæå®ããéè² ã®æµ®åå°æ°ç¹æ°ã ãã
ããã©ã«ãã¯3.0*èŒåºŠ_空é/ 4.0ã
luma_tmp
èŒåºŠã®æéç匷床ãæå®ããæµ®åå°æ°ç¹æ°ã ããã©ã«ãã¯
6.0 *èŒåºŠ_空é/ 4.0ã
ã¯ãã_tmp
ã³ããã®æéç匷床ãæå®ããæµ®åå°æ°ç¹æ°ã ããã©ã«ãã¯
luma_tmp*è²ç©ºé/èŒåºŠ_空é.
æ¬ç€Ÿ
ãã¯ã»ã«ã¢ãŒãçšã«èšèšãããé«å質ã®åçãã£ã«ã¿ãŒãé©çšããŸãã ãã®ãã£ã«ã¿ãŒã¯
ããšããšããã·ã ã¹ããã³ã«ãã£ãŠäœæãããŸããã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
n ã¹ã±ãŒãªã³ã°å¯žæ³ãèšå®ããŸãããhq2xãã®å Žåã¯2ããhq3xãã®å Žåã¯3ããhq4xãã®å Žåã¯4ã§ãã ããã©ã«ãã¯3ã§ãã
hstack
å ¥ååç»ãæ°Žå¹³ã«ç©ã¿éããŸãã
ãã¹ãŠã®ã¹ããªãŒã ã¯ãåããã¯ã»ã«åœ¢åŒã§åãé«ãã§ããå¿ èŠããããŸãã
ãã®ãã£ã«ã¿ãŒã¯äœ¿çšãããããé«éã§ããããšã«æ³šæããŠãã ãã ãªãŒããŒã¬ã€ ãš ããã åãåºåãäœæããããã®ãã£ã«ã¿ãŒã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
nb_inputs
å ¥åã¹ããªãŒã ã®æ°ãèšå®ããŸãã ããã©ã«ãã¯2ã§ãã
è²çž
å ¥åã®è²çžã圩床ãå€æŽããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
h è²çžè§ã床æ°ãšããŠæå®ããŸãã åŒãåãå ¥ããããã©ã«ã
ã0ãã«ã
s [-10,10]ã®ç¯å²ã§åœ©åºŠãæå®ããŸãã åŒãåãå ¥ããããã©ã«ãã§
ã1幎XNUMXæXNUMXæ¥ãã
H è²çžè§ãã©ãžã¢ã³æ°ã§æå®ããŸãã åŒãåãå ¥ããããã©ã«ã
ã0ãã«ã
b æããã¯[-10,10]ã®ç¯å²ã§æå®ããŠãã ããã åŒãåãå ¥ããããã©ã«ãã§
ã0幎XNUMXæXNUMXæ¥ãã
h ãš H çžäºã«æä»çã§ãããåæã«æå®ããããšã¯ã§ããŸããã
ãã® b, h, H ãš s ãªãã·ã§ã³å€ã¯ã次ã®å®æ°ãå«ãåŒã§ãã
n 0ããå§ãŸãå ¥åãã¬ãŒã ã®ãã¬ãŒã æ°
PTS ã¿ã€ã ããŒã¹åäœã§è¡šãããå ¥åãã¬ãŒã ã®è¡šç€ºã¿ã€ã ã¹ã¿ã³ã
r å ¥åãããªã®ãã¬ãŒã ã¬ãŒããå ¥åãã¬ãŒã ã¬ãŒããäžæãªå Žåã¯NAN
t ç§åäœã§è¡šãããã¿ã€ã ã¹ã¿ã³ããå ¥åã¿ã€ã ã¹ã¿ã³ããäžæãªå Žåã¯NAN
tb å ¥åãããªã®ã¿ã€ã ããŒã¹
äŸ
ã»è²çžã90床ã«èšå®ãã圩床ã1.0ã«èšå®ããŸãã
hue = h = 90ïŒs = 1
ã»åãã³ãã³ãã§ãããè²çžãã©ãžã¢ã³ã§è¡šçŸããŸãã
hue = H = PI / 2ïŒs = 1
ã»è²çžãå転ããã0ç§éã«2ãã1ã®éã§åœ©åºŠãã¹ã€ã³ã°ãããŸãã
hue = "H = 2 * PI * tïŒs = sinïŒ2 * PI * tïŒ+1"
ã»3ããå§ãŸã0ç§ã®ãµãã¥ã¬ãŒã·ã§ã³ãã§ãŒãã€ã³ãšãã§ã¯ããé©çšããŸãã
hue = "s = minïŒt / 3 \ã1ïŒ"
äžè¬çãªãã§ãŒãã€ã³åŒã¯ã次ã®ããã«èšè¿°ã§ããŸãã
hue = "s = minïŒ0 \ãmaxïŒïŒt-STARTïŒ/ DURATION \ã1ïŒïŒ"
ã»3ç§ããå§ãŸã5ç§ã®é£œåãã§ãŒãã¢ãŠãå¹æãé©çšããŸãã
hue = "s = maxïŒ0 \ãminïŒ1 \ãïŒ8-tïŒ/ 3ïŒïŒ"
äžè¬çãªãã§ãŒãã¢ãŠãåŒã¯ã次ã®ããã«èšè¿°ã§ããŸãã
hue = "s = maxïŒ0 \ãminïŒ1 \ãïŒSTART + DURATION-tïŒ/ DURATIONïŒïŒ"
ã³ãã³ã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ã³ãã³ãããµããŒãããŸãã
b
s
h
H å ¥åãããªã®è²çžããã³/ãŸãã¯åœ©åºŠããã³/ãŸãã¯æãããå€æŽããŸãã The
ã³ãã³ãã¯ã察å¿ãããªãã·ã§ã³ãšåãæ§æãåãå ¥ããŸãã
æå®ãããåŒãç¡å¹ãªå ŽåãçŸåšã®å€ã«ä¿æãããŸãã
ã€ããã
ãããªã€ã³ã¿ãŒã¬ãŒã¹ã¿ã€ããæ€åºããŸãã
ãã®ãã£ã«ã¿ãŒã¯ãå ¥åãã¬ãŒã ãã€ã³ã¿ãŒã¬ãŒã¹ãããã°ã¬ãã·ããããããããã ã®ãããã§ããããæ€åºããããšããŸã
æåã«ãã£ãŒã«ãã ãŸããé£æ¥ãããã¬ãŒã éã§ç¹°ãè¿ããããã£ãŒã«ããæ€åºããããšããŸã
ïŒãã¬ã·ãã®å åïŒã
åäžãã¬ãŒã æ€åºã§ã¯ããããããåé¡ãããšãã«ãããé£æ¥ãããã¬ãŒã ã®ã¿ãèæ ®ãããŸã
ãã¬ãŒã ã è€æ°ãã¬ãŒã æ€åºã«ã¯ã以åã®åé¡å±¥æŽãçµã¿èŸŒãŸããŠããŸã
ãã¬ãŒã ã
ãã£ã«ã¿ã¯ãããã®ã¡ã¿ããŒã¿å€ããã°ã«èšé²ããŸãã
ã·ã³ã°ã«.çŸåšã®ãã¬ãŒã
ã·ã³ã°ã«ãã¬ãŒã æ€åºã䜿çšããŠæ€åºãããçŸåšã®ãã¬ãŒã ã®ã¿ã€ãã ã®XNUMXã€ïŒ `` tff''ïŒããã
ãã£ãŒã«ããã¡ãŒã¹ãïŒããbffãïŒããã ãã£ãŒã«ããã¡ãŒã¹ãïŒããããã°ã¬ãã·ããããŸãã¯ãæªå®ã
ã·ã³ã°ã«.tff
ã·ã³ã°ã«ãã¬ãŒã æ€åºã䜿çšããŠæåã«ããããã£ãŒã«ããšããŠæ€åºããããã¬ãŒã ã®çŽ¯ç©æ°ã
è€æ°ã®.tff
è€æ°ãã¬ãŒã ã䜿çšããŠæåã«ããããã£ãŒã«ããšããŠæ€åºããããã¬ãŒã ã®çŽ¯ç©æ°
æ€åºã
ã·ã³ã°ã«.bff
ã·ã³ã°ã«ãã¬ãŒã ã䜿çšããŠæåã«ããã ãã£ãŒã«ããšããŠæ€åºããããã¬ãŒã ã®çŽ¯ç©æ°
æ€åºã
è€æ°ã®çŸåšã®ãã¬ãŒã
è€æ°ãã¬ãŒã æ€åºã䜿çšããŠæ€åºãããçŸåšã®ãã¬ãŒã ã®ã¿ã€ãã ã®XNUMXã€ïŒ `` tff''ïŒããã
ãã£ãŒã«ããã¡ãŒã¹ãïŒããbffãïŒããã ãã£ãŒã«ããã¡ãŒã¹ãïŒããããã°ã¬ãã·ããããŸãã¯ãæªå®ã
è€æ°.bff
è€æ°ãã¬ãŒã ã䜿çšããŠæåã«ããã ãã£ãŒã«ããšããŠæ€åºããããã¬ãŒã ã®çŽ¯ç©æ°
æ€åºã
ã·ã³ã°ã«ããã°ã¬ãã·ã
ã·ã³ã°ã«ãã¬ãŒã æ€åºã䜿çšããŠããã°ã¬ãã·ããšããŠæ€åºããããã¬ãŒã ã®çŽ¯ç©æ°ã
è€æ°ã®ããã°ã¬ãã·ã
è€æ°ãã¬ãŒã æ€åºã䜿çšããŠããã°ã¬ãã·ããšããŠæ€åºããããã¬ãŒã ã®çŽ¯ç©æ°ã
åäžãæªå®
åäžãã¬ãŒã æ€åºã䜿çšããŠåé¡ã§ããªãã£ããã¬ãŒã ã®çŽ¯ç©æ°ã
è€æ°ãæªå®
è€æ°ãã¬ãŒã ã䜿çšããŠåé¡ã§ããªãã£ããã¬ãŒã ã®çŽ¯ç©æ°
æ€åºã
repeat.current_frame
çŸåšã®ãã¬ãŒã ã®ã©ã®ãã£ãŒã«ããæåŸããç¹°ãè¿ãããŸãã ãã©ã¡ãã§ããªããã®XNUMXã€ã
ãäžããŸãã¯ãäžãã
ç¹°ãè¿ãããŸããã©ã¡ãã§ããããŸãã
ãã£ãŒã«ããç¹°ãè¿ãããŠããªããã¬ãŒã ã®çŽ¯ç©æ°ã
repeat.top
åã®ãã¬ãŒã ã®ãããããããããã£ãŒã«ããç¹°ãè¿ããããã¬ãŒã ã®çŽ¯ç©æ°
ãã£ãŒã«ãã
ç¹°ãè¿ããäž
åã®ãã¬ãŒã ããç¹°ãè¿ãããäžéšãã£ãŒã«ããæã€ãã¬ãŒã ã®çŽ¯ç©æ°
äžã®ãã£ãŒã«ãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
intl_thres
ã€ã³ã¿ãŒã¬ãŒã¹ã®ãããå€ãèšå®ããŸãã
prog_thres
ããã°ã¬ãã·ããããå€ãèšå®ããŸãã
ç¹°ãè¿ãåæ°
ç¹°ãè¿ããã£ãŒã«ãæ€åºã®ãããå€ã
人çã®åå
çµ±èšãžã®ç¹å®ã®ãã¬ãŒã ã®å¯äžãååã«ãªããŸã§ã®ãã¬ãŒã æ°
ïŒã€ãŸããåé¡ã«ã¯0.5ããå¯äžããŸããïŒã ããã©ã«ãã®0ã¯ã
衚瀺ããããã¹ãŠã®ãã¬ãŒã ã«ã¯ãæ°žä¹ ã«1.0ã®ãã«ãŠã§ã€ããäžããããŸãã
åæ_ã€ã³ã¿ãŒã¬ãŒã¹_ãã©ã°
ããã0ã§ãªãå Žåãidetã¯æå®ããããã¬ãŒã æ°ã䜿çšããŠã
ã€ã³ã¿ãŒã¬ãŒã¹ãã©ã°ã¯æ£ç¢ºã§ãããæªæ±ºå®ã®ãã¬ãŒã ã¯ã«ãŠã³ããããŸããã æã®å Žå
æ£ç¢ºã§ããããšãå€æããå Žåã¯ããã以äžã®èšç®ãªãã§äœ¿çšãããŸãã
äžæ£ç¢ºã§ããããšãå€æããå Žåã¯ããã以äžã®èšç®ãè¡ããªããŠãã¯ãªã¢ãããŸãã ãã
ã¯ãªãŒã³ã¢ããããããã®äœèšç®æ¹æ³ãšããŠidetãã£ã«ã¿ãŒãæ¿å ¥ã§ããŸã
ã€ã³ã¿ãŒã¬ãŒã¹ãã©ã°
il
ãã£ãŒã«ãããã€ã³ã¿ãŒãªãŒããŸãã¯ã€ã³ã¿ãŒãªãŒãããŸãã
ãã®ãã£ã«ã¿ãŒã䜿çšãããšãã€ã³ã¿ãŒã¬ãŒã¹ç»åãã£ãŒã«ããã€ã³ã¿ãŒã¬ãŒã¹è§£é€ããã«åŠçã§ããŸãã
ãã€ã³ã¿ãŒãªãŒãã¯ãå ¥åãã¬ãŒã ã2ã€ã®ãã£ãŒã«ãïŒããããããŒãç»åïŒã«åå²ããŸãã å¥æ°è¡
åºåç»åã®äžååã«ç§»åããäžååã«ç·ã移åããŸãã ããªãã¯ã§ãã
ããããåå¥ã«åŠçïŒãã£ã«ã¿ãªã³ã°ïŒããŠãããåã€ã³ã¿ãŒãªãŒãããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
luma_modeã l
chroma_modeã c
alpha_modeã a
å©çšå¯èœãªå€ ã«ãã¢ãŒã, ã¯ããã¢ãŒã ãš ã¢ã«ãã¡ã¢ãŒã ã«ã¯æ¬¡ã®å€ããããŸã:
ãªã
äœãããªãã
ãã€ã³ã¿ãŒãªãŒãã d
ãã£ãŒã«ãããã€ã³ã¿ãŒãªãŒãããäžäžã«é 眮ããŸãã
éã空ããã i
ãã£ãŒã«ããã€ã³ã¿ãŒãªãŒãããŸãã ãã€ã³ã¿ãŒãªãŒãã®å¹æãéã«ããŸãã
ããã©ã«ãå€ã¯ãnoneãã§ãã
luma_swapã ls
chroma_swapã cs
alpha_swapã as
ã«ãŒã/ã¯ãã/ã¢ã«ãã¡ãã£ãŒã«ãã亀æããŸãã å¶æ°è¡ãšå¥æ°è¡ã亀æããŸãã ããã©ã«ãå€ã¯0ã§ãã
èšããŸãã
ãããªã«èšåŒµå¹æãé©çšããŸãã
ãã®ãã£ã«ã¿ãŒã¯ããã¯ã»ã«ã ããŒã«ã«ïŒ3x3ïŒã®ã¿ãèæ ®ããå¹³å
ãã¯ã»ã«ãããé«ãå€ã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
éŸå€0
éŸå€1
éŸå€2
éŸå€3
åãã¬ãŒã³ã®æ倧å€æŽãå¶éããŸããããã©ã«ãã¯65535ã§ãã0ã®å Žåããã¬ãŒã³ã¯æ®ããŸãã
å€æŽãªãã
ã€ã³ã¿ãŒã¬ãŒã¹
ããã°ã¬ãã·ãã³ã³ãã³ãããã®ã·ã³ãã«ãªã€ã³ã¿ãŒã¬ãŒã¹ãã£ã«ã¿ãŒã ããã¯äžéšïŒãŸãã¯äžéšïŒãã€ã³ã¿ãŒãªãŒãããŸã
å¥æ°ãã¬ãŒã ããã®ã©ã€ã³ãšå¶æ°ãã¬ãŒã ããã®äžäœïŒãŸãã¯äžäœïŒã©ã€ã³ããã¬ãŒã ã¬ãŒãã®åå
ç»åã®é«ããç¶æããŸãã
ãªãªãžãã«ãªãªãžãã«ãã¥ãŒãã¬ãŒã
ãã¬ãŒã 'j'ãã¬ãŒã 'j+ 1'ïŒtffïŒ
========== =========== ==================
0è¡ç®-------------------->ãã¬ãŒã 'j'0è¡ç®
1è¡ç®1è¡ç®---->ãã¬ãŒã 'j+1'1è¡ç®
2è¡ç®--------------------->ãã¬ãŒã 'j'2è¡ç®
3è¡ç®3è¡ç®---->ãã¬ãŒã 'j+1'3è¡ç®
.........ã
æ°ãããã¬ãŒã +1ã¯ããã¬ãŒã 'j+2'ããã³ãã¬ãŒã 'j+3'ãªã©ã«ãã£ãŠçæãããŸãã
次ã®ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ã¹ãã£ã³
ããã«ãããã€ã³ã¿ãŒã¬ãŒã¹ãã¬ãŒã ãå¶æ°ïŒtff-ããã©ã«ãïŒããååŸããããããããšãããã©ã«ãããååŸããããã決ãŸããŸãã
ããã°ã¬ãã·ããã¬ãŒã ã®å¥æ°ïŒbffïŒè¡ã
ããŒãã¹
Twitterã®ã€ã³ã¿ãŒã¬ãŒã¹ãåé¿ããããã«ãåçŽããŒãã¹ãã£ã«ã¿ãŒãæå¹ïŒããã©ã«ãïŒãŸãã¯ç¡å¹ã«ããŸã
ã¢ã¢ã¬ãã¿ãŒã³ãæžãããŸãã
ã±ã«ã³ãã€ã³ã
DonaldGraftã®ã¢ãããã£ãã«ãŒãã«ã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãé©çšããŠå ¥åãããªãã€ã³ã¿ãŒã¬ãŒã¹è§£é€ããŸãã åãçµã
ããã°ã¬ãã·ããã¬ãŒã ãçæããããã®ãããªã®ã€ã³ã¿ãŒã¬ãŒã¹éšåã
åãå ¥ãããããã©ã¡ãŒã¿ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
è±ç©
ãã¯ã»ã«ãã©ãããå€æãããšãã«ããã£ã«ã¿ãŒã®èš±å®¹èª€å·®ã«åœ±é¿ãäžãããããå€ãèšå®ããŸã
è¡ãåŠçããå¿ èŠããããŸãã [0,255]ã®ç¯å²ã®æŽæ°ã§ããå¿ èŠããããããã©ã«ãã¯10ã§ãã
å€ã0ã®å Žåããã¹ãŠã®ãã¯ã»ã«ã«ããã»ã¹ãé©çšãããŸãã
å°å³ 1ã«èšå®ãããšããããå€ãè¶ ãããã¯ã»ã«ãçœã«ãã€ã³ãããŸããããã©ã«ãã¯0ã§ãã
泚æ
ãã£ãŒã«ãã®é åºãèšå®ããŸãã 1ã«èšå®ãããŠããå Žåã¯ãã£ãŒã«ãã亀æãã0ã®å Žåã¯ãã£ãŒã«ãããã®ãŸãŸã«ããŸããããã©ã«ãã¯0ã§ãã
ã·ã£ãŒã
1ã«èšå®ãããŠããå Žåã¯ãè¿œå ã®ã·ã£ãŒããã¹ãæå¹ã«ããŸããããã©ã«ãã¯0ã§ãã
åæ¹å
1ã«èšå®ãããŠããå Žåã¯ãåæ¹åã·ã£ãŒããã³ã°ãæå¹ã«ããŸããããã©ã«ãã¯0ã§ãã
äŸ
ã»ããã©ã«ãå€ãé©çšããŸãã
kerndeint=thresh=10:map=0:order=0:sharp=0:twoway=0
ã»è¿œå ã®ç ããæå¹ã«ããŸãã
kerndeint = Sharp = 1
ã»åŠçããããã¯ã»ã«ãçœã§ãã€ã³ãããŸãã
kerndeint = map = 1
ã¬ã³ãºè£æ£
ã©ãžã¢ã«ã¬ã³ãºã®æªã¿ãä¿®æ£ãã
ãã®ãã£ã«ã¿ãŒã¯ã
åºè§ã¬ã³ãºãããã«ãã£ãŠç»åãåä¿®æ£ããŸãã é©åãªãã©ã¡ãŒã¿ãèŠã€ããã«ã¯ã
ããšãã°ãopencvã®äžéšãšããŠããŸãã¯åã«è©Šè¡é¯èª€ãšããŠå©çšå¯èœãªããŒã«ã䜿çšããŸãã 䜿çšããã«ã¯
opencvã¯ãopencvãœãŒã¹ããã®ãã£ãªãã¬ãŒã·ã§ã³ãµã³ãã«ïŒsamples / cppã®äžïŒã䜿çšããŠæœåºããŸã
çµæã®è¡åããã®k1ããã³k2ä¿æ°ã
äºå®äžãåããã£ã«ã¿ãŒããªãŒãã³ãœãŒã¹ããŒã«ã®Kritaãš
KDEãããžã§ã¯ãã®Digikamã
ãŸãã ãããã ã¬ã³ãºãšã©ãŒãè£æ£ããããã«ã䜿çšã§ãããã£ã«ã¿ãŒããã
ãã£ã«ã¿ã¯ç»åã®æªã¿ãè£æ£ããŸããã ãããã æãããè£æ£ããŸã
é åžãªã®ã§ãå Žåã«ãã£ãŠã¯äž¡æ¹ã®ãã£ã«ã¿ãŒãäžç·ã«äœ¿çšããããšãã§ããŸããã
泚æã®é¢åãèŠãå¿ èŠããããŸããã€ãŸããã±ã©ã¬ãåã«é©çšãããã
ã¬ã³ãºè£æ£åŸã
ãªãã·ã§ã³
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
cx ç»åã®çŠç¹ã®çžå¯Ÿçãªx座æšãããã«ãã£ãŠç»åã®äžå¿
ãããã ãã®å€ã®ç¯å²ã¯[0,1]ã§ãç»åã®ç«¯æ°ãšããŠè¡šãããŸã
å¹ ã
cy ç»åã®çŠç¹ã®çžå¯Ÿçãªy座æšãããã«ãã£ãŠç»åã®äžå¿
ãããã ãã®å€ã®ç¯å²ã¯[0,1]ã§ãç»åã®ç«¯æ°ãšããŠè¡šãããŸã
é«ãã
k1 äºæ¬¡è£æ£é ã®ä¿æ°ã 0.5ã¯ä¿®æ£ãªããæå³ããŸãã
k2 äºæ¬¡äºæ¬¡è£æ£é ã®ä¿æ°ã 0.5ã¯ä¿®æ£ãªããæå³ããŸãã
è£æ£ãçæããåŒã¯æ¬¡ã®ãšããã§ãã
r_src = r_tgt *ïŒ1 + k1 *ïŒr_tgt / r_0ïŒ^ 2 + k2 *ïŒr_tgt / r_0ïŒ^ 4ïŒ
ã³ã©ãã¬ãŒ r_0 ç»åã®å¯Ÿè§ç·ã®ååã§ããã r_src ãš r_tgt ããã®è·é¢ã§ã
ãããããœãŒã¹ç»åãšã¿ãŒã²ããç»åã®çŠç¹ã
lut3d
3DLUTãå ¥åãããªã«é©çšããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
file
3DLUTãã¡ã€ã«åãèšå®ããŸãã
çŸåšãµããŒããããŠãã圢åŒïŒ
3dl ã¢ãã¿ãŒãšãã§ã¯ã
ãã¥ãŒã
ã€ãªãã¹
DAT ããŽã£ã³ã
m3d ãã³ãã©
ã€ã³ã¿ãŒã
è£éã¢ãŒããéžæããŸãã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
æå¯ã
æãè¿ãå®çŸ©ããããã€ã³ãããã®å€ã䜿çšããŸãã
ããªãªãã¢
ãã¥ãŒããå®çŸ©ãã8ã€ã®ãã€ã³ãã䜿çšããŠå€ãè£éããŸãã
åé¢äœ
åé¢äœã䜿çšããŠå€ãè£éããŸãã
lutã lutrgbã ã«ãã¥ã
åãã¯ã»ã«ã³ã³ããŒãã³ãã®å ¥åå€ãåºåå€ã«ãã€ã³ãããããã®ã«ãã¯ã¢ããããŒãã«ãèšç®ããŸãã
å ¥åãããªã«é©çšããŸãã
ã«ãã¥ã ã«ãã¯ã¢ããããŒãã«ãYUVå ¥åãããªã«é©çšããŸãã ã«ã¿ãŒã°ã RGBå ¥åãããªã«ã
ãããã®ãã£ã«ã¿ãŒã¯ã次ã®ãã©ã¡ãŒã¿ãŒãåãå ¥ããŸãã
c0 æåã®ãã¯ã»ã«ã³ã³ããŒãã³ãåŒãèšå®ããŸã
c1 XNUMXçªç®ã®ãã¯ã»ã«ã³ã³ããŒãã³ãåŒãèšå®ããŸã
c2 XNUMXçªç®ã®ãã¯ã»ã«ã³ã³ããŒãã³ãåŒãèšå®ããŸã
c3 XNUMXçªç®ã®ãã¯ã»ã«ã³ã³ããŒãã³ãåŒãèšå®ããã¢ã«ãã¡ã³ã³ããŒãã³ãã«å¯Ÿå¿ããŸã
r èµ€ã®ã³ã³ããŒãã³ãåŒãèšå®ããŸã
g ç·ã®ã³ã³ããŒãã³ãåŒãèšå®ããŸã
b éã®ã³ã³ããŒãã³ãåŒãèšå®ããŸã
a ã¢ã«ãã¡æååŒ
y Y/èŒåºŠæååŒãèšå®ãã
u U/Cbã³ã³ããŒãã³ãåŒãèšå®ããŸã
v V/Crã³ã³ããŒãã³ãåŒãèšå®ããŸã
ãããã®ããããã¯ãã®ã«ãã¯ã¢ããããŒãã«ãèšç®ããããã«äœ¿çšããåŒãæå®ããŸã
察å¿ãããã¯ã»ã«ã³ã³ããŒãã³ãå€ã
ããããã«é¢é£ä»ããããŠããæ£ç¢ºãªã³ã³ããŒãã³ã c* ãªãã·ã§ã³ã¯ãå ¥åã®åœ¢åŒã«ãã£ãŠç°ãªããŸãã
ãã® èªã¿ãŸã ãã£ã«ã¿ã«ã¯ãå ¥åã«YUVãŸãã¯RGBãã¯ã»ã«åœ¢åŒãå¿ èŠã§ãã ã«ã¿ãŒã°ã RGBãå¿ èŠ
å ¥åã®ãã¯ã»ã«åœ¢åŒãããã³ ã«ãã¥ã YUVãå¿ èŠã§ãã
åŒã«ã¯ã次ã®å®æ°ãšé¢æ°ãå«ããããšãã§ããŸãã
w
h å ¥åã®å¹ ãšé«ãã
ãŽã¡ã« ãã¯ã»ã«ã³ã³ããŒãã³ãã®å ¥åå€ã
ã¯ãªãããã«
ã«ã¯ãªãããããå ¥åå€ ãã³ãã«-æ倧å€
æ倧å€
ãã¯ã»ã«ã³ã³ããŒãã³ãã®æ倧å€ã
ãã³ãã«
ãã¯ã»ã«ã³ã³ããŒãã³ãã®æå°å€ã
ãã¬ãã«
ã«ã¯ãªããããããã¯ã»ã«ã³ã³ããŒãã³ãå€ã®åŠå®å€ ãã³ãã«-æå€§å€ ç¯å²;
ãmaxval-clipval+minvalããšããè¡šçŸã«å¯Ÿå¿ããŸãã
ã¯ãªããïŒvalïŒ
ã®èšç®å€ ãŽã¡ã«ãã«ã¯ãªãããããŸã ãã³ãã«-æ倧å€
gammavalïŒgammaïŒ
ãã¯ã»ã«ã³ã³ããŒãã³ãå€ã®èšç®ãããã¬ã³ãè£æ£å€ã
ãã³ãã«-æå€§å€ ç¯å²ã åŒã«å¯Ÿå¿ããŸã
"powïŒïŒclipval-minvalïŒ/ïŒmaxval-minvalïŒ\ãã¬ã³ãïŒ*ïŒmaxval-minvalïŒ+ minval "
ãã¹ãŠã®åŒã®ããã©ã«ãã¯ãvalãã§ãã
äŸ
ã»å ¥åãããªãç¡å¹ã«ããŸãã
lutrgb = "r = maxval + minval-valïŒg = maxval + minval-valïŒb = maxval + minval-val"
lutyuv = "y = maxval + minval-valïŒu = maxval + minval-valïŒv = maxval + minval-val"
äžèšã¯æ¬¡ãšåãã§ãã
lutrgb = "r = negvalïŒg = negvalïŒb = negval"
lutyuv = "y = negvalïŒu = negvalïŒv = negval"
ã»èŒåºŠãç¡å¹ã«ããïŒ
lutyuv = y = negval
ã»ã¯ããã³ã³ããŒãã³ããåé€ãããããªãã°ã¬ãŒããŒã³ç»åã«å€æããŸãã
lutyuv = "u = 128ïŒv = 128"
ã»èŒåºŠççŒå¹æãé©çšããŸãã
lutyuv = "y = 2 * val"
ã»ç·ãšéã®ã³ã³ããŒãã³ããåé€ããŸãã
lutrgb = "g = 0ïŒb = 0"
ã»å ¥åã«äžå®ã®ã¢ã«ãã¡ãã£ãã«å€ãèšå®ããŸãã
format = rgbaãlutrgb = a = "maxval-minval / 2"
ã»èŒåºŠã¬ã³ãã0.5åã«ä¿®æ£ããŸãã
lutyuv = y = gammavalïŒ0.5ïŒ
ã»èŒåºŠã®æäžäœããããç Žæ£ããŸãã
lutyuv = y ='bitandïŒvalã128 + 64 + 32ïŒ'
ããŒãžãã¬ãŒã³
è€æ°ã®ãããªã¹ããªãŒã ããã®ã«ã©ãŒãã£ãã«ã³ã³ããŒãã³ããããŒãžããŸãã
ãã£ã«ã¿ã¯æ倧4ã€ã®å ¥åã¹ããªãŒã ãåãå ¥ããéžæããå ¥åãã¬ãŒã³ãåºåã«ããŒãžããŸã
ãããªã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãããã³ã°
å ¥åãåºåå¹³é¢ãããã³ã°ã«èšå®ããŸãã ããã©ã«ãã¯0ã§ãã
ãããã³ã°ã¯ãããããããšããŠæå®ãããŸãã XNUMXé²æ°ã§æå®ããå¿ èŠããããŸã
0xAa [Bb[Cc[Dd]]]ã®åœ¢åŒã§ã ãAaãã¯ãã®æåã®å¹³é¢ã®ãããã³ã°ãè¡šããŸã
åºåã¹ããªãŒã ã ãAãã¯äœ¿çšããå ¥åã¹ããªãŒã ã®æ°ïŒ0ãã3ïŒãèšå®ãããaãã¯äœ¿çšããå ¥åã¹ããªãŒã ã®æ°ãèšå®ããŸãã
䜿çšãã察å¿ããå ¥åã®ãã¬ãŒã³çªå·ïŒ0ãã3ïŒã æ®ãã®
ãããã³ã°ãåæ§ã§ãããBbãã¯ãåºåã¹ããªãŒã ã®XNUMXçªç®ã®ãã¬ãŒã³ã®ãããã³ã°ãè¡šããŸãã
ãCcãã¯åºåã¹ããªãŒã ã®ç¬¬XNUMXå¹³é¢ã®ãããã³ã°ãè¡šãããDdãã¯åºåã¹ããªãŒã ã®XNUMXçªç®ã®å¹³é¢ãè¡šããŸãã
åºåã¹ããªãŒã ã®XNUMXçªç®ã®å¹³é¢ã®ãããã³ã°ã
圢åŒã§ã¢ãŒã«ã€ããããããžã§ã¯ããä¿åããŸãïŒ
åºåãã¯ã»ã«ãã©ãŒããããèšå®ããŸãã ããã©ã«ãã¯ãyuva444pãã§ãã
äŸ
ã»åãå¹ ãšé«ãã®XNUMXã€ã®ç°è²ã®ãããªã¹ããªãŒã ãåäžã®ãããªã¹ããªãŒã ã«ããŒãžããŸãã
[a0][a1][a2]mergeplanes=0x001020:yuv444p
ã»1çªç®ã®yuv444pã¹ããªãŒã ãš2çªç®ã®ç°è²ã®ãããªã¹ããªãŒã ãyuva444pãããªã¹ããªãŒã ã«ããŒãžããŸãã
[a0][a1]mergeplanes=0x00010210:yuva444p
ã»yuva444pã¹ããªãŒã ã§Yãã¬ãŒã³ãšAãã¬ãŒã³ã亀æããŸãã
format = yuva444pãmergeplanes = 0x03010200ïŒyuva444p
ã»yuv420pã¹ããªãŒã ã§Uãã¬ãŒã³ãšVãã¬ãŒã³ã亀æããŸãã
format = yuv420pãmergeplanes = 0x000201ïŒyuv420p
ã»rgb24ã¯ãªãããyuv444pã«ãã£ã¹ãããŸãã
format = rgb24ãmergeplanes = 0x000102ïŒyuv444p
ãã¯ãã€ã³ã
åãè£åã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãé©çšããŸãã
å ¥åãšããŠãã¬ãŒã ããšã«1ã€ã®ãã£ãŒã«ããå¿ èŠã§ãããããyadif=3/XNUMXãŸãã¯
åçã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã¢ãŒã
ã€ã³ã¿ãŒã¬ãŒã¹è§£é€ã¢ãŒããèšå®ããŸãã
次ã®ããããã®å€ãåãå ¥ããŸãã
éãã§ã
ããã£ã¢ã
é ã
å埩ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³ã䜿çšãã
ç¹å¥ã«é ã
ãã㪠é ãããã ããè€æ°ã®åç §ãã¬ãŒã ã䜿çšããŸãã
ããã©ã«ãå€ã¯ éãã§ã.
ããªãã£
å ¥åãããªã«æ³å®ãããç»åãã£ãŒã«ãããªãã£ãèšå®ããŸãã ããã¯ã®XNUMXã€ã§ãªããã°ãªããŸãã
次ã®å€ïŒ
0, tff
æåã«ããããã£ãŒã«ããæ³å®
1, BFF
æåã«äžéšãã£ãŒã«ããæ³å®ããŸã
ããã©ã«ãå€ã¯ BFF.
qp å éšãšã³ã³ãŒããŒã䜿çšãããããã¯ããšã®éååãã©ã¡ãŒã¿ãŒïŒQPïŒãèšå®ããŸãã
å€ã倧ãããããšãã¢ãŒã·ã§ã³ãã¯ãã«ãã£ãŒã«ãã¯æ»ããã«ãªããŸãããæé©æ§ã¯äœããªããŸãã
åã ã®ãã¯ãã«ã ããã©ã«ãå€ã¯1ã§ãã
mpãã·ã¡ãŒã
ãã¬ãŒã ãæžããããã«ãåã®ãã¬ãŒã ãšå€§ããç°ãªããªããã¬ãŒã ãããããããŸã
ã¬ãŒãã
ãã®ãã£ã«ã¿ãŒã®äž»ãªçšéã¯ãéåžžã«äœãããã¬ãŒãã®ãšã³ã³ãŒãã£ã³ã°ïŒãã€ã€ã«ã¢ããçµç±ã®ã¹ããªãŒãã³ã°ãªã©ïŒã§ãã
ã¢ãã ïŒããããçè«çã«ã¯éãã¬ã·ããããæ ç»ãä¿®æ£ããããã«äœ¿çšããããšãã§ããŸã
ééã£ãŠã
åãå ¥ãããããªãã·ã§ã³ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
ããã¯ã¹ ããããã§ããé£ç¶ãã¬ãŒã ã®æ倧æ°ãèšå®ããŸãïŒæ£ã®å ŽåïŒããŸãã¯
ããããããããã¬ãŒã éã®æå°ééïŒè² ã®å ŽåïŒã å€ã0ã®å Žåã
ãã¬ãŒã ã¯ãåã«é£ç¶ããŠããããããããã¬ãŒã ã®æ°ã«é¢ä¿ãªããããããããŸãã
ããã©ã«ãå€ã¯0ã§ãã
hi
lo
çå°Ÿæ
ãããããããå€ãèšå®ããŸãã
ã®å€ hi ãš lo 8x8ãã¯ã»ã«ãããã¯çšã§ãå®éã®ãã¯ã»ã«å€ãè¡šããŸã
å·®ãããããããããå€64ã¯ãåãã¯ã»ã«ã®å·®ã®1åäœã«å¯Ÿå¿ããŸãã
ãŸãã¯ãåããã®ããããã¯å šäœã«ç°ãªã£ãŠåºãããŸãã
8x8ãããã¯ã®å·®ããããå€ãè¶ ããŠããªãå Žåããã¬ãŒã ã¯ããããã®åè£ã«ãªããŸã
of hiãããã³ çå°Ÿæ ãããã¯ïŒ1ã¯ç»åå šäœãæå³ããŸãïŒã¯ã
ã®ãããå€ lo.
ã®ããã©ã«ãå€ hi ã¯64*12ãããã©ã«ãå€ã¯ lo ã¯64*5ã§ãããã©ã«ãå€ã¯
çå°Ÿæ 0.33ã§ãã
åŠå®ãã
å ¥åãããªãç¡å¹ã«ããŸãã
å ¥åã«æŽæ°ãåãå ¥ããŸãã ãŒã以å€ã®å Žåãã¢ã«ãã¡ã³ã³ããŒãã³ããç¡å¹ã«ããŸãïŒäœ¿çšå¯èœãªå ŽåïŒã
å ¥åã®ããã©ã«ãå€ã¯0ã§ãã
ããŒãã©ãŒããã
次ãžã®å ¥åã«æå®ããããã¯ã»ã«åœ¢åŒã䜿çšããªãããã«libavfilterã匷å¶ããŸã
ãã£ã«ã¿ã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
pix_fmts
'|'ã§åºåããããã¯ã»ã«åœ¢åŒåã®ãªã¹ãïŒapix_fmts = yuv420p | monow | rgb24 "ãªã©ïŒã
äŸ
ã»libavfilterã«æ¬¡ãšã¯ç°ãªã圢åŒã䜿çšããããã«åŒ·å¶ããŸã yuv420p vflipãžã®å ¥åçš
ãã£ã«ã¿ïŒ
noformat = pix_fmts = yuv420pãvflip
ã»å ¥åãããªããªã¹ãã«å«ãŸããŠããªã圢åŒã®ããããã«å€æããŸãã
noformat = yuv420p | yuv444p | yuv410p
ãã€ãº
ãããªå ¥åãã¬ãŒã ã«ãã€ãºãè¿œå ããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãã¹ãŠã®ã·ãŒã
c0_seed
c1_seed
c2_seed
c3_seed
ç¹å®ã®ãã¯ã»ã«ã³ã³ããŒãã³ããŸãã¯ãã¹ãŠã®ãã¯ã»ã«ã³ã³ããŒãã³ãã®ãã€ãºã·ãŒããèšå®ãã
ãã¹ãŠã®ã·ãŒãã ããã©ã«ãå€ã¯123457ã§ãã
all_strengthã å šéš
c0_strengthã c0s
c1_strengthã c1s
c2_strengthã c2s
c3_strengthã c3s
å Žåã«å¿ããŠãç¹å®ã®ãã¯ã»ã«ã³ã³ããŒãã³ããŸãã¯ãã¹ãŠã®ãã¯ã»ã«ã³ã³ããŒãã³ãã®ãã€ãºåŒ·åºŠãèšå®ããŸã
ãã¹ãŠã®åŒ·ãã ããã©ã«ãå€ã¯0ã§ãã蚱容ç¯å²ã¯[0ã100]ã§ãã
all_flagsã ãã¹ãŠ
c0_flagsã c0f
c1_flagsã c1f
c2_flagsã c2f
c3_flagsã c3f
ãã¯ã»ã«ã³ã³ããŒãã³ããã©ã°ãèšå®ãããããã¹ãŠã®ã³ã³ããŒãã³ãã«ãã©ã°ãèšå®ããå Žå ãã¹ãŠã®ãã©ã°ã å©çšå¯èœ
ã³ã³ããŒãã³ããã©ã°ã®å€ã¯æ¬¡ã®ãšããã§ãã
a å¹³ååãããæéçãã€ãºïŒã¹ã ãŒãºïŒ
p ã©ã³ãã ãã€ãºãïŒåïŒèŠåçãªãã¿ãŒã³ãšæ··åãã
t äžæçãªãã€ãºïŒãã¬ãŒã éã§ãã€ãºãã¿ãŒã³ãå€åããïŒ
u åäžãã€ãºïŒãã以å€ã®å Žåã¯ã¬ãŠã¹ïŒ
äŸ
å ¥åãããªã«æéçã§åäžãªãã€ãºãè¿œå ããŸãã
noise = alls = 20ïŒallf = t + u
ãã«
ãããªãœãŒã¹ãå€æŽããã«åºåã«æž¡ããŸãã
ocv
libopencvã䜿çšããŠãããªå€æãé©çšããŸãã
ãã®ãã£ã«ã¿ãŒãæå¹ã«ããã«ã¯ãlibopencvã©ã€ãã©ãªãŒãšããããŒãã€ã³ã¹ããŒã«ããFFmpegã次ã®ããã«æ§æããŸãã
ã--enable-libopencvãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ãã£ã«ã¿ãŒå
é©çšããlibopencvãã£ã«ã¿ãŒã®ååã
ãã£ã«ã¿ãã©ã¡ãŒã¿
libopencvãã£ã«ã¿ãŒã«æž¡ããã©ã¡ãŒã¿ãŒã æå®ããªãå Žåãããã©ã«ãå€
æ³å®ãããŸãã
ããæ£ç¢ºãªæ å ±ã«ã€ããŠã¯ãlibopencvã®å ¬åŒããã¥ã¡ã³ããåç §ããŠãã ããã
<http://docs.opencv.org/master/modules/imgproc/doc/filtering.html>
ããã€ãã®libopencvãã£ã«ã¿ãŒããµããŒããããŠããŸãã 次ã®ãµãã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
èšåŒµãã
ç¹å®ã®æ§é åèŠçŽ ã䜿çšããŠç»åãæ¡åŒµããŸãã libopencvã«å¯Ÿå¿ããŸã
é¢æ°ãcvDilateãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã æ§é äœãšã«|nb_iterations.
æ§é äœãšã« æ§é åèŠçŽ ãè¡šããæ§æã¯æ¬¡ã®ãšããã§ãã
ã³ã«ãºxè¡+ã¢ã³ã«ãŒ_xxã¢ã³ã«ãŒ_y/圢ç¶
ã³ã«ãº ãš è¡ æ§é åèŠçŽ ã®åãšè¡ã®æ°ãè¡šãã
ã¢ã³ã«ãŒ_x ãš ã¢ã³ã«ãŒ_y ã¢ã³ã«ãŒãã€ã³ããããã³ åœ¢ç¶ æ§é åèŠçŽ ã®åœ¢ç¶ã
åœ¢ç¶ ãrectãããcrossãããellipseãããŸãã¯ãcustomãã§ããå¿ èŠããããŸãã
ã®å€ã åœ¢ç¶ ãã«ã¹ã¿ã ãã®å Žåã¯ããã®åŸã«æ¬¡ã®åœ¢åŒã®æååãç¶ããå¿ èŠããããŸã
"=ãã¡ã€ã«å"ãååã®ãã¡ã€ã« ãã¡ã€ã«å ããããããã€ããªã€ã¡ãŒãžãè¡šããšæ³å®ãããŸã
æãããã¯ã»ã«ã«å¯Ÿå¿ããå°å·å¯èœãªæåã ã«ã¹ã¿ã æ åœ¢ç¶ äœ¿çšãããŠããã ã³ã«ãº ãš
è¡ ç¡èŠããã代ããã«ãèªã¿åããããã¡ã€ã«ã®æ°ãŸãã¯åãšè¡ãæ³å®ãããŸãã
ã®ããã©ã«ãå€ æ§é äœãšã« ã3x3+0x0/rectãã§ãã
nb_iterations å€æãç»åã«é©çšãããåæ°ãæå®ãã
ããã©ã«ãã¯1ã§ãã
ããã€ãã®äŸïŒ
ïŒããã©ã«ãå€ã䜿çš
ocv = dilate
ïŒ5x5ã®ã¯ãã¹ãæã€æ§é åèŠçŽ ã䜿çšããŠæ¡åŒµããXNUMXåç¹°ãè¿ããŸã
ocv=filter_name=dilate:filter_params=5x5+2x2/cross|2
ïŒãã¡ã€ã«diamond.shapeãã圢ç¶ãèªã¿åããXNUMXåç¹°ãè¿ããŸãã
ïŒãã¡ã€ã«diamond.shapeã«ã¯ã次ã®ãããªæåã®ãã¿ãŒã³ãå«ãŸããŠããå¯èœæ§ããããŸã
ïŒ*
ïŒ***
ïŒ*****
ïŒ***
ïŒ*
ïŒæå®ãããåãšè¡ã¯ç¡èŠãããŸã
ïŒããããã¢ã³ã«ãŒãã€ã³ãã®åº§æšã¯
ocv=dilate:0x0+2x2/custom=diamond.shape|2
浞é£ãã
ç¹å®ã®æ§é åèŠçŽ ã䜿çšããŠç»åã䟵é£ããŸãã libopencvã«å¯Ÿå¿ããŸã
é¢æ°ãcvErodeãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã æ§é äœãšã«:nb_iterationsããšåãæ§æãšã»ãã³ãã£ã¯ã¹
ã èšåŒµãã ãã£ã«ã¿ã
ã¹ã ãŒãº
å ¥åãããªãã¹ã ãŒãºã«ããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãã©ã¡ãŒã¿ãåããŸãã type|param1|param2|param3|param4.
type é©çšããã¹ã ãŒãºãã£ã«ã¿ãŒã®ã¿ã€ãã§ããã次ã®ããããã®å€ã§ããå¿ èŠããããŸãã
ãblurãããblur_no_scaleãããmedianãããgaussianãããŸãã¯ãbilateralãã ããã©ã«ãå€ã¯
ãã¬ãŠã¹ãã
ã®æå³ param1, param2, param3, param4 æ»ãããªã¿ã€ãã«ãã£ãŠç°ãªããŸãã param1 ãš
param2 æŽæ°ã®æ£ã®å€ãŸãã¯0ãåãå ¥ããŸãã param3 ãš param4 æµ®åå°æ°ç¹ãåãå ¥ãã
å€ã
ã®ããã©ã«ãå€ param1 ã¯3ã§ããä»ã®ãã©ã¡ãŒã¿ã®ããã©ã«ãå€ã¯0ã§ãã
ãããã®ãã©ã¡ãŒã¿ãŒã¯ãlibopencvé¢æ°ã«å²ãåœãŠããããã©ã¡ãŒã¿ãŒã«å¯Ÿå¿ããŸãã
ãcvSmoothãã
ãªãŒããŒã¬ã€
XNUMXã€ã®ãããªãå¥ã®ãããªã®äžã«ãªãŒããŒã¬ã€ããŸãã
XNUMXã€ã®å ¥åãåããXNUMXã€ã®åºåãæã¡ãŸãã æåã®å ¥åã¯ããã¡ã€ã³ããããªã§ãã
XNUMXçªç®ã®å ¥åããªãŒããŒã¬ã€ãããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
åãå ¥ãããããªãã·ã§ã³ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
x
y ã¡ã€ã³ã«ãªãŒããŒã¬ã€ããããããªã®x座æšãšy座æšã®åŒãèšå®ããŸã
ãããªã ããã©ã«ãå€ã¯ãäž¡æ¹ã®åŒã§ã0ãã§ãã åŒãç¡å¹ãªå Žåã
倧ããªå€ã«èšå®ãããŠããŸãïŒã€ãŸãããªãŒããŒã¬ã€ã¯
åºå衚瀺é åïŒã
eof_action
äºæ¬¡å ¥åã§EOFãæ€åºããããšãã«å®è¡ããã¢ã¯ã·ã§ã³ã ã®ãããããåãå ¥ããŸã
次ã®å€ïŒ
ç¹°ãè¿ã
æåŸã®ãã¬ãŒã ãç¹°ãè¿ããŸãïŒããã©ã«ãïŒã
ãšã³ããªãŒã«
äž¡æ¹ã®ã¹ããªãŒã ãçµäºããŸãã
ãã¹
ã¡ã€ã³å ¥åãééãããŸãã
è©äŸ¡ãã
ã®åŒã x, y è©äŸ¡ãããŸãã
次ã®å€ãåãå ¥ããŸãã
INIT
ãã£ã«ã¿ã®åæåäžãŸãã¯ã³ãã³ãæã«XNUMXåã ãåŒãè©äŸ¡ããŸã
åŠçãããŸã
ãã¬ãŒã
çä¿¡ãã¬ãŒã ããšã«åŒãè©äŸ¡ãã
ããã©ã«ãå€ã¯ ãã¬ãŒã .
æç
1ã«èšå®ãããšãæçã®å ¥åãçµäºãããšãã«åºåã匷å¶çã«çµäºããŸãã ããã©ã«ã
å€ã¯0ã§ãã
圢åŒã§ã¢ãŒã«ã€ããããããžã§ã¯ããä¿åããŸãïŒ
åºåãããªã®ãã©ãŒããããèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
yuv420
YUV420åºåã匷å¶ããŸã
yuv422
YUV422åºåã匷å¶ããŸã
yuv444
YUV444åºåã匷å¶ããŸã
RGB RGBåºåã匷å¶ããŸã
ããã©ã«ãå€ã¯ yuv420.
RGB ïŒå»æ¢äºå®ïŒ
1ã«èšå®ãããšããã£ã«ã¿ãŒã¯RGBè²ç©ºéã®å ¥åãåãå ¥ããããã«åŒ·å¶ãããŸãã ããã©ã«ãå€
ã¯0ã§ãããã®ãªãã·ã§ã³ã¯éæšå¥šã§ãã䜿çšããŠãã ãã 圢åŒã§ã¢ãŒã«ã€ããããããžã§ã¯ããä¿åããŸãïŒ ã代ããã«ã䜿ããã ããã
ãªããŒãã©ã¹ã
1ã«èšå®ãããŠããå Žåããã£ã«ã¿ãŒã«æåŸã®ãªãŒããŒã¬ã€ãã¬ãŒã ãã¡ã€ã³å ¥åã®äžã«æç»ããããã«åŒ·å¶ããŸãã
ã¹ããªãŒã ã®çµããã å€0ã¯ããã®åäœãç¡å¹ã«ããŸãã ããã©ã«ãå€ã¯1ã§ãã
ãã® x, y åŒã«ã¯ã次ã®ãã©ã¡ãŒã¿ãŒãå«ããããšãã§ããŸãã
main_wã W
main_hã H
äž»ãªå ¥åã®å¹ ãšé«ãã
overlay_wã w
overlay_hã h
ãªãŒããŒã¬ã€å ¥åã®å¹ ãšé«ãã
x
y ã®èšç®å€ x ãš yã ãããã¯ãæ°ãããã¬ãŒã ããšã«è©äŸ¡ãããŸãã
ã²ãµã
察ãµã
åºåãã©ãŒãããã®æ°Žå¹³ããã³åçŽã¯ãããµããµã³ãã«å€ã ããšãã°
ãã¯ã»ã«ãã©ãŒããããyuv422pã ã²ãµã 2ãšã¯ 察ãµã 1ã§ãã
n 0ããå§ãŸãå ¥åãã¬ãŒã ã®æ°
æçš¿ãã å ¥åãã¬ãŒã ã®ãã¡ã€ã«å ã®äœçœ®ãäžæãªå Žåã¯NAN
t ç§åäœã§è¡šãããã¿ã€ã ã¹ã¿ã³ãã å ¥åã¿ã€ã ã¹ã¿ã³ããäžæãªå Žåã¯NANã§ãã
ãªãã n, æçš¿ãã, t å€æ°ã¯ãè©äŸ¡ãè¡ããããšãã«ã®ã¿äœ¿çšã§ããŸã 以äžã®ããã« ãã¬ãŒã ,
ãã€NANã«è©äŸ¡ãããŸã è©äŸ¡ãã ã«èšå®ãããŠããŸã INIT.
ãã¬ãŒã ã¯ã¿ã€ã ã¹ã¿ã³ãé ã«åå ¥åãããªããååŸãããããšã«æ³šæããŠãã ããã
åæã¿ã€ã ã¹ã¿ã³ãã¯ç°ãªããŸããXNUMXã€ã®å ¥åã
setpts = PTS-STARTPTS äŸã®ããã«ãåããŒãã¿ã€ã ã¹ã¿ã³ãã§éå§ããããã«ãã£ã«ã¿ãªã³ã°ããŸã
æ ç» ãã£ã«ã¿ã¯è¡ããŸãã
ããå€ãã®ãªãŒããŒã¬ã€ãé£éãããããšãã§ããŸããããã®ãããªã¢ãããŒãã®å¹çããã¹ãããå¿ èŠããããŸãã
ã³ãã³ã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ã³ãã³ãããµããŒãããŸãã
x
y ãªãŒããŒã¬ã€å ¥åã®xãšyãå€æŽããŸãã ãã®ã³ãã³ãã¯ã
察å¿ãããªãã·ã§ã³ã
æå®ãããåŒãç¡å¹ãªå ŽåãçŸåšã®å€ã«ä¿æãããŸãã
äŸ
ã»ã¡ã€ã³ãããªã®å³äžé ãã10ãã¯ã»ã«ã§ãªãŒããŒã¬ã€ãæç»ããŸãã
overlay = main_w-overlay_w-10ïŒmain_h-overlay_h-10
ååä»ããªãã·ã§ã³ã䜿çšãããšãäžèšã®äŸã¯æ¬¡ã®ããã«ãªããŸãã
overlay = x = main_w-overlay_w-10ïŒy = main_h-overlay_h-10
ã»å ¥åã®å·Šäžé ã«ãã䜿çšããŠéæãªPNGããŽãæ¿å ¥ããŸãã ffmpeg
ã-filter_complexããªãã·ã§ã³ãåããããŒã«ïŒ
ffmpeg -i input -i logo -filter_complex'overlay = 10ïŒmain_h-overlay_h-10' output
ã»2ã€ã®ç°ãªãéæãªPNGããŽïŒå³äžé ã®XNUMXçªç®ã®ããŽïŒã䜿çšããŠæ¿å ¥ããŸã
ã ffmpeg ããŒã«ïŒ
ffmpeg -i input -i logo1 -i logo2 -filter_complex'overlay = x = 10ïŒy = Hh-10ãoverlay = x = Ww-10ïŒy=Hh-10'åºå
ã»ã¡ã€ã³ãããªã®äžã«éæãªã«ã©ãŒã¬ã€ã€ãŒãè¿œå ããŸãã ãWxHãã¯ãã®ãµã€ãºãæå®ããå¿ èŠããããŸã
ãªãŒããŒã¬ã€ãã£ã«ã¿ãŒãžã®äž»ãªå ¥åïŒ
[ã¡ãŒã«ä¿è·]:size=WxH[以äž]; [in][over] ãªãŒããŒã¬ã€ [out]
ã»å ã®ãããªãšãã£ã«ã¿ãŒãããããŒãžã§ã³ïŒããã§ã¯ãã·ã§ã€ã¯ãã£ã«ã¿ãŒä»ãïŒã䞊ã¹ãŠåçããŸã
ã䜿çšããåŽ åçãã ããŒã«ïŒ
ffplay input.avi -vf'split [a] [b]; [a] pad = iw * 2ïŒih [src]; [b] deshake [filt]; [src] [filt] overlay = w '
äžèšã®ã³ãã³ãã¯æ¬¡ãšåãã§ãã
ffplay input.avi -vf'split [b]ãpad = iw * 2 [src]ã[b] deshakeã[src] overlay = w'
ã»ç»é¢ã®å·Šäžããå³äžã«ã¹ã©ã€ããªãŒããŒã¬ã€ã衚瀺ãããããã«ããŸã
æé2ããéå§ïŒ
overlay = x ='ifïŒgteïŒtã2ïŒã-w +ïŒt-2ïŒ* 20ãNANïŒ'ïŒy = 0
ã»XNUMXã€ã®å ¥åãããªã䞊ã¹ãŠåºåãäœæããŸãã
ffmpeg -i left.avi -i right.avi -filter_complex "
nullsrc = size =200x100[èæ¯];
[0ïŒv] setpts = PTS-STARTPTSãscale =100x100[å·Š];
[1ïŒv] setpts = PTS-STARTPTSãscale =100x100[å³];
[èæ¯][å·Š]overlay= shortest =1[èæ¯+å·Š];
[èæ¯+å·Š][å³]overlay= shortest = 1ïŒx =100[å·Š+å³]
"
ã»ã»ã¯ã·ã§ã³ã«ãããŽãã£ã«ã¿ãŒãé©çšããŠããããªã®10ã20ç§ããã¹ã¯ããŸã
ffmpeg -i test.avi -codecïŒvïŒ0 wmv2 -ar 11025 -bïŒv 9000k
-vf '[in]split[split_main][split_delogo];[split_delogo]trim=start=360:end=371,delogo=0:0:640:480[delogoed];[split_main][delogoed]overlay=eof_action=pass[out]'
ãã¹ã¯ããã.avi
ã»ã«ã¹ã±ãŒãã§è€æ°ã®ãªãŒããŒã¬ã€ããã§ãŒã³ããŸãã
nullsrc = s = 200x200 [bg];
testsrc=s=100x100, split=4 [in0][in1][in2][in3];
[in0] lutrgb = r = 0ã[bg] overlay = 0ïŒ0 [mid0];
[in1] lutrgb = g = 0ã[mid0] overlay = 100ïŒ0 [mid1];
[in2] lutrgb = b = 0ã[mid1] overlay = 0ïŒ100 [mid2];
[in3] nullã[mid2] overlay = 100ïŒ100 [out0]
éšé³
ãªãŒããŒã³ã³ããªãŒããŠã§ãŒãã¬ããããã€ã¶ãŒãé©çšããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
æ·±ã
æ·±ããèšå®ããŸãã
深床å€ã倧ãããããšãäœåšæ³¢æ°æåã®ãã€ãºãé€å»ãããŸãããé床ã¯äœäžããŸãã
ãã£ã«ã¿ãªã³ã°ã
8ã16ã®ç¯å²ã®intã§ããå¿ èŠããããããã©ã«ãã¯8ã§ãã
luma_strengthã ls
èŒåºŠåŒ·åºŠãèšå®ããŸãã
0ã1000ã®ç¯å²ã®doubleå€ã§ããå¿ èŠããããããã©ã«ãã¯1.0ã§ãã
chroma_strengthã cs
ã³ãã匷床ãèšå®ããŸãã
0ã1000ã®ç¯å²ã®doubleå€ã§ããå¿ èŠããããããã©ã«ãã¯1.0ã§ãã
ããã
å ¥åç»åã«ããã£ã³ã°ãè¿œå ããå ã®å ¥åãæäŸãããå Žæã«é 眮ããŸã x, y
座æšã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
å¹ ã w
é«ãã h
ããã£ã³ã°ãè¿œå ããåºåç»åã®ãµã€ãºã®åŒãæå®ããŸãã ã®å Žå
ã®å€ å¹ or é«ã ã0ã®å Žåã察å¿ããå ¥åãµã€ãºãåºåã«äœ¿çšãããŸãã
ãã® å¹ åŒã¯ãã«ãã£ãŠèšå®ãããå€ãåç §ã§ããŸã é«ã è¡šçŸãããã³å¯
éããŸãåæ§ã§ãã
ã®ããã©ã«ãå€ å¹ ãš é«ã 0ã§ãã
x
y å ¥åç»åãããã£ã³ã°ãããé åå ã«é 眮ããããã®ãªãã»ãããæå®ããŸãã
åºåç»åã®å·Šäžã®å¢çç·ã«ç§»åããŸãã
ãã® x åŒã¯ãã«ãã£ãŠèšå®ãããå€ãåç §ã§ããŸã y åŒãããã³ãã®éã
ã®ããã©ã«ãå€ x ãš y 0ã§ãã
ã«ã©ãŒ
ããã£ã³ã°ãããé åã®è²ãæå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ããè²ãã確èªããŠãã ãã
ffmpeg-utilsããã¥ã¢ã«ã®ã»ã¯ã·ã§ã³ã
ã®ããã©ã«ãå€ ã«ã©ãŒ ãé»ãã§ãã
ã®å€ å¹ , é«ã, x, y ãªãã·ã§ã³ã¯ã以äžãå«ãåŒã§ãã
å®æ°:
in_w
in_h
å ¥åãããªã®å¹ ãšé«ãã
iw
ih ãããã¯ãšåãã§ã in_w ãš in_h.
ã¢ãŠã_w
ã¢ãŠã_h
åºåã®å¹ ãšé«ãïŒããã£ã³ã°ãããé åã®ãµã€ãºïŒã å¹
ãš é«ã åŒã
ow
oh ãããã¯ãšåãã§ã ã¢ãŠã_w ãš ã¢ãŠã_h.
x
y ã«ãã£ãŠæå®ãããxããã³yãªãã»ãã x ãš y åŒããŸãã¯ãŸã ã®å Žåã¯NAN
æå®ã
a ãšåã iw / ih
sar å ¥åãµã³ãã«ã®ã¢ã¹ãã¯ãæ¯
äžãã å ¥åãã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯ã¯ãïŒiw / ihïŒ* sar
ã²ãµã
察ãµã
æ°Žå¹³ããã³åçŽã®ã¯ãããµããµã³ãã«å€ã ããšãã°ããã¯ã»ã«åœ¢åŒã®å Žå
ãyuv422pã ã²ãµã 2ãšã¯ 察ãµã 1ã§ãã
äŸ
ã»å ¥åãããªã«ã玫ãã®è²ã®ããã£ã³ã°ãè¿œå ããŸãã åºåãããªãµã€ãºã¯
640x480ã§ãå ¥åãããªã®å·Šäžé ãå0ãè¡40ã«é 眮ãããŸãã
pad = 640ïŒ480ïŒ0ïŒ40ïŒviolet
äžèšã®äŸã¯ã次ã®ã³ãã³ããšåçã§ãã
pad = width = 640ïŒheight = 480ïŒx = 0ïŒy = 40ïŒcolor = violet
ã»å ¥åãããã£ã³ã°ããŠã寞æ³ã3/2å¢å ããåºåãååŸããå ¥åãé 眮ããŸã
ãããå ¥ããšãªã¢ã®äžå€®ã®ãããªïŒ
pad="3/2*iw:3/2*ih:(ow-iw)/2:(oh-ih)/2"
ã»å ¥åãããã£ã³ã°ããŠããµã€ãºã
å¹ ãšé«ããå ¥åããå ¥åãããªãããã£ã³ã°ãããé åã®äžå€®ã«é 眮ããŸãã
pad = "maxïŒiw \ãihïŒïŒowïŒïŒow-iwïŒ/ 2ïŒïŒoh-ihïŒ/ 2"
ã»å ¥åãããã£ã³ã°ããŠã16ïŒ9ã®æçµçãªw/hæ¯ãååŸããŸãã
pad = "ih * 16/9ïŒihïŒïŒow-iwïŒ/ 2ïŒïŒoh-ihïŒ/ 2"
ã»ã¢ãã¢ã«ãã£ãã¯ãããªã®å Žåãåºå衚瀺ã¢ã¹ãã¯ããæ£ããèšå®ããããã«ã
䜿çšããå¿ èŠããããŸã sar åŒã§ã¯ãé¢ä¿ã«åŸã£ãŠïŒ
ïŒih * X / ihïŒ* sar = output_dar
X = åºå_dar / sar
ãããã£ãŠãåã®äŸã次ã®ããã«å€æŽããå¿ èŠããããŸãã
pad = "ih * 16/9 / sarïŒihïŒïŒow-iwïŒ/ 2ïŒïŒoh-ihïŒ/ 2"
ã»åºåãµã€ãºãXNUMXåã«ããå ¥åãããªãå³äžé ã«é 眮ããŸãã
åºåãããé åïŒ
pad = "2 * iwïŒ2 * ihïŒow-iwïŒoh-ih"
ãã¬ããã²ã³
ãããªã¹ããªãŒã å šäœã«å¯ŸããŠXNUMXã€ã®ãã¬ãããçæããŸãã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
æ倧è²æ°
ãã¬ããã§éååããè²ã®æ倧æ°ãèšå®ããŸãã 泚ïŒãã¬ããã¯
ãŸã 256è²ãå«ãŸããŠããŸãã æªäœ¿çšã®ãã¬ãããšã³ããªã¯é»ã«ãªããŸãã
reserved_transparent
æ倧255è²ã®ãã¬ãããäœæããæåŸã®ãã¬ãããéæ床ã®ããã«äºçŽããŸãã
éæè²ãäºçŽãããšãGIFã®æé©åã«åœ¹ç«ã¡ãŸãã èšå®ãããŠããªãå Žåã
ãã¬ããã®æ倧è²ã¯256è²ã«ãªããŸãããããããã®ãªãã·ã§ã³ãç¡å¹ã«ããå¿ èŠããããŸã
ã¹ã¿ã³ãã¢ãã³ã€ã¡ãŒãžã®å Žåã ããã©ã«ãã§èšå®ãããŸãã
çµ±èšã¢ãŒã
çµ±èšã¢ãŒããèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
ãã«
ãã«ãã¬ãŒã ãã¹ãã°ã©ã ãèšç®ããŸãã
å·®å
åã®ãã¬ãŒã ãšç°ãªãéšåã®ãã¹ãã°ã©ã ã®ã¿ãèšç®ããŸãã ããã¯ãããããŸãã
次ã®å Žåã¯ãå ¥åã®å¯åéšåãããéèŠèŠããããšã«é¢é£ããŸãã
èæ¯ã¯éçã§ãã
ããã©ã«ãå€ã¯ ãã«.
ãã£ã«ã¿ã¯ããã¬ãŒã ã¡ã¿ããŒã¿ "lavfi.color_quant_ratio"ïŒ "nb_color_in /
nb_color_out "ïŒããã䜿çšããŠãã®è²ã®éååã®çšåºŠãè©äŸ¡ã§ããŸãã
ãã¬ããã ãã®æ å ±ã¯ã info ãã®ã³ã°ã¬ãã«ã
äŸ
ã»ã䜿çšããŠãç¹å®ã®ãããªã®ä»£è¡šçãªãã¬ãããçæããŸã ffmpeg:
ffmpeg -i input.mkv-vfãã¬ããã²ã³palette.png
ãã¬ãã䜿çš
ãã¬ããã䜿çšããŠãå ¥åãããªã¹ããªãŒã ãããŠã³ãµã³ããªã³ã°ããŸãã
ãã£ã«ã¿ã¯256ã€ã®å ¥åãåããŸãïŒXNUMXã€ã®ãããªã¹ããªãŒã ãšãã¬ããã ãã¬ããã¯XNUMXã§ãªããã°ãªããŸãã
ãã¯ã»ã«ç»åã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãã£ã¶
ãã£ã¶ãªã³ã°ã¢ãŒããéžæããŸãã 䜿çšå¯èœãªã¢ã«ãŽãªãºã ã¯æ¬¡ã®ãšããã§ãã
ãã€ãšã«
é åãã£ã¶ãªã³ã°8x8ãã€ãšã«ïŒæ±ºå®è«çïŒ
ããã¯ããŒã
1982幎ã«PaulHeckbertã«ãã£ãŠå®çŸ©ããããã£ã¶ãªã³ã°ïŒåçŽãªèª€å·®æ¡æ£ïŒã ããŒãïŒ
ãã®ãã£ã¶ãªã³ã°ã¯ãééã£ãŠããããšèŠãªãããããšããããåç §ãšããŠå«ãŸããŠããŸãã
ããã€ãã¹ã¿ã€ã³ããŒã°
ããã€ããšã¹ãã€ã³ããŒã°ã®ãã£ã¶ãªã³ã°ïŒèª€å·®æ¡æ£ïŒ
sierra2
ãã©ã³ããŒã·ãšã©ãã£ã¶ãªã³ã°v2ïŒèª€å·®æ¡æ£ïŒ
ã·ãšã©2_4a
ãã©ã³ããŒã·ãšã©ãã£ã¶ãªã³ã°v2ãã©ã€ããïŒèª€å·®æ¡æ£ïŒ
ããã©ã«ã㯠ã·ãšã©2_4a.
ãã€ã€ãŒã¹ã±ãŒã«
æ¥æ ãã€ãšã« ãã£ã¶ãªã³ã°ãéžæãããŠããå Žåããã®ãªãã·ã§ã³ã¯ãã¿ãŒã³ã®ã¹ã±ãŒã«ãå®çŸ©ããŸãïŒæ¹æ³
å€ãã®ãããã³ã°ãã¿ãŒã³ã衚瀺ãããŸãïŒã äœãå€ã¯ãããç®ã«èŠãããã¿ãŒã³ãæå³ããŸã
ãã³ãã£ã³ã°ãå°ãªããå€ãé«ãã»ã©ããã³ãã£ã³ã°ãå€ããªããŸããããã¿ãŒã³ãèŠãã«ãããªããŸãã
ãªãã·ã§ã³ã¯ã[0,5]ã®ç¯å²ã®æŽæ°å€ã§ããå¿ èŠããããŸãã ããã©ã«ã㯠2.
å·®åã¢ãŒã
èšå®ãããŠããå Žåã¯ãåŠçãããŸãŒã³ãå®çŸ©ããŸã
é·æ¹åœ¢
å€åããé·æ¹åœ¢ã®ã¿ãååŠçãããŸãã ããã¯GIFã«äŒŒãŠããŸã
ããªãã³ã°/ãªãã»ããå§çž®ã¡ã«ããºã ã ãã®ãªãã·ã§ã³ã¯ã次ã®å Žåã«é床ãäžããã®ã«åœ¹ç«ã¡ãŸãã
ç»åã®äžéšã®ã¿ãå€æŽãããŠãããç¯å²ãå¶éãããªã©ã®ãŠãŒã¹ã±ãŒã¹ããããŸã
ãšã©ãŒæ¡æ£ã® ãã£ã¶ 移åããã·ãŒã³ã®å¢çãšãªãé·æ¹åœ¢ã«ïŒ
ã·ãŒã³ãããŸãå€åããªãå Žåã¯ããã決å®è«çãªåºåã«ã€ãªãããŸãã
ãã®çµæã移åãã€ãºãå°ãªããªããGIFå§çž®ãåäžããŸãïŒã
ããã©ã«ã㯠ãªã.
äŸ
ã»ãã¬ããã䜿çšããïŒããšãã°ã ãã¬ããã²ã³ïŒã䜿çšããŠGIFããšã³ã³ãŒããã ffmpeg:
ffmpeg -i input.mkv-iãã¬ãã.png-lavfiãã¬ãã䜿çšoutput.gif
èŠç¹
ç»é¢ã«å¯ŸããŠåçŽã«èšé²ãããŠããªããããªã®æ£ããèŠç¹ã
åãå ¥ãããããã©ã¡ãŒã¿ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
x0
y0
x1
y1
x2
y2
x3
y3 å·Šäžãå³äžãå·Šäžãå³äžã®åº§æšåŒãèšå®ããŸã
ã³ãŒããŒã ããã©ã«ãå€ã¯ã0ïŒ0ïŒWïŒ0ïŒ0ïŒHïŒWïŒHãã§ãããŒã¹ãã¯ãã£ãã¯ãã®ãŸãŸæ®ããŸã
å€æŽãªãã ãã»ã³ã¹ããªãã·ã§ã³ãããœãŒã¹ãã«èšå®ãããŠããå Žåãæå®ããããã€ã³ãã¯
ç®çå°ã®é ã«éãããŸãã ãã»ã³ã¹ããªãã·ã§ã³ãã«èšå®ãããŠããå Žå
ãå®å ãã®å ŽåããœãŒã¹ã®ã³ãŒããŒãæå®ãããå Žæã«éä¿¡ãããŸã
座æšã
åŒã¯æ¬¡ã®å€æ°ã䜿çšã§ããŸãã
W
H ãããªãã¬ãŒã ã®å¹ ãšé«ãã
è£é
é è¿æ³è£æ£ã®è£éãèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
ç·åœ¢
ãã¥ãŒããã¯
ããã©ã«ãå€ã¯ ç·åœ¢.
ã»ã³ã¹
座æšãªãã·ã§ã³ã®è§£éãèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
0, source
æå®ããã座æšã§æå®ããããœãŒã¹å ã®ãã€ã³ããã
ç®çå°ã
1, ãã¹ãã£ããŒã·ã§ã³
ãœãŒã¹ã®ã³ãŒããŒããã§æå®ãããå®å ã®ãã€ã³ãã«éä¿¡ããŸãã
äžãããã座æšã
ããã©ã«ãå€ã¯ source.
çž
ãã£ãŒã«ãã®é åºãå€ããããã«ãã€ã³ã¿ãŒã¬ãŒã¹ãããªãXNUMXãã£ãŒã«ãæéé ãããŸãã
䜿çšç®çã¯ãå察ã®ãã£ãŒã«ãã§ãã£ããã£ãããPALã ãŒããŒãä¿®æ£ããããšã§ãã
ãã£ã«ã ãããããªãžã®è»¢éã泚æããŸãã
åãå ¥ãããããã©ã¡ãŒã¿ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
ã¢ãŒã
ãã§ãŒãºã¢ãŒããèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
t ãã£ãŒã«ããªãŒããŒãäžãããã£ããã£ããäžãã転éããŸãã ãã£ã«ã¿ã¯é 延ããŸã
äžã®ãã£ãŒã«ãã
b ãã£ãŒã«ããªãŒããŒãæäžäœãããã£ããã£ããæäžäœã«è»¢éããŸãã ãã£ã«ã¿ãŒã¯ããããé ãããŸã
ãã£ãŒã«ãã
p åããã£ãŒã«ãé åºã§ãã£ããã£ããŠè»¢éããŸãã ãã®ã¢ãŒãã¯ã
åç §ããä»ã®ãªãã·ã§ã³ã®ããã¥ã¡ã³ãã§ãããå®éã«ãããéžæããå Žåã¯ã
ãã£ã«ã¿ã¯å¿ å®ã«äœãããŸããã
a ãã£ãŒã«ããã©ã°ã«ãã£ãŠèªåçã«æ±ºå®ããããã£ãŒã«ãã®é åºããã£ããã£ããå察ã«è»¢éããŸãã
ãã£ã«ã¿ã¯äžããéžæããŸã t ãš b ãã£ãŒã«ããã©ã°ã䜿çšãããã¬ãŒã ããšã®ã¢ãŒãã ããã
ãã£ãŒã«ãæ å ±ãå©çšã§ããªãå Žåãããã¯æ¬¡ã®ããã«æ©èœããŸã u.
u æªç¥ãŸãã¯å€åãããã®ããã£ããã£ããå察ã«è»¢éããŸãã ãã£ã«ã¿ã¯äžããéžæããŸã t ãš b äžã®
ç»åãåæãã代æ¿æ¡ãéžæããããšã«ããããã¬ãŒã ããšã«
ãã£ãŒã«ãéã®æé©ãªäžèŽãçæããŸãã
T ããããã¡ãŒã¹ãã§ãã£ããã£ããäžæãŸãã¯å€åãã転éã ãã£ã«ã¿ã¯äžããéžæããŸã t ãš p
ç»å解æã䜿çšããŸãã
B ããã ãã¡ãŒã¹ãã§ãã£ããã£ããäžæãŸãã¯å€åãããã®ã転éããŸãã ãã£ã«ã¿ã¯äžããéžæããŸã b ãš p
ç»å解æã䜿çšããŸãã
A ãã£ãŒã«ããã©ã°ã«ãã£ãŠæ±ºå®ããããã£ããã£ãäžæãŸãã¯å€åãã転éã ãã£ã«ã¿éžæ
é㧠t, b ãš p ãã£ãŒã«ããã©ã°ãšç»ååæã䜿çšããŸãã ãã£ãŒã«ãæ å ±ããªãå Žå
å©çšå¯èœã§ããã°ãããã¯æ¬¡ã®ããã«æ©èœããŸã Uã ãããããã©ã«ãã®ã¢ãŒãã§ãã
U äžæãŸãã¯å€åãããã£ããã£ãšè»¢éã®äž¡æ¹ã ãã£ã«ã¿ã¯äžããéžæããŸã t, b ãš p
ç»å解æã®ã¿ã䜿çšããŸãã
ãã¯ãã¹ãã¹ã
ãã¯ã»ã«ãã©ãŒãããèšè¿°åãã¹ããã£ã«ã¿ãŒãäž»ã«å éšãã¹ãã«åœ¹ç«ã¡ãŸãã åºåãããª
å ¥åãããªãšåãã§ããå¿ èŠããããŸãã
äŸïŒ
format = monowãpixdesctest
ã¢ããã¯ã€ããã¯ã»ã«ãã©ãŒãããèšè¿°åã®å®çŸ©ããã¹ãããããã«äœ¿çšã§ããŸãã
pp
libpostprocã䜿çšããŠãæå®ãããåŸåŠçãµããã£ã«ã¿ãŒã®ãã§ãŒã³ãæå¹ã«ããŸãã ãã®ã©ã€ãã©ãª
GPLãã«ãïŒ "--enable-gpl"ïŒã§èªåçã«éžæãããå¿ èŠããããŸãã ãµããã£ã«ã¿ãŒã¯
'/'ã§åºåããã'-'ãåã«ä»ããããšã§ç¡å¹ã«ã§ããŸãã åãµããã£ã«ã¿ãŒãšããã€ãã®ãªãã·ã§ã³
亀æå¯èœã«äœ¿çšã§ããçãååãšé·ãååããããŸããã€ãŸããdr/deringã¯
åãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãµããã£ã«ã¿ãŒ
åŸåŠçãµããã£ã«ã¿ãŒæååãèšå®ããŸãã
ãã¹ãŠã®ãµããã£ã«ã¿ãŒã¯ãã¹ã³ãŒãã決å®ããããã®å ±éã®ãªãã·ã§ã³ãå ±æããŠããŸãã
a / autoq
ãã®ãµããã£ã«ã¿ãŒã®å質ã³ãã³ããå°éããŸãã
c / chrom
ã¯ãããã³ã¹ãã£ã«ã¿ãªã³ã°ãè¡ããŸãïŒããã©ã«ãïŒã
y / nochrom
ã«ããã³ã¹ãã£ã«ã¿ãªã³ã°ã®ã¿ãå®è¡ããŸãïŒã¯ãããã³ã¹ã¯å®è¡ããŸããïŒã
n / noluma
ã¯ãããã³ã¹ãã£ã«ã¿ãªã³ã°ã®ã¿ãå®è¡ããŸãïŒã«ããã³ã¹ãªãïŒã
ãããã®ãªãã·ã§ã³ã¯ããµããã£ã«ã¿ãŒåã®åŸã«ã|ãã§åºåã£ãŠè¿œå ã§ããŸãã
䜿çšå¯èœãªãµããã£ã«ã¿ãŒã¯æ¬¡ã®ãšããã§ãã
hb / hdeblock [| Difference [| flatness]]
æ°Žå¹³éãããã¯ãã£ã«ã¿ãŒ
éã
å€ã倧ããã»ã©éãããã¯åãå€ãããšãæå³ããå·®åä¿æ°ïŒããã©ã«ãïŒ32ïŒã
å¹³åŠåºŠ
å¹³åŠåºŠã®ãããå€ãå€ãå°ããã»ã©éãããã¯åãå€ããªããŸãïŒããã©ã«ãïŒ39ïŒã
vb / vdeblock [| Difference [| flatness]]
åçŽéãããã¯ãã£ã«ã¿ãŒ
éã
å€ã倧ããã»ã©éãããã¯åãå€ãããšãæå³ããå·®åä¿æ°ïŒããã©ã«ãïŒ32ïŒã
å¹³åŠåºŠ
å¹³åŠåºŠã®ãããå€ãå€ãå°ããã»ã©éãããã¯åãå€ããªããŸãïŒããã©ã«ãïŒ39ïŒã
ha / hadeblock [| Difference [| flatness]]
æ£ç¢ºãªæ°Žå¹³ãããããã³ã°ãã£ã«ã¿ãŒ
éã
å€ã倧ããã»ã©éãããã¯åãå€ãããšãæå³ããå·®åä¿æ°ïŒããã©ã«ãïŒ32ïŒã
å¹³åŠåºŠ
å¹³åŠåºŠã®ãããå€ãå€ãå°ããã»ã©éãããã¯åãå€ããªããŸãïŒããã©ã«ãïŒ39ïŒã
va / vadeblock [| difference [| flatness]]
æ£ç¢ºãªåçŽéãããã¯ãã£ã«ã¿ãŒ
éã
å€ã倧ããã»ã©éãããã¯åãå€ãããšãæå³ããå·®åä¿æ°ïŒããã©ã«ãïŒ32ïŒã
å¹³åŠåºŠ
å¹³åŠåºŠã®ãããå€ãå€ãå°ããã»ã©éãããã¯åãå€ããªããŸãïŒããã©ã«ãïŒ39ïŒã
æ°Žå¹³ããã³åçŽéãããã¯ãã£ã«ã¿ãŒã¯ãå·®ãšå¹³åŠåºŠã®å€ãå ±æããããã
æ°Žå¹³æ¹åãšåçŽæ¹åã«ç°ãªããããå€ãèšå®ããããšã¯ã§ããŸããã
h1 / x1hdeblock
å®éšçãªæ°Žå¹³éãããã¯ãã£ã«ã¿ãŒ
v1 / x1vdeblock
å®éšçãªåçŽéãããã¯ãã£ã«ã¿ãŒ
dr / dering
ããªã³ã°ãã£ã«ã¿ãŒ
tn / tmpnoise [| threshold1 [| threshold2 [| threshold3]]]ã äžæç㪠ãã€ãº æžé
éŸå€1
ãã倧ãã->ãã匷åãªãã£ã«ã¿ãªã³ã°
éŸå€2
ãã倧ãã->ãã匷åãªãã£ã«ã¿ãªã³ã°
éŸå€3
ãã倧ãã->ãã匷åãªãã£ã«ã¿ãªã³ã°
al / autolevels [ïŒf / fullrange]ã èªå æãã / ã³ã³ãã©ã¹ã è£æ£
f/ãã«ã¬ã³ãž
èŒåºŠãã0-255ãã«äŒžã°ããŸãã
lb / linblenddeint
ãã¹ãŠããã£ã«ã¿ãªã³ã°ããããšã«ãããæå®ããããããã¯ãã€ã³ã¿ãŒã¬ãŒã¹è§£é€ããç·åœ¢ãã¬ã³ãã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãã£ã«ã¿ãŒ
ãïŒ1 2 1ïŒããã£ã«ã¿ãŒã䜿çšããè¡ã
li / linipoldeint
äžãããããããã¯ã次ã®ããã«ã€ã³ã¿ãŒã¬ãŒã¹è§£é€ããç·åœ¢è£éã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãã£ã«ã¿ãŒ
XNUMXè¡ããã«ç·åœ¢è£éããŸãã
ci / cubicipoldeint
ãã¥ãŒããã¯è£éã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãã£ã«ã¿ãŒã¯ãæå®ããããããã¯ããã¥ãŒããã¯ã«ãã€ã³ã¿ãŒã¬ãŒã¹ããŸã
XNUMXè¡ããã«è£éããŸãã
md / mediandeint
äžå€®å€ãé©çšããããšã«ãããæå®ããããããã¯ãã€ã³ã¿ãŒã¬ãŒã¹è§£é€ããäžå€®å€ã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãã£ã«ã¿ãŒ
XNUMXè¡ããã«ãã£ã«ã¿ãªã³ã°ããŸãã
fd / ffmpegdeint
FFmpegã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãã£ã«ã¿ãŒã¯ããã¹ãŠããã£ã«ã¿ãªã³ã°ããããšã«ãããæå®ããããããã¯ãã€ã³ã¿ãŒã¬ãŒã¹è§£é€ããŸã
ãïŒ-1 4 2 4 -1ïŒããã£ã«ã¿ãŒã䜿çšããXNUMXè¡ç®ã
l5 / lowpass5
æå®ããããããã¯ãã€ã³ã¿ãŒã¬ãŒã¹è§£é€ããåçŽæ¹åã«é©çšãããFIRããŒãã¹ã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãã£ã«ã¿ãŒ
ãïŒ-1 2 6 2 -1ïŒããã£ã«ã¿ãŒã§ãã¹ãŠã®è¡ããã£ã«ã¿ãŒåŠçããŸãã
fq / forceQuant [| quantizer]
æå®ããå®æ°éåååšã䜿çšããŠãå ¥åããã®éåååšããŒãã«ããªãŒããŒã©ã€ãããŸãã
éåååš
䜿çšããéåååš
de / default
ããã©ã«ãã®ppãã£ã«ã¿ãŒã®çµã¿åããïŒ "hb | aãvb | aãdr | a"ïŒ
fa / fast
é«éppãã£ã«ã¿ãŒã®çµã¿åããïŒ "h1 | aãv1 | aãdr | a"ïŒ
ac é«å質ã®ppãã£ã«ã¿ãŒã®çµã¿åããïŒ "ha | a | 128 | 7ãva | aãdr | a"ïŒ
äŸ
ã»æ°Žå¹³ããã³åçŽã®éãããã¯åãããªã³ã®ã³ã°ãããã³èªåèŒåºŠ/ã³ã³ãã©ã¹ããé©çšããŸãã
pp = hb / vb / dr / al
ã»æãã/ã³ã³ãã©ã¹ãè£æ£ãªãã§ããã©ã«ãã®ãã£ã«ã¿ãŒãé©çšããŸãã
pp = de / -al
ã»ããã©ã«ãã®ãã£ã«ã¿ãŒãšäžæçãªãã€ãºé€å»è£ 眮ãé©çšããŸãã
pp = default / tmpnoise | 1 | 2 | 3
ã»èŒåºŠã®ã¿ã«éãããã¯åãé©çšããåçŽæ¹åã®éãããã¯åããªã³ãŸãã¯ãªãã«åãæ¿ããŸã
䜿çšå¯èœãªCPUæéã«å¿ããŠèªåçã«ïŒ
pp = hb | y / vb | a
pp7
åŸåŠçãã£ã«ã¿ãŒ7ãé©çšããŸãããã㯠spp ãã£ã«ã¿ãspp = 6ã7ã«äŒŒãŠããŸã
ãã€ã³ãDCTãIDCTã®åŸã«äžå€®ã®ãµã³ãã«ã®ã¿ã䜿çšãããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
qp äžå®ã®éååãã©ã¡ãŒã¿ã匷å¶ããŸãã 0ãã63ã®ç¯å²ã®æŽæ°ãåãå ¥ããŸãã
èšå®ãããŠããªãå Žåããã£ã«ã¿ãŒã¯ãããªã¹ããªãŒã ããã®QPã䜿çšããŸãïŒäœ¿çšå¯èœãªå ŽåïŒã
ã¢ãŒã
ãããå€ã¢ãŒããèšå®ããŸãã 䜿çšå¯èœãªã¢ãŒãã¯æ¬¡ã®ãšããã§ãã
ããŒã
ããŒããããå€ãèšå®ããŸãã
ãœãã
ãœãããããå€ãèšå®ããŸãïŒããè¯ãããªã³ã®ã³ã°å¹æããããŸããããŒãããŠããå¯èœæ§ããããŸãïŒã
ããã£ã¢ã
äžçšåºŠã®ãããå€ãèšå®ããŸãïŒè¯å¥œãªçµæãããã©ã«ãïŒã
psnr
XNUMXã€ã®éã®å¹³åãæ倧ãããã³æå°ã®PSNRïŒããŒã¯ä¿¡å·å¯Ÿéé³æ¯ïŒãååŸããŸã
å ¥ååç»ã
ãã®ãã£ã«ã¿ãŒã¯å ¥åXNUMXã€ã®å ¥åãããªãåã蟌ã¿ãæåã®å ¥åã¯ãã¡ã€ã³ããšèŠãªãããŸã
ãœãŒã¹ã§ãããå€æŽãããã«åºåã«æž¡ãããŸãã XNUMXçªç®ã®å ¥åã¯ãåç §ããšããŠäœ¿çšãããŸã
PSNRãèšç®ããããã®ãããªã
ãã®ãã£ã«ã¿ãŒãæ©èœããã«ã¯ãäž¡æ¹ã®ãããªå ¥åãåã解å床ãšãã¯ã»ã«åœ¢åŒã§ããå¿ èŠããããŸã
æ£ããã ãŸããäž¡æ¹ã®å ¥åã®ãã¬ãŒã æ°ãåãã§ãããšæ³å®ããŠããŸãã
XNUMXã€ãã€æ¯èŒããŸããã
åŸãããå¹³åPSNRã¯ããã®ã³ã°ã·ã¹ãã ãä»ããŠå°å·ãããŸãã
ãã£ã«ã¿ã¯ãåãã¬ãŒã ã®çŽ¯ç©MSEïŒå¹³åäºä¹èª€å·®ïŒãä¿åããæåŸã«
åŠçã®çµæã¯ããã¹ãŠã®ãã¬ãŒã ã§åçã«å¹³ååããã次ã®åŒã¯æ¬¡ã®ããã«ãªããŸãã
PSNRãååŸããããã«é©çšãããŸãã
PSNR = 10 * log10ïŒMAX ^ 2 / MSEïŒ
ããã§ãMAXã¯ãç»åã®åã³ã³ããŒãã³ãã®æ倧å€ã®å¹³åã§ãã
åãå ¥ãããããã©ã¡ãŒã¿ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
stats_fileã f
æå®ããå Žåããã£ã«ã¿ãŒã¯æå®ããããã¡ã€ã«ã䜿çšããŠåå人ã®PSNRãä¿åããŸã
ãã¬ãŒã ã
次ã®å Žåã«å°å·ããããã¡ã€ã« çµ±èšãã¡ã€ã« ãéžæãããããŒãšå€ã®ãã¢ã®ã·ãŒã±ã³ã¹ãå«ãŸããŠããŸã
ãã©ãŒã ããŒ:å€ æ¯èŒããããã¬ãŒã ã®ã«ããã«ããšã«ã
瀺ãããŠããåãã©ã¡ãŒã¿ãŒã®èª¬æã¯æ¬¡ã®ãšããã§ãã
n 1ããå§ãŸãå ¥åãã¬ãŒã ã®é£çª
mse_avg
å¹³åäºä¹èª€å·®æ¯èŒããããã¬ãŒã ã®ãã¯ã»ã«ããšã®å¹³åå·®ãå¹³å
ãã¹ãŠã®ç»åã³ã³ããŒãã³ãã«ããã£ãŠã
mse_yã mse_uã mse_vã mse_rã mse_gã mse_gã mse_a
å¹³åäºä¹èª€å·®ã®æ¯èŒããããã¬ãŒã ã®ãã¯ã»ã«ããšã®å¹³åå·®
æ¥å°ŸèŸã§æå®ãããã³ã³ããŒãã³ãã
psnr_yã psnr_uã psnr_vã psnr_rã psnr_gã psnr_bã psnr_a
ã«ãã£ãŠæå®ãããã³ã³ããŒãã³ãã®æ¯èŒããããã¬ãŒã ã®ããŒã¯ä¿¡å·å¯Ÿéé³æ¯
ãµãã£ãã¯ã¹ã
äŸïŒ
movie = ref_movie.mpgãsetpts = PTS-STARTPTS [main];
[main] [ref] psnr = "stats_file = stats.log" [out]
ãã®äŸã§ã¯ãåŠçäžã®å ¥åãã¡ã€ã«ãåç §ãã¡ã€ã«ãšæ¯èŒãããŸã
ref_movie.mpgã åã ã®ãã¬ãŒã ã®PSNRã¯ã«ä¿åãããŸã çµ±èšãã°.
ãã«ã¢ãã
æ··åããŒããã¬ã·ããåŠçã§ãããã«ããŠã³å転ïŒéãã¬ã·ãïŒãã£ã«ã¿ãŒã
24000/1001 fpsããã°ã¬ãã·ããããã³30000/1001fpsããã°ã¬ãã·ãã³ã³ãã³ãã
ãã«ã¢ãããã£ã«ã¿ãŒã¯ãå°æ¥ã®ã³ã³ããã¹ããå©çšããŠæ±ºå®ãäžãããã«èšèšãããŠããŸãã
ãã®ãã£ã«ã¿ãŒã¯ããã©ããŒãããã¿ãŒã³ã«ããã¯ãããªããšããæå³ã§ã¹ããŒãã¬ã¹ã§ããã
代ããã«ãäžèŽãèå¥ããŠåæ§ç¯ããããã«ã次ã®ãã£ãŒã«ãã楜ãã¿ã«ããŠããŸã
ããã°ã¬ãã·ããã¬ãŒã ã
ãã¬ãŒã ã¬ãŒããåäžãªã³ã³ãã³ããäœæããã«ã¯ããã«ã¢ããåŸã«fpsãã£ã«ã¿ãŒãæ¿å ¥ããŸãã
å ¥åãã¬ãŒã ã¬ãŒãã24000fpsã®å Žåã¯ãfps=1001/29.97ãã24fpsã®å Žåã¯ãfps= 30ãããã³ïŒãŸãïŒ
ãã¬ã·ãããã25fpså ¥åã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
jl
jr
jt
jb ãããã®ãªãã·ã§ã³ã¯ãå·Šãå³ãäžãäžã§ç¡èŠããããžã£ã³ã¯ãã®éãèšå®ããŸã
ãããããç»åã®ã å·Šãšå³ã¯8ãã¯ã»ã«åäœã§ãäžãš
äžã¯2è¡åäœã§ãã ããã©ã«ãã¯ãå蟺ã8ãã¯ã»ã«ã§ãã
sb å³å¯ãªäŒæ©ãèšå®ããŸãã ãã®ãªãã·ã§ã³ã1ã«èšå®ãããšããã£ã«ã¿ãŒã®å¯èœæ§ãäœããªããŸã
äžäžèŽã®ãã¬ãŒã ããšãã©ãçæãããŸãããéå°ãªæ°ãçºçããå¯èœæ§ããããŸã
ãã€ã¢ãŒã·ã§ã³ã·ãŒã±ã³ã¹äžã«ããããããããã¬ãŒã ã®æ°ã éã«ã-1ã«èšå®ããŸã
ãã£ã«ã¿ã®äžèŽãã£ãŒã«ããããç°¡åã«ãªããŸãã ããã¯ããããªã®åŠçã«åœ¹ç«ã€å ŽåããããŸã
ãã£ãŒã«ãéã«ããããªãŒããããããŸãããã€ã³ã¿ãŒã¬ãŒã¹ãçºçããå¯èœæ§ããããŸã
åºåã®ãã¬ãŒã ã ããã©ã«ãå€ã¯0ã§ãã
mp 䜿çšããã¡ãŒãã«å¹³é¢ãèšå®ããŸãã 次ã®å€ãåãå ¥ããŸãã
l èŒåºŠé¢ã䜿çšããŸãã
u ã¯ãããã«ãŒãã¬ãŒã³ã䜿çšããŠãã ããã
v ã¯ããã¬ããé¢ã䜿çšããŠãã ããã
ãã®ãªãã·ã§ã³ã¯ãããã©ã«ãã®èŒåºŠå¹³é¢ã®ä»£ããã«åœ©åºŠå¹³é¢ã䜿çšããããã«èšå®ã§ããŸãã
ãã£ã«ã¿ã®èšç®ã ããã«ãããéåžžã«ã¯ãªãŒã³ãªãœãŒã¹ãããªã¢ã«ã®ç²ŸåºŠãåäžããå¯èœæ§ããããŸããã
ç¹ã«ã¯ãããã€ãºïŒã¬ã€ã³ããŒïŒãããå Žåã¯ã粟床ãäœäžããå¯èœæ§ãé«ããªããŸã
å¹æïŒãŸãã¯ä»»æã®ã°ã¬ãŒã¹ã±ãŒã«ãããªã èšå®ã®äž»ãªç®ç mp 圩床平é¢ã«
CPUè² è·ã軜æžããäœéã®ãã·ã³ã§ãã«ã¢ããããªã¢ã«ã¿ã€ã ã§äœ¿çšã§ããããã«ããŸãã
æè¯ã®çµæãåŸãã«ã¯ïŒåºåãã¡ã€ã«ã«éè€ãããã¬ãŒã ããªãå ŽåïŒãå€æŽããå¿ èŠããããŸã
åºåãã¬ãŒã ã¬ãŒãã ããšãã°ããã¬ã·ãNTSCå ¥åãéã«ããã«ã¯ïŒ
ffmpeg -i input -vf pullup -r24000/1001..ã
qp
ãããªéååãã©ã¡ãŒã¿ãŒïŒQPïŒãå€æŽããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
qp éååãã©ã¡ãŒã¿ã®åŒãèšå®ããŸãã
åŒã¯evalAPIãä»ããŠè©äŸ¡ãããç¹ã«ã
次ã®å®æ°ïŒ
æ¢ç¥ã®
ã€ã³ããã¯ã¹ã1ã§ãªãå Žåã¯129ããã以å€ã®å Žåã¯0ã
qp -129ãã128ãŸã§ã®ã·ãŒã±ã³ã·ã£ã«ã€ã³ããã¯ã¹ã
äŸ
ã»æ¬¡ã®ãããªæ¹çšåŒïŒ
qp = 2 + 2 * sinïŒPI * qpïŒ
ã©ã³ãã
ãã¬ãŒã ã®å éšãã£ãã·ã¥ããã©ã³ãã ãªé åºã«ãããªãã¬ãŒã ããã©ãã·ã¥ããŸãã ãã¬ãŒã ã¯ãããŸãã
å»æ£ãããŸããã ã«è§Šçºããã ãã¬ã€0r ç¥çµè³ªãªãã£ã«ã¿ãŒã
ãã¬ãŒã
ãµã€ãºãå éšãã£ãã·ã¥ã®ãã¬ãŒã æ°ã§2ã512ã®ç¯å²ã§èšå®ããŸããããã©ã«ãã¯30ã§ãã
ã·ãŒã
ä¹±æ°ãžã§ãã¬ãŒã¿ãŒã®ã·ãŒããèšå®ããŸãã0ãšXNUMXã®éã«å«ãŸããæŽæ°ã§ããå¿ èŠããããŸã
ãUINT32_MAXãã æå®ãããŠããªãå ŽåããŸãã¯æ瀺çã«0æªæºã«èšå®ãããŠããå Žåããã£ã«ã¿ãŒã¯
ãã¹ããšãã©ãŒãããŒã¹ã§é©åãªã©ã³ãã ã·ãŒãã䜿çšããããã«ããŠãã ããã
ç©ç©ãåãé€ã
removegrainãã£ã«ã¿ãŒã¯ãããã°ã¬ãã·ããããªã®ç©ºéãã€ãºé€å»è£ 眮ã§ãã
m0 æåã®å¹³é¢ã®ã¢ãŒããèšå®ããŸãã
m1 XNUMXçªç®ã®å¹³é¢ã®ã¢ãŒããèšå®ããŸãã
m2 XNUMXçªç®ã®å¹³é¢ã®ã¢ãŒããèšå®ããŸãã
m3 XNUMXçªç®ã®å¹³é¢ã®ã¢ãŒããèšå®ããŸãã
ã¢ãŒãã®ç¯å²ã¯0ã24ã§ããåã¢ãŒãã®èª¬æã¯æ¬¡ã®ãšããã§ãã
0 å ¥åãã¬ãŒã³ã¯å€æŽããªãã§ãã ããã ããã©ã«ãã
1 é£æ¥ãã8ã€ã®ãã¯ã»ã«ã®æå°å€ãšæ倧å€ã§ãã¯ã»ã«ãã¯ãªããããŸãã
2 8ã€ã®é£æ¥ãã¯ã»ã«ã®XNUMXçªç®ã®æå°å€ãšæ倧å€ã§ãã¯ã»ã«ãã¯ãªããããŸãã
3 8ã€ã®é£æ¥ãã¯ã»ã«ã®XNUMXçªç®ã®æå°å€ãšæ倧å€ã§ãã¯ã»ã«ãã¯ãªããããŸãã
4 8ã€ã®é£æ¥ãã¯ã»ã«ã®XNUMXçªç®ã®æå°å€ãšæ倧å€ã§ãã¯ã»ã«ãã¯ãªããããŸãã ãã
ã¡ãã£ã¢ã³ãã£ã«ã¿ãŒã«çžåœããŸãã
5 æå°éã®å€æŽãäžããã©ã€ã³ã»ã³ã·ãã£ãã¯ãªããã³ã°ã
6 ã©ã€ã³ã»ã³ã·ãã£ãã¯ãªããã³ã°ãäžéã
7 ã©ã€ã³ã»ã³ã·ãã£ãã¯ãªããã³ã°ãäžéã
8 ã©ã€ã³ã»ã³ã·ãã£ãã¯ãªããã³ã°ãäžéã
9 é£æ¥ãããã¯ã»ã«ãæãè¿ãã©ã€ã³ã§ã®ã©ã€ã³ã»ã³ã·ãã£ãã¯ãªããã³ã°ã
10 ã¿ãŒã²ãããã¯ã»ã«ãæãè¿ãé£ã®ãã¯ã»ã«ã«çœ®ãæããŸãã
11 [1]æ°Žå¹³ããã³åçŽã®ã«ãŒãã«ãã©ãŒã
12 ã¢ãŒã11ãšåãã§ãã
13 ããã¢ãŒããé£æ¥ãããã¯ã»ã«ãååšããã©ã€ã³ããããããã£ãŒã«ããè£éããŸã
æãè¿ãã
14 ããã¢ãŒããé£æ¥ãããã¯ã»ã«ãååšããã©ã€ã³ããäžã®ãã£ãŒã«ããè£éããŸã
æãè¿ãã
15 ããã¢ãŒããããããã£ãŒã«ããè£éããŸãã 13ãšåãã§ãããããè€éãªè£éããããŸã
åŒã
16 ããã¢ãŒããäžéšãã£ãŒã«ããè£éããŸãã 14ãšåãã§ãããããè€éã§ã
è£éåŒã
17 ããããæ倧å€ãšæå°å€ã®æå°å€ãšæ倧å€ã§ãã¯ã»ã«ãã¯ãªããããŸã
å察åŽã®é£æ¥ãã¯ã»ã«ã®åãã¢ã®ã
18 ããã®è·é¢ãæ倧ã®å察åŽã®ãã€ããŒã䜿çšããã©ã€ã³ã»ã³ã·ãã£ãã¯ãªããã³ã°
çŸåšã®ãã¯ã»ã«ã¯æå°ã§ãã
19 ãã¯ã»ã«ããã®8ã€ã®é£æ¥ãã¯ã»ã«ã®å¹³åã«çœ®ãæããŸãã
20 9ãã¯ã»ã«ãå¹³åããŸãïŒ[1 1 1]æ°Žå¹³ããã³åçŽãã©ãŒïŒã
21 å察åŽã®é£äººã®å¹³åã䜿çšããŠãã¯ã»ã«ãã¯ãªããããŸãã
22 ã¢ãŒã21ãšåãã§ãããããã·ã³ãã«ã§é«éã§ãã
23 å°ããªãšããžãšãããŒã®é€å»ã§ããã圹ã«ç«ããªããšèšãããŠããŸãã
24 23ãšåæ§ã
åé€ããŽ
ç»åãã¡ã€ã«ã䜿çšããŠãã¬ãå±ã®ããŽãæå¶ããã©ã®ãã¯ã»ã«ã
ããŽã ããã¯ãããŽãæ§æãããã¯ã»ã«ãé£æ¥ãããã¯ã»ã«ã§åããããšã«ãã£ãŠæ©èœããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãã¡ã€ã«åã f
ãã£ã«ã¿ãããããããã¡ã€ã«ãèšå®ããŸããããã¯ãlibavformatã§ãµããŒããããŠããä»»æã®ç»å圢åŒã«ããããšãã§ããŸãã
ç»åãã¡ã€ã«ã®å¹ ãšé«ãã¯ããããªã¹ããªãŒã ã®ãã®ãšäžèŽããå¿ èŠããããŸã
åŠçãããŸããã
å€ããŒãã®æäŸãããããããããç»åã®ãã¯ã»ã«ã¯ãã®äžéšãšã¯èŠãªãããŸããã
ããŽããŒã以å€ã®ãã¯ã»ã«ã¯ããŽã®äžéšãšèŠãªãããŸãã ããŽã«çœïŒ255ïŒã䜿çšããå Žå
æ®ãã¯é»ïŒ0ïŒã§ãå®å šã§ãã ãã£ã«ã¿ãããããããäœæããããã«ãããã¯ã§ã
ããŽã衚瀺ãããé»ããã¬ãŒã ã®ã¹ã¯ãªãŒã³ãã£ããã£ãæ®ã£ãŠããã
ãããå€ãã£ã«ã¿ãŒã䜿çšããç¶ããŠäŸµé£ãã£ã«ã¿ãŒãXNUMXåãŸãã¯XNUMXå䜿çšããŸãã
å¿ èŠã«å¿ããŠãå°ããªæç¹ãæåã§ä¿®æ£ã§ããŸãã ããŽãã¯ã»ã«ãããã§ãªãå Žåã¯èŠããŠãããŠãã ãã
èŠãããŠãããšããã£ã«ã¿ãŒã®å質ãå€§å¹ ã«äœäžããŸãã ã®äžéšãšããŠããŸãã«ãå€ãã®ãã¯ã»ã«ãããŒã¯ãã
ããŽã¯ããã»ã©å®³ã¯ãããŸããããã«ããŒããã®ã«å¿ èŠãªãŒããã®éãå¢ããŸã
ç»åäžã«ãããå¿ èŠä»¥äžã®æ å ±ãç Žå£ããäœåãªãã¯ã»ã«ã¯
倧ããªããŽã§ç©äºãé ãããŸãã
ãªããŒããã£ãŒã«ã
ãã®ãã£ã«ã¿ãŒã¯ãVideoESããããŒãšããŒããªããŒããã£ãŒã«ãã®repeat_fieldãã©ã°ã䜿çšããŸã
ãã®å€ã«åºã¥ããŠã
éè¡ããã ã¢ããŒã¹
ã¯ãªãããå転ããŸãã
èŠåïŒãã®ãã£ã«ã¿ãŒã¯ã¯ãªããå šäœããããã¡ãªã³ã°ããããã«ã¡ã¢ãªãå¿ èŠãšãããããããªãã³ã°ããå§ãããŸãã
äŸ
ã»ã¯ãªããã®æåã®5ç§éãåãããããéã«ããŸãã
ããªã =çµäº=5ãé
å転ããã
ã©ãžã¢ã³ã§è¡šãããä»»æã®è§åºŠã§ãããªãå転ãããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
è§åºŠã a
å ¥åãããªãæèšåãã«å転ãããè§åºŠã®åŒãèšå®ããŸãã
ã©ãžã¢ã³ã®æ°ãšããŠè¡šãããŸãã è² ã®å€ã¯åæèšåãã«ãªããŸã
å転ã ããã©ã«ãã§ã¯ã0ãã«èšå®ãããŠããŸãã
ãã®åŒã¯ããã¬ãŒã ããšã«è©äŸ¡ãããŸãã
out_wã ow
åºåå¹ ã®åŒãèšå®ããŸããããã©ã«ãå€ã¯ãiwãã§ãã ãã®åŒãè©äŸ¡ãããŸã
æ§æäžã«XNUMXåã ãã
out_hã oh
åºåé«ãåŒãèšå®ããŸããããã©ã«ãå€ã¯ãihãã§ãã ãã®åŒãè©äŸ¡ãããŸã
æ§æäžã«XNUMXåã ãã
ãã€ãªãã¢
1ã«èšå®ãããŠããå Žåãåäžæ¬¡è£éãæå¹ã«ããŸããå€ã0ã®å Žåãåäžæ¬¡è£éã¯ç¡å¹ã«ãªããŸãã ããã©ã«ãå€ã¯
1.
å¡ãã€ã¶ãã®è²ã c
å転ããç»åã§èŠãããŠããªãåºåé åãå¡ãã€ã¶ãããã«äœ¿çšããè²ãèšå®ããŸãã ã®ããã«
ãã®ãªãã·ã§ã³ã®äžè¬çãªæ§æã«ã€ããŠã¯ãffmpeg-utilsããã¥ã¢ã«ã®ãColorãã»ã¯ã·ã§ã³ã確èªããŠãã ããã
ç¹å¥ãªå€ãnoneããéžæãããŠããå Žåãèæ¯ã¯å°å·ãããŸããïŒ
èæ¯ã衚瀺ãããªãå Žåã®äŸïŒã
ããã©ã«ãå€ã¯ãé»ãã§ãã
è§åºŠãšåºåãµã€ãºã®åŒã«ã¯ã次ã®å®æ°ãš
æ©èœïŒ
n 0ããå§ãŸãå ¥åãã¬ãŒã ã®é£çªãåžžã«NANã®åã«ãããŸãã
æåã®ãã¬ãŒã ããã£ã«ã¿ãªã³ã°ãããŸãã
t å ¥åãã¬ãŒã ã®ç§åäœã®æéããã£ã«ã¿ãŒãæ§æãããŠããå Žåã¯0ã«èšå®ãããŸãã ãã
æåã®ãã¬ãŒã ããã£ã«ã¿ãªã³ã°ãããåã¯ãåžžã«NANã§ãã
ã²ãµã
察ãµã
æ°Žå¹³ããã³åçŽã¯ãããµããµã³ãã«å€ã ããšãã°ããã¯ã»ã«åœ¢åŒã®å Žå
ãyuv422pã ã²ãµã 2ãšã¯ 察ãµã 1ã§ãã
in_wã iw
in_hã ih
å ¥åãããªã®å¹ ãšé«ã
out_wã ow
out_hã oh
åºåã®å¹ ãšé«ããã€ãŸãã
å¹ ãš é«ã è¡šçŸ
rotwïŒaïŒ
rothïŒaïŒ
ã«ãã£ãŠå転ãããå ¥åãããªãå®å šã«å«ãããã«å¿ èŠãªæå°ã®å¹ /é«ã
a ã©ãžã¢ã³ã
ãããã¯ãèšç®æã«ã®ã¿äœ¿çšã§ããŸãã ã¢ãŠã_w ãš ã¢ãŠã_h åŒã
äŸ
ã»å ¥åãPI/6ã©ãžã¢ã³ã ãæèšåãã«å転ãããŸãã
å転=PI/ 6
ã»å ¥åãPI/6ã©ãžã¢ã³ã ãåæèšåãã«å転ãããŸãã
å転=-PI/ 6
ã»å ¥åãæèšåãã«45床å転ããŸãã
å転=45* PI / 180
ã»PI / 3ã®è§åºŠããéå§ããŠãåšæTã§äžå®ã®å転ãé©çšããŸãã
å転=PI/ 3 + 2 * PI * t / T
ã»å ¥åãããªã®å転ãTç§ã®åšæãšæ¯å¹ ã§æ¯åãããŸã
ã©ãžã¢ã³ã®ïŒ
å転=A* sinïŒ2 * PI / T * tïŒ
ã»ãããªãå転ãããŸããåºåãµã€ãºã¯ãå転ããå ¥åãããªå šäœã次ã®ããã«ãªãããã«éžæãããŸãã
åžžã«å®å šã«åºåã«å«ãŸããŸãïŒ
rotate = '2 * PI * tïŒow = hypotïŒiwãihïŒïŒoh = ow'
ã»ãããªãå転ãããåºåãµã€ãºãå°ããããŠãèæ¯ã衚瀺ãããªãããã«ããŸãã
rotate = 2 * PI * tïŒow ='minïŒiwãihïŒ/å¹³æ¹æ ¹ïŒ2ïŒ'ïŒoh = owïŒc = none
ã³ãã³ã
ãã£ã«ã¿ã¯æ¬¡ã®ã³ãã³ãããµããŒãããŸãã
a, è§åºŠ
è§åºŠåŒãèšå®ããŸãã ãã®ã³ãã³ãã¯ã察å¿ãããã®ãšåãæ§æãåãå ¥ããŸã
ãªãã·ã§ã³ãéžæããŸãã
æå®ãããåŒãç¡å¹ãªå ŽåãçŸåšã®å€ã«ä¿æãããŸãã
SAB
ã·ã§ã€ãã¢ãããã£ããã©ãŒãé©çšããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
luma_radiusã lr
ã«ããã©ãŒãã£ã«ã¿ãŒã®åŒ·åºŠãèšå®ããŸããå€ã¯0.1ã4.0ã®ç¯å²ã§ããå¿ èŠããããããã©ã«ãå€ã¯1.0ã§ãã
å€ã倧ãããããšãç»åããŒãããåŠçãé ããªããŸãã
luma_pre_filter_radiusã LPFR
èŒåºŠãã¬ãã£ã«ã¿ãŒååŸãèšå®ããŸãã0.1ã2.0ã®ç¯å²ã®å€ã§ããå¿ èŠããããããã©ã«ãå€ã¯
1.0.
luma_strengthã ls
èæ ®ããããã¯ã»ã«éã®èŒåºŠã®æ倧差ãèšå®ããŸããå€ã¯æ¬¡ã®å€ã§ããå¿ èŠããããŸãã
0.1ã100.0ã®ç¯å²ãããã©ã«ãå€ã¯1.0ã§ãã
chroma_radiusã cr
ã¯ãããã©ãŒãã£ã«ã¿ãŒã®åŒ·åºŠãèšå®ããŸããå€ã¯0.1ã4.0ã®ç¯å²ã§ããå¿ èŠããããŸãã ãã倧ããªå€
ç»åããŒãããåŠçãé ããªããŸãã
chroma_pre_filter_radiusã CPFR
ã¯ãããã¬ãã£ã«ã¿ãŒååŸãèšå®ããŸãã0.1ã2.0ã®ç¯å²ã®å€ã§ããå¿ èŠããããŸãã
chroma_strengthã cs
èæ ®ããããã¯ã»ã«éã®ã¯ããæ倧差ãèšå®ããŸããå€ã§ããå¿ èŠããããŸã
0.1ã100.0ã®ç¯å²ã§ãã
åã¯ãããªãã·ã§ã³å€ã¯ãæ瀺çã«æå®ãããŠããªãå Žåã察å¿ããèŒåºŠã«èšå®ãããŸã
ãªãã·ã§ã³å€ã
é段
libswscaleã©ã€ãã©ãªã䜿çšããŠãå ¥åãããªãã¹ã±ãŒãªã³ã°ïŒãµã€ãºå€æŽïŒããŸãã
ã¹ã±ãŒã«ãã£ã«ã¿ãŒã¯ãåºåãã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯ãå ¥åãšåãã«ããããã«åŒ·å¶ããŸãã
åºåãµã³ãã«ã®ã¢ã¹ãã¯ãæ¯ãå€æŽããŸãã
å ¥åç»åã®åœ¢åŒã次ã®ãã£ã«ã¿ãŒã§èŠæ±ããã圢åŒãšç°ãªãå Žåã
ã¹ã±ãŒã«ãã£ã«ã¿ãŒã¯ãå ¥åãèŠæ±ããã圢åŒã«å€æããŸãã
ãªãã·ã§ã³
ãã£ã«ã¿ã¯ã次ã®ãªãã·ã§ã³ããŸãã¯ã§ãµããŒããããŠãããªãã·ã§ã³ã®ãããããåãå ¥ããŸãã
libswscaleã¹ã±ãŒã©ãŒã
èŠã ã ffmpeg-ã¹ã±ãŒã©ãŒ ããã¥ã¢ã« ã¹ã±ãŒã©ãŒãªãã·ã§ã³ã®å®å šãªãªã¹ãã«ã€ããŠã¯ã
å¹ ã w
é«ãã h
åºååç»ã®å¯žæ³åŒãèšå®ããŸãã ããã©ã«ãå€ã¯å ¥å次å ã§ãã
å€ã0ã®å Žåãå ¥åå¹ ãåºåã«äœ¿çšãããŸãã
å€ã®1ã€ã-XNUMXã®å Žåãã¹ã±ãŒã«ãã£ã«ã¿ãŒã¯
ä»ã®æå®ããã寞æ³ããèšç®ããããå ¥åç»åã®ã¢ã¹ãã¯ãæ¯ã ããã
ã©ã¡ãã-1ã§ãå ¥åãµã€ãºã䜿çšãããŸã
å€ã®1ã€ã-nã§n>XNUMXã®å Žåãã¹ã±ãŒã«ãã£ã«ã¿ãŒã¯æ¬¡ã®å€ã䜿çšããŸãã
æå®ãããä»ã®ç»åããèšç®ããããå ¥åç»åã®ã¢ã¹ãã¯ãæ¯ãç¶æããŸã
寞æ³ã ãã ãããã®åŸãèšç®ããã寞æ³ã
nã§å²ãåããå¿ èŠã«å¿ããŠå€ã調æŽããŸãã
ãã£ã¡ã³ã·ã§ã³åŒã§äœ¿çšã§ããå®æ°ã®ãªã¹ãã«ã€ããŠã¯ã以äžãåç §ããŠãã ããã
ã€ã³ã¿ãŒã«
ã€ã³ã¿ãŒã¬ãŒã¹ã¢ãŒããèšå®ããŸãã 次ã®å€ãåãå ¥ããŸãã
1 ã€ã³ã¿ãŒã¬ãŒã¹èªèã¹ã±ãŒãªã³ã°ã匷å¶ããŸãã
0 ã€ã³ã¿ãŒã¬ãŒã¹ã¹ã±ãŒãªã³ã°ãé©çšããªãã§ãã ããã
-1 ãœãŒã¹ãã¬ãŒã ã«ãã©ã°ãä»ããããŠãããã©ããã«å¿ããŠãã€ã³ã¿ãŒã¬ãŒã¹å¯Ÿå¿ã¹ã±ãŒãªã³ã°ãéžæããŸã
ã€ã³ã¿ãŒã¬ãŒã¹ãã©ããã
ããã©ã«ãå€ã¯ 0.
ãã©ã°
libswscaleã¹ã±ãŒãªã³ã°ãã©ã°ãèšå®ããŸãã èŠã ã ffmpeg-ã¹ã±ãŒã©ãŒ ããã¥ã¢ã« ã®å®å šãªãªã¹ãã«ã€ããŠã¯
å€ã æ瀺çã«æå®ãããŠããªãå Žåããã£ã«ã¿ãŒã¯ããã©ã«ãã®ãã©ã°ãé©çšããŸãã
ãµã€ãºã s
ãããªãµã€ãºãèšå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãã㪠ãµã€ãº" in
ã ffmpeg-utils ããã¥ã¢ã«.
in_color_matrix
ã¢ãŠãã«ã©ãŒãããªãã¯ã¹
YCbCrè²ç©ºéã¿ã€ãã®å ¥å/åºåãèšå®ããŸãã
ããã«ãããèªåæ€åºãããå€ããªãŒããŒã©ã€ãã§ããã ãã§ãªãã
åºåãšãšã³ã³ãŒããŒã«äœ¿çšãããç¹å®ã®å€ã
æå®ããªãå Žåãè²ç©ºéã¿ã€ãã¯ãã¯ã»ã«åœ¢åŒã«ãã£ãŠç°ãªããŸãã
å¯èœãªå€ïŒ
ãªãŒã
èªåçã«éžæããŸãã
bt709
åœéé»æ°éä¿¡é£åïŒITUïŒã®æšå¥šäºé ã«æºæ ãã圢åŒ
BT.709ã
fcc ç±³åœé£éŠéä¿¡å§å¡äŒã«æºæ ããè²ç©ºéãèšå®ããŸã
ïŒFCCïŒé£éŠèŠåéïŒCFRïŒã¿ã€ãã«47ïŒ2003ïŒ73.682ïŒaïŒã
bt601
以äžã«æºæ ããè²ç©ºéãèšå®ããŸãã
ã»ITUç¡ç·éä¿¡ã»ã¯ã¿ãŒïŒITU-RïŒå§åBT.601
ã»ITU-RRecã BT.470-6ïŒ1998ïŒã·ã¹ãã BãB1ãããã³G
ã»Society of Motion Picture and Television EngineersïŒSMPTEïŒST 170ïŒ2004
smpte240m
SMPTE ST 240ïŒ1999ã«æºæ ããè²ç©ºéãèšå®ããŸãã
ç¯å²å ã§
ç¯å²å€
YCbCrãµã³ãã«ç¯å²ã®èšå®/åºåã
ããã«ãããèªåæ€åºãããå€ããªãŒããŒã©ã€ãã§ããã ãã§ãªãã
åºåãšãšã³ã³ãŒããŒã«äœ¿çšãããç¹å®ã®å€ã æå®ããªãå Žåãç¯å²ã¯
ãã¯ã»ã«ãã©ãŒãããã å¯èœãªå€ïŒ
ãªãŒã
èªåçã«éžæããŸãã
jpeg / full / pc
ãã«ã¬ã³ãžãèšå®ããŸãïŒ0ãããèŒåºŠã®å Žåã¯255ã8ïŒã
mpeg / tv
ãMPEGãç¯å²ãèšå®ããŸãïŒ16ãããèŒåºŠã®å Žåã¯235ã8ïŒã
Force_original_aspect_ratio
å¿ èŠã«å¿ããŠãåºåãããªã®å¹ ãŸãã¯é«ããå¢æžã§ããããã«ããŠã
å ã®ã¢ã¹ãã¯ãæ¯ã å¯èœãªå€ïŒ
disable
æå®ããããšããã«ãããªãæ¡å€§çž®å°ãããã®æ©èœãç¡å¹ã«ããŸãã
æžå°
åºåãããªã®ãµã€ãºã¯ãå¿ èŠã«å¿ããŠèªåçã«çž®å°ãããŸãã
å¢å ãã
åºåãããªã®ãµã€ãºã¯ãå¿ èŠã«å¿ããŠèªåçã«å¢å ããŸãã
ãã®ãªãã·ã§ã³ã®äŸ¿å©ãªäŸã®XNUMXã€ã¯ãç¹å®ã®ããã€ã¹ã®æ倧å€ãããã£ãŠããå Žåã§ãã
èš±å¯ããã解å床ãããã䜿çšããŠåºåãããªãããã«å¶éããããšãã§ããŸããã
ã¢ã¹ãã¯ãæ¯ãç¶æããŸãã ããšãã°ãããã€ã¹Aã§ã¯1280x720ã®åçãå¯èœã§ããã
ãããªã¯1920x800ã§ãã ãã®ãªãã·ã§ã³ã䜿çšããŠïŒæžå°ããããã«èšå®ïŒã1280x720ã次ã®ããã«æå®ããŸã
ã³ãã³ãã©ã€ã³ã¯åºåã1280x533ã«ããŸãã
ããã¯ã-1ãæå®ããã®ãšã¯ç°ãªãããšã«æ³šæããŠãã ããã w or hã ããªãã¯ãŸã
ãã®ãªãã·ã§ã³ãæ©èœãããã«ã¯ãåºå解å床ãæå®ããå¿ èŠããããŸãã
ã®å€ w ãš h ãªãã·ã§ã³ã¯ã次ã®å®æ°ãå«ãåŒã§ãã
in_w
in_h
å ¥åã®å¹ ãšé«ã
iw
ih ãããã¯ãšåãã§ã in_w ãš in_h.
ã¢ãŠã_w
ã¢ãŠã_h
åºåïŒã¹ã±ãŒãªã³ã°ãããïŒå¹ ãšé«ã
ow
oh ãããã¯ãšåãã§ã ã¢ãŠã_w ãš ã¢ãŠã_h
a ãšåã iw / ih
sar å ¥åãµã³ãã«ã®ã¢ã¹ãã¯ãæ¯
äžãã å ¥åãã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯ã ãïŒiw / ihïŒ*sarãããèšç®ãããŸãã
ã²ãµã
察ãµã
æ°Žå¹³ããã³åçŽå ¥åã¯ãããµããµã³ãã«å€ã ããšãã°ããã¯ã»ã«ã®å Žå
ãã©ãŒããããyuv422pã ã²ãµã 2ãšã¯ 察ãµã 1ã§ãã
ãªãŒãµã
ovsub
æ°Žå¹³ããã³åçŽã®åºåã¯ãããµããµã³ãã«å€ã ããšãã°ããã¯ã»ã«ã®å Žå
ãã©ãŒããããyuv422pã ã²ãµã 2ãšã¯ 察ãµã 1ã§ãã
äŸ
ã»å ¥åãããªã200x100ã®ãµã€ãºã«ã¹ã±ãŒãªã³ã°ããŸã
scale = w = 200ïŒh = 100
ããã¯æ¬¡ãšåçã§ãã
ã¹ã±ãŒã«= 200ïŒ100
ãŸãã¯ïŒ
ã¹ã±ãŒã«=200x100
ã»åºåãµã€ãºã®ãµã€ãºã®çç¥åœ¢ãæå®ããŸãã
scale = qcif
ããã¯æ¬¡ã®ããã«æžãããšãã§ããŸãïŒ
scale = size = qcif
ã»å ¥åã2åã«ã¹ã±ãŒãªã³ã°ããŸãã
scale = w = 2 * iwïŒh = 2 * ih
ã»äžèšã¯æ¬¡ãšåãã§ãã
scale = 2 * in_wïŒ2 * in_h
ã»åŒ·å¶ã€ã³ã¿ãŒã¬ãŒã¹ã¹ã±ãŒãªã³ã°ã䜿çšããŠãå ¥åã2åã«ã¹ã±ãŒãªã³ã°ããŸãã
scale = 2 * iwïŒ2 * ihïŒinterl = 1
ã»å ¥åãååã®ãµã€ãºã«ã¹ã±ãŒãªã³ã°ããŸãã
scale = w = iw / 2ïŒh = ih / 2
ã»å¹ ãåºããé«ããåããµã€ãºã«èšå®ããŸãã
scale = 3/2 * iwïŒow
ã»ã®ãªã·ã£ã®èª¿åãæ±ããïŒ
scale = iwïŒ1 / PHI * iw
scale = ih * PHIïŒih
ã»é«ããå¢ãããå¹ ãé«ãã®3/2ã«èšå®ããŸãã
scale = w = 3/2 * ohïŒh = 3/5 * ih
ã»ãµã€ãºã倧ããããŠããµã€ãºãã¯ãããµããµã³ãã«å€ã®åæ°ã«ããŸãã
scale = "truncïŒ3/2 * iw / hsubïŒ* hsubïŒtruncïŒ3/2 * ih / vsubïŒ* vsub"
ã»å¹ ãæ倧500ãã¯ã»ã«ã«å¢ãããã¢ã¹ãã¯ãæ¯ãæ倧XNUMXãã¯ã»ã«ã«ä¿ã¡ãŸãã
å ¥åïŒ
scale = w ='minïŒ500 \ãiw * 3/2ïŒïŒh = -1'
ã³ãã³ã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ã³ãã³ãããµããŒãããŸãã
å¹ ã w
é«ãã h
åºååç»ã®å¯žæ³åŒãèšå®ããŸãã ãã®ã³ãã³ãã¯ã
察å¿ãããªãã·ã§ã³ã
æå®ãããåŒãç¡å¹ãªå ŽåãçŸåšã®å€ã«ä¿æãããŸãã
ã¹ã±ãŒã«2åç §
åç §ãããªã«åºã¥ããŠãå ¥åãããªãã¹ã±ãŒãªã³ã°ïŒãµã€ãºå€æŽïŒããŸãã
䜿çšå¯èœãªãªãã·ã§ã³ã«ã€ããŠã¯ãã¹ã±ãŒã«ãã£ã«ã¿ãŒãåç §ããŠãã ãããscale2refã¯åããã®ããµããŒãããŸããã
åºæ¬ãšããŠã¡ã€ã³å ¥åã®ä»£ããã«ãããªãåç §ããŠãã ããã
äŸ
ã»ãªãŒããŒã¬ã€ããåã«ãåå¹ã¹ããªãŒã ãã¡ã€ã³ãããªã®ãµã€ãºãšäžèŽããããã«ã¹ã±ãŒãªã³ã°ããŸã
'scale2ref [b] [a]; [a] [b] overlay'
ã»ãã¬ãŒããã£ãŒã«ã
ãseparatefieldsãã¯ããã¬ãŒã ããŒã¹ã®ãããªå ¥åãåãåããåãã¬ãŒã ã
ã³ã³ããŒãã³ããã£ãŒã«ããXNUMXåã®ãã¬ãŒã ã¬ãŒããšXNUMXåã®æ°ããããŒããã€ãã¯ãªãããäœæ
ãã¬ãŒã æ°ã
ãã®ãã£ã«ã¿ãŒã¯ããã¬ãŒã å ã®ãã£ãŒã«ãåªäœæ§æ å ±ã䜿çšããŠã
åºåã®æåã«é 眮ãããã£ãŒã«ãã ééã£ãŠäœ¿çšããå Žå ã»ãããã£ãŒã«ã åã«ãã£ã«ã¿ãªã³ã°
ãseparatefieldsããã£ã«ã¿ãŒã
ã»ããŒã ã»ã¿ãŒã«
ãsetdarããã£ã«ã¿ãŒã¯ããã£ã«ã¿ãŒåºåãããªã®ãã£ã¹ãã¬ã€ã¢ã¹ãã¯ãæ¯ãèšå®ããŸãã
ããã¯ãæå®ããããµã³ãã«ïŒå¥åãã¯ã»ã«ïŒã¢ã¹ãã¯ãæ¯ãå€æŽããããšã«ãã£ãŠè¡ãããŸãã
次ã®æ¹çšåŒïŒ
= / *
ãsetdarããã£ã«ã¿ãŒã¯ãããªã®ãã¯ã»ã«ãµã€ãºãå€æŽããªãããšã«æ³šæããŠãã ãã
ãã¬ãŒã ã ãŸãããã®ãã£ã«ã¿ãŒã§èšå®ããããã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯ã¯ãåŸã®ãã£ã«ã¿ãŒã§å€æŽãããå ŽåããããŸã
ãã£ã«ã¿ãã§ãŒã³å ãããšãã°ãã¹ã±ãŒãªã³ã°ã®å ŽåããŸãã¯å¥ã®ãsetdarããŸãã¯ãsetsarããã£ã«ã¿ã
é©çšãããã
ãsetsarããã£ã«ã¿ãŒã¯ããã£ã«ã¿ãŒåºåãããªã®ãµã³ãã«ïŒå¥åãã¯ã»ã«ïŒã¢ã¹ãã¯ãæ¯ãèšå®ããŸãã
ãã®ãã£ã«ã¿ãŒã®é©çšã®çµæãšããŠãåºå衚瀺ã®åŽé¢ã«æ³šæããŠãã ãã
æ¯çã¯äžèšã®åŒã«åŸã£ãŠå€åããŸãã
ãsetsarããã£ã«ã¿ãŒã«ãã£ãŠèšå®ããããµã³ãã«ã®ã¢ã¹ãã¯ãæ¯ã¯ã次ã®ããã«å€æŽãããå¯èœæ§ãããããšã«æ³šæããŠãã ããã
ãã£ã«ã¿ãã§ãŒã³å ã®åŸã®ãã£ã«ã¿ãããšãã°ãå¥ã®ãsetsarããŸãã¯ãsetdarããã£ã«ã¿ã
é©çšãããã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
r, æ¯ã äžãã ïŒãsetdarã ã®ã¿ïŒã sar (ãsetsarã ã®ã¿ïŒ
ãã£ã«ã¿ã§äœ¿çšããã¢ã¹ãã¯ãæ¯ãèšå®ããŸãã
ãã©ã¡ãŒã¿ã¯ãæµ®åå°æ°ç¹æ°ã®æååãåŒããŸãã¯
ãã©ãŒã NUM:æ¥ããã§ã NUM ãš æ¥ ã¢ã¹ãã¯ãæ¯ã®ååãšåæ¯ã§ãã
ãã©ã¡ãŒã¿ãæå®ãããŠããªãå Žåã¯ãå€ã0ããšèŠãªãããŸãã ãã©ãŒã ã®å Žå
"NUM:æ¥ããã䜿çšããå Žåã¯ããïŒãæåããšã¹ã±ãŒãããå¿ èŠããããŸãã
ããã¯ã¹ ååãšåæ¯ãè¡šãããã«äœ¿çšããæ倧æŽæ°å€ãèšå®ãã
è¡šçŸãããã¢ã¹ãã¯ãæ¯ãæçæ°ã«æžãããŸãã ããã©ã«ãå€ã¯100ã§ãã
ãã©ã¡ãŒã¿ sar 次ã®å®æ°ãå«ãåŒã§ãã
E, PIã PHI
ãããã¯ãæ°åŠå®æ°eïŒãªã€ã©ãŒæ°ïŒãpiã®è¿äŒŒå€ã§ãã
ïŒã®ãªã·ã£ã®ååšçïŒãããã³ãã¡ã€ïŒé»éæ¯ïŒã
w, h
å ¥åã®å¹ ãšé«ãã
a ãããã¯ãšåãã§ã w / h.
sar å ¥åãµã³ãã«ã®ã¢ã¹ãã¯ãæ¯ã
äžãã å ¥åãã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯ã ïŒw / hïŒ* sar.
hsubã 察ãµã
æ°Žå¹³ããã³åçŽã®ã¯ãããµããµã³ãã«å€ã ããšãã°ããã¯ã»ã«åœ¢åŒã®å Žå
ãyuv422pã ã²ãµã 2ãšã¯ 察ãµã 1ã§ãã
äŸ
ã»ãã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯ã16ïŒ9ã«å€æŽããã«ã¯ã次ã®ãããããæå®ããŸãã
setdar = dar = 1.77777
setdar = dar = 16/9
setdar = dar = 1.77777
ã»ãµã³ãã«ã®ã¢ã¹ãã¯ãæ¯ã10:11ã«å€æŽããã«ã¯ã次ã®ããã«æå®ããŸãã
setsar = sar = 10/11
ã»ãã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯ã16ïŒ9ã«èšå®ããæ倧æŽæ°å€ã1000ã«æå®ããã«ã¯
ã¢ã¹ãã¯ãæ¯ãäžããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸãã
setdar = ratio = 16/9ïŒmax = 1000
ã»ãããã£ãŒã«ã
åºåãããªãã¬ãŒã ã®åå Žã
ãsetfieldããã£ã«ã¿ãŒã¯ãåºåãã¬ãŒã ã®ã€ã³ã¿ãŒã¬ãŒã¹ã¿ã€ããã£ãŒã«ããããŒã¯ããŸãã ããã¯ããŸãã
å ¥åãã¬ãŒã ãå€æŽããŸããã察å¿ããããããã£ã®ã¿ãèšå®ããŸããããã¯ã
ãã¬ãŒã ã¯ã次ã®ãã£ã«ã¿ãŒïŒãfieldorderãããyadifããªã©ïŒã«ãã£ãŠåŠçãããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã¢ãŒã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ãªãŒã
åããã£ãŒã«ãããããã£ãä¿æããŸãã
BFF ãã¬ãŒã ãããã ãã£ãŒã«ããã¡ãŒã¹ããšããŠããŒã¯ããŸãã
tff ãã¬ãŒã ãããããã£ãŒã«ããã¡ãŒã¹ããšããŠããŒã¯ããŸãã
ããã€ã
ãã¬ãŒã ãããã°ã¬ãã·ããšããŠããŒã¯ããŸãã
SHOWINFO
åå ¥åãããªãã¬ãŒã ã®ããŸããŸãªæ å ±ãå«ãè¡ã衚瀺ããŸãã å ¥åãããªã¯
å€æŽãããŠããŸããã
瀺ãããŠããè¡ã«ã¯ããã©ãŒã ã®ããŒãšå€ã®ãã¢ã®ã·ãŒã±ã³ã¹ãå«ãŸããŠããŸã ããŒ:å€.
次ã®å€ãåºåã«è¡šç€ºãããŸãã
n 0ããå§ãŸãå ¥åãã¬ãŒã ã®ïŒã·ãŒã±ã³ã·ã£ã«ïŒçªå·ã
PTS ã¿ã€ã ããŒã¹ã®æ°ãšããŠè¡šããããå ¥åãã¬ãŒã ã®ãã¬ãŒã³ããŒã·ã§ã³ã¿ã€ã ã¹ã¿ã³ã
åäœã ã¿ã€ã ããŒã¹ã®åäœã¯ããã£ã«ã¿ãŒã®å ¥åãããã«ãã£ãŠç°ãªããŸãã
pts_time
å ¥åãã¬ãŒã ã®è¡šç€ºã¿ã€ã ã¹ã¿ã³ããç§æ°ã§è¡šãããŸãã
æçš¿ãã å ¥åã¹ããªãŒã å ã®ãã¬ãŒã ã®äœçœ®ããã®æ å ±ã次ã®å Žåã¯-1
å©çšã§ããªããããã³/ãŸãã¯ç¡æå³ã§ãïŒããšãã°ãåæãããªã®å ŽåïŒã
FMT ãã¯ã»ã«ãã©ãŒãããåã
sar å ¥åãã¬ãŒã ã®ãµã³ãã«ã¢ã¹ãã¯ãæ¯ã次ã®åœ¢åŒã§è¡šãããŸãã NUM/æ¥.
s å ¥åãã¬ãŒã ã®ãµã€ãºã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãã㪠ãµã€ãº"
in ã ffmpeg-utils ããã¥ã¢ã«.
i ã€ã³ã¿ãŒã¬ãŒã¹ã¢ãŒãã®ã¿ã€ãïŒãããã°ã¬ãã·ããã®å Žåã¯ãPããæåã®ããããã£ãŒã«ãã®å Žåã¯ãTããæåã®å Žåã¯ãBã
äžçªäžã®ãã£ãŒã«ããæåã§ãïŒã
ã€ã¹ããŒ
ãã¬ãŒã ãããŒãã¬ãŒã ã®å Žåã¯1ããã以å€ã®å Žåã¯0ã§ãã
type
å ¥åãã¬ãŒã ã®ç»åã¿ã€ãïŒIãã¬ãŒã ã®å Žåã¯ãIããPãã¬ãŒã ã®å Žåã¯ãPãã
Bãã¬ãŒã ããŸãã¯ãïŒã äžæãªã¿ã€ãã®å ŽåïŒã ã®ããã¥ã¡ã³ããåç §ããŠãã ãã
ãAVPictureTypeãåæåããã³ãav_get_picture_type_charãé¢æ°ã®
libavutil / avutil.h.
ãã§ãã¯ãµã
å ¥åãã¬ãŒã ã®ãã¹ãŠã®å¹³é¢ã®Adler-32ãã§ãã¯ãµã ïŒXNUMXé²æ°ã§å°å·ïŒã
å¹³é¢ãã§ãã¯ãµã
å ¥åãã¬ãŒã ã®åå¹³é¢ã®Adler-32ãã§ãã¯ãµã ïŒXNUMXé²æ°ã§å°å·ïŒã
ã[c0 c1 c2 c3] "ã
ã·ã§ãŒãã¬ãã
åãã¬ãŒã ã®256è²ãã¬ããã衚瀺ããŸãã ãã®ãã£ã«ã¿ãŒã¯ã«ã®ã¿é¢é£ããŸã pal8 ãã¯ã»ã«
ãã¬ãŒã ããã©ãŒãããããŸãã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
s 30ã€ã®ãã¬ããã«ã©ãŒãšã³ããªãè¡šãããã«äœ¿çšãããããã¯ã¹ã®ãµã€ãºãèšå®ããŸãã ããã©ã«ãã¯XNUMXã§ãïŒ
ã30x30ããã¯ã»ã«ããã¯ã¹ïŒã
ã·ã£ããã«ãã¬ãŒã³
ãããªãã¬ãŒã³ã䞊ã¹æ¿ããããè€è£œãããããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
map0
æåã®åºåãã¬ãŒã³ãšããŠäœ¿çšãããå ¥åãã¬ãŒã³ã®ã€ã³ããã¯ã¹ã
map1
XNUMXçªç®ã®åºåãã¬ãŒã³ãšããŠäœ¿çšãããå ¥åãã¬ãŒã³ã®ã€ã³ããã¯ã¹ã
map2
XNUMXçªç®ã®åºåãã¬ãŒã³ãšããŠäœ¿çšãããå ¥åãã¬ãŒã³ã®ã€ã³ããã¯ã¹ã
map3
XNUMXçªç®ã®åºåãã¬ãŒã³ãšããŠäœ¿çšãããå ¥åãã¬ãŒã³ã®ã€ã³ããã¯ã¹ã
æåã®å¹³é¢ã®ã€ã³ããã¯ã¹ã¯0ã§ããããã©ã«ãã§ã¯ãå ¥åã¯å€æŽãããŸããã
å ¥åã®XNUMXçªç®ãšXNUMXçªç®ã®å¹³é¢ãå ¥ãæ¿ããŸãã
ffmpeg -i INPUT -vf shuffleplanes = 0ïŒ2ïŒ1ïŒ3 OUTPUT
ã·ã°ãã«çµ±èš
ã«é¢é£ããåé¡ã®ç¹å®ã«åœ¹ç«ã€ããŸããŸãªèŠèŠçææšãè©äŸ¡ããŸã
ã¢ããã°ãããªã¡ãã£ã¢ã®ããžã¿ã«åã
ããã©ã«ãã§ã¯ããã£ã«ã¿ãŒã¯ãããã®ã¡ã¿ããŒã¿å€ããã°ã«èšé²ããŸãã
ãŠãã³
å ¥åãã¬ãŒã ã«å«ãŸããæå°ã®Yå€ã衚瀺ããŸãã ã®ç¯å²ã§è¡šçŸ
[0-255]ã
é»
å ¥åãã¬ãŒã å ã®10ïŒ ããŒã»ã³ã¿ã€ã«ã§Yå€ã衚瀺ããŸãã ç¯å²å ã§è¡šçŸ
[0-255]ã®ã
ã€ãã°
å ¥åãã¬ãŒã å ã®å¹³åYå€ã衚瀺ããŸãã [0-255]ã®ç¯å²ã§è¡šãããŸãã
é«
å ¥åãã¬ãŒã å ã®90ïŒ ããŒã»ã³ã¿ã€ã«ã§Yå€ã衚瀺ããŸãã ç¯å²å ã§è¡šçŸ
[0-255]ã®ã
ã¯ã€ããã¯ã¹
å ¥åãã¬ãŒã ã«å«ãŸããæ倧Yå€ã衚瀺ããŸãã ã®ç¯å²ã§è¡šçŸ
[0-255]ã
ãã¿ã
å ¥åãã¬ãŒã ã«å«ãŸããæå°ã®Uå€ã衚瀺ããŸãã ã®ç¯å²ã§è¡šçŸ
[0-255]ã
ãŠãŒããŒ
å ¥åãã¬ãŒã å ã®10ïŒ ããŒã»ã³ã¿ã€ã«ã§Uå€ã衚瀺ããŸãã ç¯å²å ã§è¡šçŸ
[0-255]ã®ã
UAVG
å ¥åãã¬ãŒã å ã®å¹³åUå€ã衚瀺ããŸãã [0-255]ã®ç¯å²ã§è¡šãããŸãã
é«ã
å ¥åãã¬ãŒã å ã®90ïŒ ããŒã»ã³ã¿ã€ã«ã§Uå€ã衚瀺ããŸãã ç¯å²å ã§è¡šçŸ
[0-255]ã®ã
UMAX
å ¥åãã¬ãŒã ã«å«ãŸããæ倧Uå€ã衚瀺ããŸãã ã®ç¯å²ã§è¡šçŸ
[0-255]ã
VMIN
å ¥åãã¬ãŒã ã«å«ãŸããæå°Vå€ã衚瀺ããŸãã ã®ç¯å²ã§è¡šçŸ
[0-255]ã
ãŽããŠ
å ¥åãã¬ãŒã å ã®10ïŒ ããŒã»ã³ã¿ã€ã«ã§Vå€ã衚瀺ããŸãã ç¯å²å ã§è¡šçŸ
[0-255]ã®ã
VAVG
å ¥åãã¬ãŒã å ã®å¹³åVå€ã衚瀺ããŸãã [0-255]ã®ç¯å²ã§è¡šãããŸãã
é«ã
å ¥åãã¬ãŒã å ã®90ïŒ ããŒã»ã³ã¿ã€ã«ã§Vå€ã衚瀺ããŸãã ç¯å²å ã§è¡šçŸ
[0-255]ã®ã
Vmax
å ¥åãã¬ãŒã ã«å«ãŸããæ倧Vå€ã衚瀺ããŸãã ã®ç¯å²ã§è¡šçŸ
[0-255]ã
ãµããã³
å ¥åãã¬ãŒã ã«å«ãŸããæå°åœ©åºŠå€ã衚瀺ããŸãã ã§è¡šçŸ
[0-ã181.02]ã®ç¯å²ã
ãµããã
å ¥åãã¬ãŒã å ã®10ïŒ ããŒã»ã³ã¿ã€ã«ã§é£œåå€ã衚瀺ããŸãã è¡šçŸ
[0-ã181.02]ã®ç¯å²ã
SATAVG
å ¥åãã¬ãŒã å ã®å¹³å飜åå€ã衚瀺ããŸãã ã®ç¯å²ã§è¡šçŸ
[0-ã181.02]ã
ãµãã€
å ¥åãã¬ãŒã å ã®90ïŒ ããŒã»ã³ã¿ã€ã«ã§é£œåå€ã衚瀺ããŸãã è¡šçŸ
[0-ã181.02]ã®ç¯å²ã
SATMAX
å ¥åãã¬ãŒã ã«å«ãŸããæ倧圩床å€ã衚瀺ããŸãã ã§è¡šçŸ
[0-ã181.02]ã®ç¯å²ã
ãã¥ãŒã ã
å ¥åãã¬ãŒã å ã®è²çžã®äžå€®å€ã衚瀺ããŸãã ã®ç¯å²ã§è¡šçŸ
[0-360]ã
ãã¥ãŒã¢ãŽã°
å ¥åãã¬ãŒã å ã®è²çžã®å¹³åå€ã衚瀺ããŸãã ã®ç¯å²ã§è¡šçŸ
[0-360]ã
YDIF
Yå¹³é¢ã®ãã¹ãŠã®å€éã®ãµã³ãã«å€ã®å·®ã®å¹³åãã§è¡šç€ºããŸã
çŸåšã®ãã¬ãŒã ãšåã®å ¥åãã¬ãŒã ã®å¯Ÿå¿ããå€ã ã§è¡šçŸ
[0-255]ã®ç¯å²ã
UDIF
Uå¹³é¢ã®ãã¹ãŠã®å€éã®ãµã³ãã«å€ã®å·®ã®å¹³åãã§è¡šç€ºããŸã
çŸåšã®ãã¬ãŒã ãšåã®å ¥åãã¬ãŒã ã®å¯Ÿå¿ããå€ã ã§è¡šçŸ
[0-255]ã®ç¯å²ã
VDIF
Vå¹³é¢ã®ãã¹ãŠã®å€éã®ãµã³ãã«å€ã®å·®ã®å¹³åãã§è¡šç€ºããŸã
çŸåšã®ãã¬ãŒã ãšåã®å ¥åãã¬ãŒã ã®å¯Ÿå¿ããå€ã ã§è¡šçŸ
[0-255]ã®ç¯å²ã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
STAT
ã§ã STAT ç»ååæã®è¿œå 圢åŒãæå®ããŸãã ã§ã ã§ãããªãåºå
æå®ãããã¿ã€ãã®ãã¯ã»ã«ã匷調衚瀺ãããŸãã
ã©ã¡ãã®ãªãã·ã§ã³ã次ã®å€ãåãå ¥ããŸãã
ããå±
èå¥ãã äžæç㪠ç°åžžå€ ãã¯ã»ã«ã A äžæç㪠å€ãå€ ãšã¯ç°ãªãããã¯ã»ã«ã§ã
åããã£ãŒã«ãã®é£æ¥ãããã¯ã»ã«ã æéçå€ãå€ã®äŸã«ã¯ã
ãããªããããã¢ãŠãããããã¯ããã°ããŸãã¯ããŒããã©ããã³ã°ã®åé¡ã®çµæã
ãŽã¬ãã
èå¥ãã åçŽ ã©ã€ã³ ç¹°ãè¿ãã åçŽç·ã®ç¹°ãè¿ãã«ã¯ãåæ§ã®è¡ãå«ãŸããŸã
ãã¬ãŒã å ã®ãã¯ã»ã«ã®ã çãŸããããžã¿ã«ãããªã§ã¯ãåçŽç·ã®ç¹°ãè¿ãã¯
äžè¬çã§ããããã®ãã¿ãŒã³ã¯ãã¢ããã°ãœãŒã¹ããããžã¿ã«åããããããªã§ã¯äžè¬çã§ã¯ãããŸããã
ã¢ããã°ãœãŒã¹ã®ããžã¿ã«åã®çµæãšããŠãããªã§çºçããå Žåã
ããããã¢ãŠãè£ååšããã®é èœã瀺ãããšãã§ããŸãã
ãããã
æ³å®æŸéç¯å²å€ã®ãã¯ã»ã«ãç¹å®ããŸãã
è²ã c
ã®ãã€ã©ã€ãè²ãèšå®ããŸã ã§ã ãªãã·ã§ã³ã ããã©ã«ãã®è²ã¯é»è²ã§ãã
äŸ
ã»ããŸããŸãªãããªã¡ããªãã¯ã®åºåããŒã¿ïŒ
ffprobe -f lavfi movie = example.movãsignalstats = "stat = tout + vrep + brng" -show_frames
ã»ãã¬ãŒã ããšã®Yå¹³é¢ã®æå°å€ãšæ倧å€ã«é¢ããç¹å®ã®ããŒã¿ãåºåããŸãã
ffprobe -f lavfi movie = example.movãsignalstats -show_entries frame_tags = lavfi.signalstats.YMAXãlavfi.signalstats.YMIN
ã»æŸéç¯å²å€ã®ãã¯ã»ã«ãèµ€ã§ãã€ã©ã€ãããªããåç»ãåçããŸãã
ffplay example.mov -vf signalstats = "out = brngïŒcolor = red"
ã»ãã¬ãŒã äžã«æç»ãããsignalstatsã¡ã¿ããŒã¿ã䜿çšããŠãããªãåçããŸãã
ffplay example.mov -vf signalstats = stat = brng + vrep + toutãdrawtext = fontfile = FreeSerif.ttfïŒtextfile = signalstat_drawtext.txt
ã³ãã³ãã§äœ¿çšãããsignalstat_drawtext.txtã®å 容ã¯æ¬¡ã®ãšããã§ãã
æéïŒ {ptsïŒhms}
YïŒïŒ {metadataïŒlavfi.signalstats.YMIN}-ïŒ {metadataïŒlavfi.signalstats.YMAX}ïŒ
UïŒïŒ {metadataïŒlavfi.signalstats.UMIN}-ïŒ {metadataïŒlavfi.signalstats.UMAX}ïŒ
VïŒïŒ {metadataïŒlavfi.signalstats.VMIN}-ïŒ {metadataïŒlavfi.signalstats.VMAX}ïŒ
æ倧飜å床ïŒïŒ {metadataïŒlavfi.signalstats.SATMAX}
ã¹ããŒããã©ãŒ
ã¢ãŠãã©ã€ã³ã«åœ±é¿ãäžããã«ãå ¥åãããªããŒãããŸãã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
luma_radiusã lr
èŒåºŠååŸãèšå®ããŸãã ãªãã·ã§ã³å€ã¯ã[0.1,5.0]ã®ç¯å²ã®æµ®åå°æ°ç¹æ°ã§ãªããã°ãªããŸããã
ããã¯ãç»åããŒããããã«äœ¿çšãããã¬ãŠã¹ãã£ã«ã¿ãŒã®åæ£ãæå®ããŸãïŒ
倧ããïŒã ããã©ã«ãå€ã¯1.0ã§ãã
luma_strengthã ls
èŒåºŠã®åŒ·ããèšå®ããŸãã ãªãã·ã§ã³å€ã¯ã[-1.0,1.0]ã®ç¯å²ã®æµ®åå°æ°ç¹æ°ã§ãªããã°ãªããŸããã
ãŒãããæ§æããŸãã [0.0,1.0]ã«å«ãŸããå€ã¯ãç»åããŒãããŸã
äžæ¹ã[-1.0,0.0]ã«å«ãŸããå€ã¯ãç»åãé®®æã«ããŸãã ããã©ã«ãå€ã¯1.0ã§ãã
luma_thresholdã lt
ä¿æ°ãšããŠäœ¿çšãããèŒåºŠãããå€ãèšå®ããŠããã¯ã»ã«ã
ãŒãããŠãããã©ããã ãªãã·ã§ã³å€ã¯ã[-30,30]ã®ç¯å²ã®æŽæ°ã§ããå¿ èŠããããŸãã ã®å€
0ã¯ãã¹ãŠã®ç»åããã£ã«ã¿ãªã³ã°ãã[0,30]ã«å«ãŸããå€ã¯å¹³åŠãªé åããã£ã«ã¿ãªã³ã°ãã
[-30,0]ã«å«ãŸããå€ã¯ããšããžããã£ã«ã¿ãªã³ã°ããŸãã ããã©ã«ãå€ã¯0ã§ãã
chroma_radiusã cr
圩床ååŸãèšå®ããŸãã ãªãã·ã§ã³å€ã¯ã[0.1,5.0]ã®ç¯å²ã®æµ®åå°æ°ç¹æ°ã§ãªããã°ãªããŸããã
ããã¯ãç»åããŒããããã«äœ¿çšãããã¬ãŠã¹ãã£ã«ã¿ãŒã®åæ£ãæå®ããŸãïŒ
倧ããïŒã ããã©ã«ãå€ã¯1.0ã§ãã
chroma_strengthã cs
圩床ãèšå®ããŸãã ãªãã·ã§ã³å€ã¯ãç¯å²å ã®æµ®åå°æ°ç¹æ°ã§ããå¿ èŠããããŸã
ãŒãããèšå®ãã[-1.0,1.0]ã [0.0,1.0]ã«å«ãŸããå€ã¯ã
äžæ¹ã[-1.0,0.0]ã«å«ãŸããå€ã¯ãç»åãé®®æã«ããŸãã ããã©ã«ãå€ã¯
1.0.
chroma_thresholdã ct
ä¿æ°ãšããŠäœ¿çšããã圩床ãããå€ãèšå®ããŠããã¯ã»ã«ã
ãŒãããŠãããã©ããã ãªãã·ã§ã³å€ã¯ã[-30,30]ã®ç¯å²ã®æŽæ°ã§ããå¿ èŠããããŸãã ã®å€
0ã¯ãã¹ãŠã®ç»åããã£ã«ã¿ãªã³ã°ãã[0,30]ã«å«ãŸããå€ã¯å¹³åŠãªé åããã£ã«ã¿ãªã³ã°ãã
[-30,0]ã«å«ãŸããå€ã¯ããšããžããã£ã«ã¿ãªã³ã°ããŸãã ããã©ã«ãå€ã¯0ã§ãã
圩床ãªãã·ã§ã³ãæ瀺çã«èšå®ãããŠããªãå Žåã察å¿ããèŒåºŠå€ãèšå®ãããŸãã
ã·ã
XNUMXã€ã®å ¥åãããªéã®SSIMïŒStructural SImilarity MetricïŒãååŸããŸãã
ãã®ãã£ã«ã¿ãŒã¯å ¥åXNUMXã€ã®å ¥åãããªãåã蟌ã¿ãæåã®å ¥åã¯ãã¡ã€ã³ããšèŠãªãããŸã
ãœãŒã¹ã§ãããå€æŽãããã«åºåã«æž¡ãããŸãã XNUMXçªç®ã®å ¥åã¯ãåç §ããšããŠäœ¿çšãããŸã
SSIMãèšç®ããããã®ãããªã
ãã®ãã£ã«ã¿ãŒãæ©èœããã«ã¯ãäž¡æ¹ã®ãããªå ¥åãåã解å床ãšãã¯ã»ã«åœ¢åŒã§ããå¿ èŠããããŸã
æ£ããã ãŸããäž¡æ¹ã®å ¥åã®ãã¬ãŒã æ°ãåãã§ãããšæ³å®ããŠããŸãã
XNUMXã€ãã€æ¯èŒããŸããã
ãã£ã«ã¿ã¯ãåãã¬ãŒã ã®èšç®ãããSSIMãæ ŒçŽããŸãã
åãå ¥ãããããã©ã¡ãŒã¿ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
stats_fileã f
æå®ããå Žåããã£ã«ã¿ãŒã¯æå®ããããã¡ã€ã«ã䜿çšããŠåå人ã®SSIMãä¿åããŸã
ãã¬ãŒã ã
次ã®å Žåã«å°å·ããããã¡ã€ã« çµ±èšãã¡ã€ã« ãéžæãããããŒãšå€ã®ãã¢ã®ã·ãŒã±ã³ã¹ãå«ãŸããŠããŸã
ãã©ãŒã ããŒ:å€ æ¯èŒããããã¬ãŒã ã®ã«ããã«ããšã«ã
瀺ãããŠããåãã©ã¡ãŒã¿ãŒã®èª¬æã¯æ¬¡ã®ãšããã§ãã
n 1ããå§ãŸãå ¥åãã¬ãŒã ã®é£çª
Y, U, V, R, G, B
æ¥å°ŸèŸã§æå®ãããã³ã³ããŒãã³ãã®æ¯èŒããããã¬ãŒã ã®SSIMã
ãã¹ãŠ ãã¬ãŒã å šäœã®æ¯èŒããããã¬ãŒã ã®SSIMã
dB äžèšãšåãã§ãããdBè¡šçŸã§ãã
äŸïŒ
movie = ref_movie.mpgãsetpts = PTS-STARTPTS [main];
[main] [ref] ssim = "stats_file = stats.log" [out]
ãã®äŸã§ã¯ãåŠçäžã®å ¥åãã¡ã€ã«ãåç §ãã¡ã€ã«ãšæ¯èŒãããŸã
ref_movie.mpgã åã ã®ãã¬ãŒã ã®SSIMã¯ã«ä¿åãããŸã çµ±èšãã°.
psnrãšssimã®äž¡æ¹ãåæã«äœ¿çšããå¥ã®äŸïŒ
ffmpeg -i main.mpg -i ref.mpg -lavfi "ssim; [0ïŒv] [1ïŒv] psnr" -f null-
Stereo3d
ç°ãªãç«äœç»åãã©ãŒãããéã§å€æããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
in å ¥åã®ç«äœç»åãã©ãŒããããèšå®ããŸãã
å ¥åç»å圢åŒã§äœ¿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
sbsl
å¹³è¡ã«äžŠã¹ãŠïŒå·Šç®å·Šãå³ç®å³ïŒ
sbsr
ãµã€ããã€ãµã€ãã¯ãã¹ã¢ã€ïŒå³ç®å·Šãå·Šç®å³ïŒ
sbs2l
åå€å¹ ã®è§£å床ã§å¹³è¡ã«äžŠã¹ãŠè¡šç€ºïŒå·Šç®å·Šãå³ç®å³ïŒ
sbs2r
åå€å¹ 解å床ã®ãµã€ããã€ãµã€ãã¯ãã¹ã¢ã€ïŒå³ç®å·Šãå·Šç®å³ïŒ
abl äž-äžïŒå·Šç®ãäžãå³ç®ãäžïŒ
4æ äž-äžïŒå³ç®ãäžãå·Šç®ãäžïŒ
ã¢ã2ã«
äž-äžååã®é«ãã®è§£å床ïŒå·Šç®ãäžãå³ç®ãäžïŒ
ã¢ã2r
äž-äžååã®é«ãã®è§£å床ïŒå³ç®ãäžãå·Šç®ãäžïŒ
al 亀äºã®ãã¬ãŒã ïŒå·Šç®ãæåãå³ç®ãXNUMXçªç®ïŒ
ar 亀äºã®ãã¬ãŒã ïŒå³ç®ãæåãå·Šç®ãXNUMXçªç®ïŒ
ããã©ã«ãå€ã¯ sbsl.
ã§ã åºåã®ç«äœç»åãã©ãŒããããèšå®ããŸãã
åºåç»å圢åŒã§äœ¿çšå¯èœãªå€ã¯ããã¹ãŠã®å ¥å圢åŒãšæ¬¡ã®ãšããã§ãã
ä»»æã®
ã¢ãã°ãªãèµ€/éç°è²ïŒå·Šç®ã«èµ€ã®ãã£ã«ã¿ãŒãå³ç®ã«éã®ãã£ã«ã¿ãŒïŒ
åŒæ°
ã¢ãã°ãªãèµ€/ç·ç°è²ïŒå·Šç®ã«èµ€ã®ãã£ã«ã¿ãŒãå³ç®ã«ç·ã®ãã£ã«ã¿ãŒïŒ
å匧
ã¢ãã°ãªãèµ€/ã·ã¢ã³ã°ã¬ãŒïŒå·Šç®ã«èµ€ã®ãã£ã«ã¿ãŒãå³ç®ã«ã·ã¢ã³ã®ãã£ã«ã¿ãŒïŒ
ã¢ãŒã
ã¢ãã°ãªãèµ€/ã·ã¢ã³åè²ïŒå·Šç®ã«èµ€ã®ãã£ã«ã¿ãŒãå³ç®ã«ã·ã¢ã³ã®ãã£ã«ã¿ãŒïŒ
arcc
ã¢ãã°ãªãèµ€/ã·ã¢ã³è²ïŒå·Šç®ã«èµ€ã®ãã£ã«ã¿ãŒãå³ç®ã«ã·ã¢ã³ã®ãã£ã«ã¿ãŒïŒ
ã¢ãŒã¯ã
ãã¥ãã¢ã®æå°äºä¹æ圱ã§æé©åãããã¢ãã°ãªãèµ€/ã·ã¢ã³è²ïŒèµ€
å·Šç®ã«ãã£ã«ã¿ãŒãå³ç®ã«ã·ã¢ã³ãã£ã«ã¿ãŒïŒ
éèš
ã¢ãã°ãªãã°ãªãŒã³/ããŒã³ã¿ã°ã¬ãŒïŒå·Šç®ã«ã°ãªãŒã³ãã£ã«ã¿ãŒãå³ç®ã«ããŒã³ã¿ãã£ã«ã¿ãŒ
ç®ïŒ
ããŒ
ã¢ãã°ãªãã°ãªãŒã³/ããŒã³ã¿ããŒãã«ã©ãŒïŒå·Šç®ã«ã°ãªãŒã³ãã£ã«ã¿ãŒãããŒã³ã¿ãã£ã«ã¿ãŒã«
å³ç®ïŒ
AGMC
ã¢ãã°ãªãã°ãªãŒã³/ããŒã³ã¿è²ïŒå·Šç®ã«ã°ãªãŒã³ãã£ã«ã¿ãŒãå³ç®ã«ããŒã³ã¿ãã£ã«ã¿ãŒ
ç®ïŒ
AGMD
ãã¥ãã¢ã®æå°äºä¹æ圱ã§æé©åãããã¢ãã°ãªãã°ãªãŒã³/ããŒã³ã¿ã«ã©ãŒ
ïŒå·Šç®ã«ç·ã®ãã£ã«ã¿ãŒãå³ç®ã«ããŒã³ã¿ã®ãã£ã«ã¿ãŒïŒ
aybg
ã¢ãã°ãªãã€ãšããŒ/ãã«ãŒã°ã¬ãŒïŒå·Šç®ã«é»è²ã®ãã£ã«ã¿ãŒãå³ç®ã«éããã£ã«ã¿ãŒïŒ
ãšã€ã
ã¢ãã°ãªãã€ãšããŒ/ãã«ãŒããŒãã«ã©ãŒïŒå·Šç®ã«é»è²ã®ãã£ã«ã¿ãŒãå³ç®ã«éããã£ã«ã¿ãŒ
ç®ïŒ
aybc
ã¢ãã°ãªãã€ãšããŒ/ãã«ãŒã«ã©ãŒïŒå·Šç®ã«é»è²ã®ãã£ã«ã¿ãŒãå³ç®ã«éããã£ã«ã¿ãŒïŒ
aybd
ãã¥ãã¢ã®æå°äºä¹æ圱ã§æé©åãããã¢ãã°ãªãã€ãšããŒ/ãã«ãŒã«ã©ãŒ
ïŒå·Šç®ã«é»è²ã®ãã£ã«ã¿ãŒãå³ç®ã«éããã£ã«ã¿ãŒïŒ
irl ã€ã³ã¿ãŒãªãŒããããè¡ïŒå·Šç®ã¯äžçªäžã®è¡ãå³ç®ã¯æ¬¡ã®è¡ããå§ãŸããŸãïŒ
irr ã€ã³ã¿ãŒãªãŒããããè¡ïŒå³ç®ã¯äžçªäžã®è¡ãå·Šç®ã¯æ¬¡ã®è¡ããå§ãŸããŸãïŒ
ml ã¢ãã©ã«åºåïŒå·Šç®ã®ã¿ïŒ
mr ã¢ãã©ã«åºåïŒå³ç®ã®ã¿ïŒ
ããã©ã«ãå€ã¯ ã¢ãŒã¯ã.
äŸ
ã»å ¥åãããªãã¢ãã°ãªãã€ãšããŒ/ãã«ãŒãã¥ãã¢ãšå¹³è¡ã«äžŠã¹ãŠå€æããŸãã
Stereo3d = sbslïŒaybd
ã»å ¥åãããªãäžããäžïŒå·Šç®äžãå³ç®äžïŒãã䞊ã¹ãŠå€æããŸã
ã¯ãã¹ã¢ã€ã
Stereo3d = ablïŒsbsr
spp
ããã€ãã®ç»åãå§çž®ããã³è§£åããåçŽãªåŸåŠçãã£ã«ã¿ãŒãé©çšããŸã
ïŒãŸãã¯-ã®å Žå å質 ã¬ãã«6-ãã¹ãŠïŒã·ããããçµæãå¹³åããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
å質
å質ãèšå®ããŸãã ãã®ãªãã·ã§ã³ã¯ãå¹³ååããã¬ãã«ã®æ°ãå®çŸ©ããŸãã ããã¯åãå ¥ããŸã
0ã6ã®ç¯å²ã®æŽæ°ã 0ã«èšå®ãããšããã£ã«ã¿ãŒã¯å¹æããããŸããã 6ã®å€
ããé«ãå質ãæå³ããŸãã ãã®å€ã®å¢åããšã«ãé床ã¯XNUMXåäœäžããŸã
ããã©ã«ãå€ã¯2ã§ãã
qp äžå®ã®éååãã©ã¡ãŒã¿ã匷å¶ããŸãã èšå®ãããŠããªãå Žåããã£ã«ã¿ãŒã¯ããã®QPã䜿çšããŸã
ãããªã¹ããªãŒã ïŒå©çšå¯èœãªå ŽåïŒã
ã¢ãŒã
ãããå€ã¢ãŒããèšå®ããŸãã 䜿çšå¯èœãªã¢ãŒãã¯æ¬¡ã®ãšããã§ãã
ããŒã
ããŒããããå€ãèšå®ããŸãïŒããã©ã«ãïŒã
ãœãã
ãœãããããå€ãèšå®ããŸãïŒããè¯ãããªã³ã®ã³ã°å¹æããããŸããããŒãããŠããå¯èœæ§ããããŸãïŒã
use_bframe_qp
1ã«èšå®ãããŠããå Žåã¯ãBãã¬ãŒã ããã®QPã®äœ¿çšãæå¹ã«ããŸãããã®ãªãã·ã§ã³ã䜿çšãããšã
Bãã¬ãŒã ã®QPã倧ããããšãå€ããããã¡ãã€ããçºçããŸãã ããã©ã«ãã¯0ïŒæå¹ã§ã¯ãããŸããïŒã§ãã
ãµãã¿ã€ãã«
libassã©ã€ãã©ãªã䜿çšããŠãå ¥åãããªã®äžã«åå¹ãæç»ããŸãã
ãã®ãã£ã«ã¿ãŒã®ã³ã³ãã€ã«ãæå¹ã«ããã«ã¯ãã-enable-libassãã§FFmpegãèšå®ããå¿ èŠããããŸãã
ãã®ãã£ã«ã¿ãŒã«ã¯ãæž¡ããããã®ãå€æããããã«libavcodecãšlibavformatã䜿çšãããã«ããå¿ èŠã§ã
åå¹ãã¡ã€ã«ãASSïŒAdvanced Substation AlphaïŒåå¹åœ¢åŒã«å€æããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãã¡ã€ã«åã f
èªã¿åãåå¹ãã¡ã€ã«ã®ãã¡ã€ã«åãèšå®ããŸãã æå®ããå¿ èŠããããŸãã
ãªãªãžãã«ãµã€ãº
å ã®ãããªãASSãã¡ã€ã«ãäœæããããããªã®ãµã€ãºãæå®ããŸãã
ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãã㪠ãµã€ãº" in ã ffmpeg-utils
ããã¥ã¢ã«ã ASSã¢ã¹ãã¯ãæ¯æŒç®ã®èšèšãã¹ã«ãããããã¯æ¬¡ã®ããã«å¿ èŠã§ãã
ã¢ã¹ãã¯ãæ¯ãå€æŽãããŠããå Žåã¯ããã©ã³ããæ£ããæ¡å€§çž®å°ããŸãã
ãã©ã³ããã£ã¬ã¯ããª
ãã£ã«ã¿ã§äœ¿çšã§ãããã©ã³ããå«ããã£ã¬ã¯ããªãã¹ãèšå®ããŸãã ãããã®ãã©ã³ã
ãã©ã³ããããã€ããŒã䜿çšãããã®ã«å ããŠäœ¿çšãããŸãã
ãã£ã¬ã³ã¯
åå¹å ¥åæåãšã³ã³ãŒããèšå®ããŸãã ãåå¹ããã£ã«ã¿ãŒã®ã¿ã ããã§ãªãå Žåã«ã®ã¿æçš
UTF-8ã
stream_indexã si
åå¹ã¹ããªãŒã ã€ã³ããã¯ã¹ãèšå®ããŸãã ãåå¹ããã£ã«ã¿ãŒã®ã¿ã
åã®ã¹ã¿ã€ã«
åå¹ã®ããã©ã«ãã®ã¹ã¿ã€ã«ãŸãã¯ã¹ã¯ãªããæ å ±ãã©ã¡ãŒã¿ãäžæžãããŸãã æååãåãå ¥ããŸã
ãããã§åºåãããASSã¹ã¿ã€ã«åœ¢åŒãKEY=VALUEãã®ã«ããã«ãå«ã¿ãŸãã
æåã®ããŒãæå®ãããŠããªãå Žåãæåã®å€ã
ãã¡ã€ã«å.
ããšãã°ããã¡ã€ã«ãã¬ã³ããªã³ã°ããã«ã¯ ãµã.srt å ¥åãããªã®äžã§ã次ã®ã³ãã³ãã䜿çšããŸãã
åå¹=sub.srt
ããã¯æ¬¡ãšåçã§ãïŒ
åå¹=ãã¡ã€ã«å=sub.srt
ãã¡ã€ã«ããããã©ã«ãã®åå¹ã¹ããªãŒã ãã¬ã³ããªã³ã°ããã«ã¯ ãããª.mkvã ã€ãããŸãïŒ
åå¹=video.mkv
ãã®ãã¡ã€ã«ããXNUMXçªç®ã®åå¹ã¹ããªãŒã ãã¬ã³ããªã³ã°ããã«ã¯ã次ã䜿çšããŸãã
åå¹=video.mkvïŒsi = 1
åå¹ãã¹ããªãŒãã³ã°ããã«ã¯ ãµã.srt éæãªç·è²ã®ãDejaVuSerifãã§è¡šç€ºãããŸãã次ã䜿çšããŸãã
subject = sub.srtïŒforce_style ='FontName = DejaVu SerifãPrimaryColour =ïŒHAA00FF00'
ã¹ãŒããŒ2xsai
Super2xSaIïŒScale and InterpolateïŒãã¯ã»ã«ã¢ãŒãã䜿çšããŠãå ¥åã2åã«ã¹ã±ãŒãªã³ã°ããŠã¹ã ãŒãºã«ããŸã
ã¹ã±ãŒãªã³ã°ã¢ã«ãŽãªãºã ã
ã·ã£ãŒããã¹ãèœãšããã«ãã¯ã»ã«ã¢ãŒãç»åãæ¡å€§ããã®ã«äŸ¿å©ã§ãã
ã¹ã¯ããã
UãšVã®å¹³é¢ã亀æããŸãã
ãã¬ã·ã
ãããªã«ãã¬ã·ãããã»ã¹ãé©çšããŸãã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
æåã®ãã£ãŒã«ã
äžã t
ããããã£ãŒã«ããã¡ãŒã¹ã
äžã b
äžçªäžã®ãã£ãŒã«ããæåã§ããããã©ã«ãå€ã¯ãtopãã§ãã
ãã¿ãŒã³
é©çšãããã«ããŠã³ãã¿ãŒã³ãè¡šãäžé£ã®æ°åã ããã©ã«ã
å€ã¯23ã§ãã
ããã€ãã®å žåçãªãã¿ãŒã³ïŒ
NTSCåºåïŒ30iïŒïŒ
27.5pïŒ32222
24pïŒ23ïŒã¯ã©ã·ãã¯ïŒ
24pïŒ2332ïŒæšå¥šïŒ
20pïŒ33
18pïŒ334
16pïŒ3444
PALåºåïŒ25iïŒïŒ
27.5pïŒ12222
24pïŒ222222222223ïŒããŠãŒããã«ããŠã³ãïŒ
16.67pïŒ33
16pïŒ33333334
ãµã ãã€ã«
é£ç¶ãããã¬ãŒã ã®ç¹å®ã®ã·ãŒã±ã³ã¹ã§æã代衚çãªãã¬ãŒã ãéžæããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
n åæãããã¬ãŒã ã®ããããµã€ãºãèšå®ããŸãã ã®ã»ãã㧠n ãã¬ãŒã ã®å Žåããã£ã«ã¿ãŒã¯XNUMXã€ãéžæããŸã
ãããã®æ¬¡ã®ããããåŠçããŸã n æåŸãŸã§ãã¬ãŒã ã ããã©ã«ãã¯100ã§ãã
ãã£ã«ã¿ã¯ãã¬ãŒã ã·ãŒã±ã³ã¹å šäœã远跡ããããããã倧ã㪠n å€ã¯æ¬¡ã®ããã«ãªããŸã
ã¡ã¢ãªäœ¿çšéãå€ããããé«ãå€ã¯ãå§ãããŸããã
äŸ
ã»50ãã¬ãŒã ããšã«XNUMXã€ã®ç»åãæœåºããŸãã
ãµã ãã€ã«= 50
ã»ãµã ãã€ã«äœæã®å®å šãªäŸ ffmpeg:
ffmpeg -i in.avi -vfãµã ãã€ã«ãscale = 300ïŒ200 -framesïŒv 1 out.png
ã¿ã€ã«
ããã€ãã®é£ç¶ãããã¬ãŒã ãäžç·ã«äžŠã¹ãŠè¡šç€ºããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã¬ã€ã¢ãŠã
ã°ãªãããµã€ãºïŒã€ãŸããè¡ãšåã®æ°ïŒãèšå®ããŸãã ãã®æ§æã«ã€ããŠ
ãªãã·ã§ã³ããã§ãã¯ããŠãã ãã "ãã㪠ãµã€ãº" in ã ffmpeg-utils ããã¥ã¢ã«.
nb_frames
æå®ãããé åã«ã¬ã³ããªã³ã°ãããã¬ãŒã ã®æ倧æ°ãèšå®ããŸãã ãŸãã¯æªæºã§ããå¿ èŠããããŸã
ã«çãã wxhã ããã©ã«ãå€ã¯0ã§ããã¹ãŠã®é åã䜿çšãããããšãæå³ããŸãã
ããŒãžã³
å€åŽã®å¢çããŒãžã³ããã¯ã»ã«åäœã§èšå®ããŸãã
ããã£ã³ã°
å åŽã®å¢çç·ã®åãïŒã€ãŸãããã¬ãŒã éã®ãã¯ã»ã«æ°ïŒãèšå®ããŸãã å€ãã®ããã®
é«åºŠãªããã£ã³ã°ãªãã·ã§ã³ïŒãšããžã®å€ãç°ãªããªã©ïŒã«ã€ããŠã¯ã
ããããããªãã£ã«ã¿ãŒã
ã«ã©ãŒ
æªäœ¿çšéšåã®è²ãæå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ããè²ãã確èªããŠãã ãã
ffmpeg-utilsããã¥ã¢ã«ã®ã»ã¯ã·ã§ã³ã ã®ããã©ã«ãå€ ã«ã©ãŒ ãé»ãã§ãã
äŸ
ã»ãã¹ãŠã®ããŒãã¬ãŒã ã®8x8 PNGã¿ã€ã«ãçæããŸãïŒ-ã¹ããããã¬ãŒã ããŒããŒïŒæ ç»ã®äžã§ïŒ
ffmpeg -skip_frame nokey -i file.avi -vf'scale = 128ïŒ72ãtile = 8x8' -an -vsync 0 keyframesïŒ 03d.png
ãã® -vsync 0 é²ãããã«å¿ èŠã§ã ffmpeg ååºåãã¬ãŒã ã®è€è£œãã
æåã«æ€åºããããã¬ãŒã ã¬ãŒãã«å¯Ÿå¿ããŸãã
ã»ã5x3ããã¬ãŒã ã®é åã«2æã®ç»åã衚瀺ãããã®éã«7ãã¯ã»ã«ãé 眮ãã2æ
ãã©ãããšååä»ãã®æ··åãªãã·ã§ã³ã䜿çšããåæããŒãžã³ã®ãã¯ã»ã«ïŒ
tile=3x2:nb_frames=5:padding=7:margin=2
ãã£ã³ã¿ãŒã¬ãŒã¹
ããŸããŸãªã¿ã€ãã®æéãã£ãŒã«ãã€ã³ã¿ãŒã¬ãŒã¹ãå®è¡ããŸãã
ãã¬ãŒã ã¯1ããã«ãŠã³ãããããããæåã®å ¥åãã¬ãŒã ã¯å¥æ°ãšèŠãªãããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã¢ãŒã
ã€ã³ã¿ãŒã¬ãŒã¹ã®ã¢ãŒããæå®ããŸãã ãã®ãªãã·ã§ã³ã¯å€ãšããŠæå®ããããšãã§ããŸã
XNUMX人ã ãã®ãªãã·ã§ã³ã®å€ã®ãªã¹ãã«ã€ããŠã¯ã以äžãåç §ããŠãã ããã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ããŒãžã 0
å¥æ°ãã¬ãŒã ãäžã®ãã£ãŒã«ãã«ç§»åããäžã®ãã£ãŒã«ãã«ç§»åããŠã
ããŒããã¬ãŒã ã¬ãŒãã®ããã«ãã€ããã¬ãŒã ã
------>æé
å ¥åïŒ
ãã¬ãŒã 1ãã¬ãŒã 2ãã¬ãŒã 3ãã¬ãŒã 4
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
åºåïŒ
11111 33333
22222 44444
11111 33333
22222 44444
11111 33333
22222 44444
11111 33333
22222 44444
drop_oddã 1
å¶æ°ãã¬ãŒã ã®ã¿ãåºåããå¥æ°ãã¬ãŒã ã¯ãããããããå€æŽãããŠããªããã¬ãŒã ãçæãããŸã
ããŒããã¬ãŒã ã¬ãŒãã§ã®é«ãã
------>æé
å ¥åïŒ
ãã¬ãŒã 1ãã¬ãŒã 2ãã¬ãŒã 3ãã¬ãŒã 4
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
åºåïŒ
22222 44444
22222 44444
22222 44444
22222 44444
drop_evenã 2
å¥æ°ãã¬ãŒã ã®ã¿ãåºåããå¶æ°ãã¬ãŒã ã¯ãããããããå€æŽãããŠããªããã¬ãŒã ãçæããŸã
ããŒããã¬ãŒã ã¬ãŒãã§ã®é«ãã
------>æé
å ¥åïŒ
ãã¬ãŒã 1ãã¬ãŒã 2ãã¬ãŒã 3ãã¬ãŒã 4
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
åºåïŒ
11111 33333
11111 33333
11111 33333
11111 33333
ãããã 3
åãã¬ãŒã ãå®å šãªé«ããŸã§æ¡åŒµããŸããã亀äºã®ç·ãé»ã§åããŠã
åãå ¥åãã¬ãŒã ã¬ãŒãã§XNUMXåã®é«ãã®ãã¬ãŒã ã
------>æé
å ¥åïŒ
ãã¬ãŒã 1ãã¬ãŒã 2ãã¬ãŒã 3ãã¬ãŒã 4
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
åºåïŒ
11111 .....33333....ã
..... 22222 ..... 44444 ..
11111 .....33333....ã
..... 22222 ..... 44444 ..
11111 .....33333....ã
..... 22222 ..... 44444 ..
11111 .....33333....ã
..... 22222 ..... 44444 ..
interleave_topã 4
å¥æ°ãã¬ãŒã ã®äžéšãã£ãŒã«ããšå¶æ°ãã¬ãŒã ã®äžéšãã£ãŒã«ããã€ã³ã¿ãŒãªãŒããã
ååã®ãã¬ãŒã ã¬ãŒãã§é«ããå€æŽãããŠããªããã¬ãŒã ãçæããŸãã
------>æé
å ¥åïŒ
ãã¬ãŒã 1ãã¬ãŒã 2ãã¬ãŒã 3ãã¬ãŒã 4
11111 <-22222 33333 <-44444
11111 22222 <-33333 44444 <-
11111 <-22222 33333 <-44444
11111 22222 <-33333 44444 <-
åºåïŒ
11111 33333
22222 44444
11111 33333
22222 44444
interleave_bottomã 5
å¥æ°ãã¬ãŒã ã®äžéšãã£ãŒã«ããšå¶æ°ãã¬ãŒã ã®äžéšãã£ãŒã«ããã€ã³ã¿ãŒãªãŒããã
ååã®ãã¬ãŒã ã¬ãŒãã§é«ããå€æŽãããŠããªããã¬ãŒã ãçæããŸãã
------>æé
å ¥åïŒ
ãã¬ãŒã 1ãã¬ãŒã 2ãã¬ãŒã 3ãã¬ãŒã 4
11111 22222 <-33333 44444 <-
11111 <-22222 33333 <-44444
11111 22222 <-33333 44444 <-
11111 <-22222 33333 <-44444
åºåïŒ
22222 44444
11111 33333
22222 44444
11111 33333
interlacex2ã 6
é«ããå€ããã«XNUMXåã®ãã¬ãŒã ã¬ãŒãã ãã¬ãŒã ãæ¿å ¥ãããããããã«
åã®å ¥åãã¬ãŒã ããã®XNUMXçªç®ã®æéãã£ãŒã«ããšæåã®æéãã£ãŒã«ã
次ã®å ¥åãã¬ãŒã ããã ãã®ã¢ãŒãã¯ãtop_field_firstãã©ã°ã«äŸåããŠããŸãã 䜿ãã
ãã£ãŒã«ãåæã®ãªãã€ã³ã¿ãŒã¬ãŒã¹ãããªãã£ã¹ãã¬ã€çšã
------>æé
å ¥åïŒ
ãã¬ãŒã 1ãã¬ãŒã 2ãã¬ãŒã 3ãã¬ãŒã 4
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
åºåïŒ
11111 22222 22222 33333 33333 44444 44444
11111 11111 22222 22222 33333 33333 44444
11111 22222 22222 33333 33333 44444 44444
11111 11111 22222 22222 33333 33333 44444
æ°å€ã¯éæšå¥šã§ãããäžäœäºææ§ã®çç±ããåãå ¥ããããŸãã
ããã©ã«ãã®ã¢ãŒãã¯ãããŒãžãã§ãã
ãã©ã°
ãã£ã«ã¿ããã»ã¹ã«åœ±é¿ãäžãããã©ã°ãæå®ããŸãã
å©çšå¯èœãªå€ ãã©ã° 次ã®ãšããã§ãã
ããŒãã¹ãã£ã«ã¿ã vlfp
ãã£ã«ã¿ã§åçŽããŒãã¹ãã£ã«ã¿ãªã³ã°ãæå¹ã«ããŸãã åçŽããŒãã¹ãã£ã«ã¿ãªã³ã°ã¯
ããã°ã¬ãã·ããœãŒã¹ããã€ã³ã¿ãŒã¬ãŒã¹å®å ãäœæãããšãã«å¿ èŠã§ãã
é«åšæ³¢ã®åçŽæ¹åã®è©³çŽ°ãå«ãŸããŠããŸãã ãã£ã«ã¿ãªã³ã°ã¯ã€ã³ã¿ãŒã¬ãŒã¹ãæžãããŸã'twitter'
ãšã¢ã¢ã¬ã®ãã¿ãŒã³åã
åçŽããŒãã¹ãã£ã«ã¿ãªã³ã°ã¯ã次ã®å Žåã«ã®ã¿æå¹ã«ã§ããŸãã ã¢ãŒã ã€ã³ã¿ãŒãªãŒã_ããã ãš
ã€ã³ã¿ãŒãªãŒã_ããã .
転眮
å ¥åãããªã®åãå«ãè¡ã転眮ãããªãã·ã§ã³ã§å転ããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
DIR 転眮æ¹åãæå®ããŸãã
次ã®å€ãæ³å®ã§ããŸãã
0, 4, c Clock_flip
åæèšåãã«90床å転ããåçŽæ¹åã«å転ããŸãïŒããã©ã«ãïŒã
LR Ll
ã ã ->ã ã
lr Rr
1, 5, ã¯ããã¯
æèšåãã«90床å転ããŸããã€ãŸãã次ã®ããã«ãªããŸãã
LR lL
ã ã ->ã ã
lr rR
2, 6, æèš
åæèšåãã«90床å転ããŸããã€ãŸãã次ã®ããã«ãªããŸãã
LR Rr
ã ã ->ã ã
lr Ll
3, 7, ã¯ããã¯ããªãã
æèšåãã«90床å転ããåçŽæ¹åã«å転ããŸããã€ãŸãã次ã®ããã«ãªããŸãã
LR rR
ã ã ->ã ã
lr lL
4ã7ã®å€ã®å Žåã転眮ã¯ãå ¥åãããªãžãªã¡ããªã
暪åãã§ã¯ãªã瞊åãã ãããã®å€ã¯éæšå¥šã§ãããããã¹ã¹ã«ãŒããªãã·ã§ã³ã§ãã
代ããã«äœ¿çšããå¿ èŠããããŸãã
æ°å€ã¯éæšå¥šã§ãããã·ã³ããªãã¯å®æ°ãåªå ããŠåé€ããå¿ èŠããããŸãã
ãã¹ã¹ã«ãŒ
å ¥åãžãªã¡ããªãã§æå®ããããã®ãšäžèŽããå Žåã¯ã転眮ãé©çšããªãã§ãã ããã
æå®ãããå€ã 次ã®å€ãåãå ¥ããŸãã
ãªã
åžžã«è»¢çœ®ãé©çšããŸãã
èå
ããŒãã¬ãŒããžãªã¡ããªãä¿æããïŒ é«ã >= å¹ ).
颚æ¯
ã©ã³ãã¹ã±ãŒããžãªã¡ããªãä¿æããïŒ å¹ >= é«ã).
ããã©ã«ãå€ã¯ãnoneãã§ãã
ããšãã°ãæèšåãã«90床å転ãã瞊åãã®ã¬ã€ã¢ãŠããç¶æããã«ã¯ã次ã®ããã«ããŸãã
transpose = dir = 1ïŒpassthrough = portal
äžèšã®ã³ãã³ãã¯ã次ã®ããã«æå®ããããšãã§ããŸãã
transpose = 1ïŒportrait
ããªã
åºåã«å ¥åã®XNUMXã€ã®é£ç¶ãããµãããŒããå«ãŸããããã«ãå ¥åãããªãã³ã°ããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
start
ä¿æãããã»ã¯ã·ã§ã³ã®éå§æå»ãã€ãŸãã¿ã€ã ã¹ã¿ã³ãä»ãã®ãã¬ãŒã ãæå®ããŸã
start åºåã®æåã®ãã¬ãŒã ã«ãªããŸãã
end ãããããããæåã®ãã¬ãŒã ãã€ãŸãããã«ãã¬ãŒã ã®æéãæå®ããŸã
ã¿ã€ã ã¹ã¿ã³ãã®åã« end åºåã®æåŸã®ãã¬ãŒã ã«ãªããŸãã
start_pts
ããã¯ãšåãã§ã startããã ãããã®ãªãã·ã§ã³ã¯ã¿ã€ã ããŒã¹ã«éå§ã¿ã€ã ã¹ã¿ã³ããèšå®ããŸã
ç§ã®ä»£ããã«åäœã
end_pts
ããã¯ãšåãã§ã endããã ãããã®ãªãã·ã§ã³ã¯ã¿ã€ã ããŒã¹åäœã§çµäºã¿ã€ã ã¹ã¿ã³ããèšå®ããŸã
ç§ã®ä»£ããã«ã
ãã¥ã¬ãŒã·ã§ã³
åºåã®æ倧ç¶ç¶æéïŒç§åäœïŒã
éå§ãã¬ãŒã
åºåã«æž¡ãããæåã®ãã¬ãŒã ã®çªå·ã
çµäºãã¬ãŒã
ããããããå¿ èŠãããæåã®ãã¬ãŒã ã®çªå·ã
start, end, ãã¥ã¬ãŒã·ã§ã³ æéã®ä»æ§ãšããŠè¡šãããŸãã èŠã ã Time
ãã¥ã¬ãŒã·ã§ã³ in ã ffmpeg-utils(1) ããã¥ã¢ã« åãå ¥ããããæ§æã«ã€ããŠã
éå§/çµäºãªãã·ã§ã³ã®æåã®XNUMXã»ãããš ãã¥ã¬ãŒã·ã§ã³ ãªãã·ã§ã³ãèŠãŠãã ãã
ãã¬ãŒã ã¿ã€ã ã¹ã¿ã³ãã_frameããªã¢ã³ãã¯åã«ééãããã¬ãŒã ãã«ãŠã³ãããŸã
ãã£ã«ã¿ãŒã ãŸãããã®ãã£ã«ã¿ãŒã¯ã¿ã€ã ã¹ã¿ã³ããå€æŽããªãããšã«æ³šæããŠãã ããã ãåžæã®å Žå
ãŒãããéå§ããã¿ã€ã ã¹ã¿ã³ããåºåããããªã ãã£ã«ã¿ãŒã®åŸã«setptsãã£ã«ã¿ãŒãæ¿å ¥ããŸãã
è€æ°ã®éå§ãŸãã¯çµäºãªãã·ã§ã³ãèšå®ãããŠããå Žåããã®ãã£ã«ã¿ãŒã¯è²ªæ¬²ã«ãªãããã¹ãŠã®
æå®ãããå¶çŽã®å°ãªããšãXNUMXã€ã«äžèŽãããã¬ãŒã ã ãã®éšåã ããä¿æãã
äžåºŠã«ãã¹ãŠã®å¶çŽã«äžèŽããè€æ°ã®ããªã ãã£ã«ã¿ãŒããã§ãŒã³ããŸãã
ããã©ã«ãã§ã¯ããã¹ãŠã®å ¥åãä¿æãããŸãã ãããã£ãŠãããšãã°ã
æå®ãããæéããåã«ãã¹ãŠãä¿æããããã®çµäºå€ã
äŸïŒ
ã»å ¥åã®XNUMXåãé€ããã¹ãŠãããããããŸãã
ffmpeg -i INPUT -vftrim = 60ïŒ120
ã»æåã®XNUMXç§ã ããä¿æããŸãã
ffmpeg -i INPUT -vftrim = duration = 1
äžé®®æ
å ¥åãããªãã·ã£ãŒããŸãã¯ãŒãããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
luma_msize_xã lx
èŒåºŠãããªãã¯ã¹ã®æ°Žå¹³ãµã€ãºãèšå®ããŸãã 3ãã63ãŸã§ã®å¥æ°ã®æŽæ°ã§ããå¿ èŠããããŸãã
ããã©ã«ãå€ã¯5ã§ãã
luma_msize_yã ly
èŒåºŠè¡åã®åçŽãµã€ãºãèšå®ããŸãã 3ãã63ãŸã§ã®å¥æ°ã®æŽæ°ã§ããå¿ èŠããããŸãã
ããã©ã«ãå€ã¯5ã§ãã
luma_amountã la
èŒåºŠå¹æã®åŒ·ããèšå®ããŸãã æµ®åå°æ°ç¹æ°ã劥åœãªå€ã§ãªããã°ãªããŸãã
-1.5ãš1.5ã®éã«ãããŸãã
è² ã®å€ã¯å ¥åãããªããŒãããæ£ã®å€ã¯å ¥åãããªãã·ã£ãŒãã«ããŸãã
ãŒãã®å€ã¯å¹æãç¡å¹ã«ããŸãã
ããã©ã«ãå€ã¯1.0ã§ãã
chroma_msize_xã cx
ã¯ãããããªãã¯ã¹ã®æ°Žå¹³ãµã€ãºãèšå®ããŸãã 3ãã63ãŸã§ã®å¥æ°ã®æŽæ°ã§ããå¿ èŠããããŸãã
ããã©ã«ãå€ã¯5ã§ãã
chroma_msize_yã cy
ã¯ãããããªãã¯ã¹ã®åçŽãµã€ãºãèšå®ããŸãã 3ãã63ãŸã§ã®å¥æ°ã®æŽæ°ã§ããå¿ èŠããããŸãã
ããã©ã«ãå€ã¯5ã§ãã
chroma_amountã ca
ã¯ããå¹æã®åŒ·ããèšå®ããŸãã æµ®åå°æ°ç¹æ°ã劥åœãªå€ã§ãªããã°ãªããŸãã
-1.5ãš1.5ã®éã«ãããŸãã
è² ã®å€ã¯å ¥åãããªããŒãããæ£ã®å€ã¯å ¥åãããªãã·ã£ãŒãã«ããŸãã
ãŒãã®å€ã¯å¹æãç¡å¹ã«ããŸãã
ããã©ã«ãå€ã¯0.0ã§ãã
opencl
1ã«èšå®ãããŠããå ŽåãOpenCLæ©èœã䜿çšããŠæå®ããŸããFFmpegã
ã--enable-openclãã§æ§æãããŸãã ããã©ã«ãå€ã¯0ã§ãã
ãã¹ãŠã®ãã©ã¡ãŒã¿ã¯ãªãã·ã§ã³ã§ãããããã©ã«ãã§ã¯æååã5ïŒ5ïŒ1.0ïŒ5ïŒ5ïŒ0.0ãã«çžåœããŸãã
äŸ
ã»åŒ·åãªèŒåºŠç ãå¹æãé©çšããŸãã
unsharp = luma_msize_x = 7ïŒluma_msize_y = 7ïŒluma_amount = 2.5
ã»ã«ãŒããšã¯ããã®äž¡æ¹ã®ãã©ã¡ãŒã¿ã匷ããŒãããŸãã
unsharp=7:7:-2:7:7:-2
uspp
ç»åãå§çž®ããã³è§£åããè¶ äœé/åçŽãªåŸåŠçãã£ã«ã¿ãŒãé©çšããŸã
ããã€ãã§ïŒãŸãã¯-ã®å Žå å質 ã¬ãã«8-ãã¹ãŠïŒã·ããããçµæãå¹³åããŸãã
ãããsppã®åäœãšç°ãªãç¹ã¯ãusppãå®éã«ããããããšã³ã³ãŒãããã³ãã³ãŒãããããšã§ãã
libavcodec Snowã®å Žåãsppã¯ã次ã®ãããªåçŽåãããã€ã³ãã©ã®ã¿ã®8x8DCTã䜿çšããŸãã
MJPEGã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
å質
å質ãèšå®ããŸãã ãã®ãªãã·ã§ã³ã¯ãå¹³ååããã¬ãã«ã®æ°ãå®çŸ©ããŸãã ããã¯åãå ¥ããŸã
0ã8ã®ç¯å²ã®æŽæ°ã 0ã«èšå®ãããšããã£ã«ã¿ãŒã¯å¹æããããŸããã 8ã®å€
ããé«ãå質ãæå³ããŸãã ãã®å€ã®å¢åããšã«ãé床ã¯XNUMXåäœäžããŸã
ããã©ã«ãå€ã¯2ã§ãã
qp äžå®ã®éååãã©ã¡ãŒã¿ã匷å¶ããŸãã èšå®ãããŠããªãå Žåããã£ã«ã¿ãŒã¯ããã®QPã䜿çšããŸã
ãããªã¹ããªãŒã ïŒå©çšå¯èœãªå ŽåïŒã
ãã¯ãã«ã¹ã³ãŒã
2次å ã°ã©ãã«XNUMXã€ã®è²æåå€ã衚瀺ããŸãïŒããã¯ã
vectorscopeïŒã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã¢ãŒãã m
vectorscopeã¢ãŒããèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
ã°ã¬ãŒ
ç°è²ã®å€ãã°ã©ãã«è¡šç€ºãããŸããæãããé«ãã»ã©ãããå€ãã®ãã¯ã»ã«ãåãã§ããããšãæå³ããŸã
ã°ã©ãå ã®å Žæã®ã³ã³ããŒãã³ãã®è²ã®å€ã ãããããã©ã«ãã®ã¢ãŒãã§ãã
ã«ã©ãŒ
ç°è²ã®å€ãã°ã©ãã«è¡šç€ºãããŸãã ãªãåšå²ã®ãã¯ã»ã«å€
ãããªãã¬ãŒã ã«ååšãããã®ã¯ãèšå®ãããŠãã2ã€ã®è²æåã®ã°ã©ããŒã·ã§ã³ã§æç»ãããŸã
ãªãã·ã§ã³ãxãããã³ãyãã«ããã
color2
ãããªãã¬ãŒã ã«ååšããå®éã®è²æåå€ãã°ã©ãã«è¡šç€ºãããŸãã
color3
color2ã«äŒŒãŠããŸãããã°ã©ãäžã§åãå€ãxããšãyãã®é »åºŠãé«ããªããŸã
ããã©ã«ãå€ã§ããèŒåºŠã§ããå¥ã®ã«ã©ãŒã³ã³ããŒãã³ãã®å€ãå¢ãããŸã
ãxããšãyãã®ã
color4
ãããªãã¬ãŒã ã«ååšããå®éã®è²ãã°ã©ãã«è¡šç€ºãããŸãã XNUMXã€ã®ç°ãªãå Žå
è²ã¯ã°ã©ãäžã®åãäœçœ®ã«ããããããã³ã³ããŒãã³ãã®å€ãé«ãè²ã§ã¯ãªã
ã°ã©ãã«ååšãããã®ãéžæãããŸãã
x X軞ã«è¡šç€ºãããã«ã©ãŒã³ã³ããŒãã³ããèšå®ããŸãã ããã©ã«ãã¯1ã§ãã
y Y軞ã«è¡šç€ºãããè²æåãèšå®ããŸãã ããã©ã«ãã¯2ã§ãã
匷床ã i
ã¢ãŒãã§äœ¿çšããã匷床ãèšå®ããŸãïŒã°ã¬ãŒãã«ã©ãŒãã«ã©ãŒ3
ã°ã©ãå ã®ïŒXãYïŒäœçœ®ã®é »åºŠãè¡šãè²æåã
å°çã e
ãªã
å°çã¯ãããŸããããããããã©ã«ãã§ãã
ã€ã³ã¹ã¿ã³ã
ã€ã³ã¹ã¿ã³ããšã³ãããŒããæãæãåäžãã¯ã»ã«ã§ãæ確ã«åŒ·èª¿è¡šç€ºãããŸãã
ããŒã¯
æéã®çµéãšãšãã«ã°ã©ãã«è¡šç€ºãããæ倧å€ãšæå°å€ãä¿æããŸãã ãã®ããã«ããªãã¯ããããšãã§ããŸã
åžžã«vectorscopeãèŠãªããŠããç¯å²å€ã®å€ãèŠã€ããããšãã§ããŸãã
ããŒã¯+ã€ã³ã¹ã¿ã³ã
ããŒã¯ãšã³ãããŒããšã€ã³ã¹ã¿ã³ããšã³ãããŒããçµã¿åããããã®ã
vidstabæ€åº
ãããªã®å®å®å/ãã·ã§ã€ã¯ãåæããŸãã ãã¹1/2ãå®è¡ããŸãããåç §ããŠãã ããã vidstabå€æ ãã¹çš
2.
ãã®ãã£ã«ã¿ãŒã¯ãçžå¯Ÿçãªå¹³è¡ç§»åããã³å転å€ææ å ±ãå«ããã¡ã€ã«ãçæããŸã
åŸç¶ã®ãã¬ãŒã ã«ã€ã㊠vidstabå€æ ãã£ã«ã¿ã
ãã®ãã£ã«ã¿ãŒã®ã³ã³ãã€ã«ãæå¹ã«ããã«ã¯ãFFmpegãæ§æããå¿ èŠããããŸã
ã--enable-libvidstabãã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
çµæ
å€ææ å ±ã®æžã蟌ã¿ã«äœ¿çšããããã¡ã€ã«ãžã®ãã¹ãèšå®ããŸãã ããã©ã«ãå€ã¯
å€æ.trf.
éã
ãããªã®æºããšã«ã¡ã©ã®éããèšå®ããŸãã æŽæ°ãåãå ¥ããŸã
ç¯å²1ã10ãå€1ã¯éããå°ãªãããšãæå³ããå€10ã¯éãã匷ãããšãæå³ããŸãã
ããã©ã«ãå€ã¯5ã§ãã
粟床
æ€åºããã»ã¹ã®ç²ŸåºŠãèšå®ããŸãã 1ã15ã®ç¯å²ã®å€ã§ããå¿ èŠããããŸãã A
å€1ã¯äœç²ŸåºŠãæå³ããå€15ã¯é«ç²ŸåºŠãæå³ããŸãã ããã©ã«ãå€ã¯15ã§ãã
å»ã¿å¹
æ€çŽ¢ããã»ã¹ã®ã¹ããããµã€ãºãèšå®ããŸãã æå°ä»è¿ã®é åã1ãã¯ã»ã«ã§ã¹ãã£ã³ããŸã
解å床ã ããã©ã«ãå€ã¯6ã§ãã
æå°ã³ã³ãã©ã¹ã
æå°ã³ã³ãã©ã¹ããèšå®ããŸãã ãã®å€ãäžåããšãããŒã«ã«æž¬å®ãã£ãŒã«ãã¯ç Žæ£ãããŸãã ã§ãªããã°ãªããŸãã
0-1ã®ç¯å²ã®æµ®åå°æ°ç¹å€ã ããã©ã«ãå€ã¯0.3ã§ãã
äžè
äžèã¢ãŒãã®åºæºãã¬ãŒã çªå·ãèšå®ããŸãã
æå¹ã«ãããšããã¬ãŒã ã®åãããã£ã«ã¿ãŒåŠçãããåç §ãã¬ãŒã ãšæ¯èŒãããŸã
æå®ãããçªå·ã§èå¥ãããã¹ããªãŒã ã ã¢ã€ãã¢ã¯ãã®ãã¹ãŠã®åããè£åããããšã§ã
å€ããå°ãªããéçãªã·ãŒã³ã§ãããã«ã¡ã©ãã¥ãŒãå®å šã«éæ¢ãããŸãã
0ã«èšå®ãããšãç¡å¹ã«ãªããŸãã ãã¬ãŒã ã¯1ããã«ãŠã³ããããŸãã
衚瀺ãã
çµæã®ãã¬ãŒã ã«ãã£ãŒã«ããšå€æã衚瀺ããŸãã ç¯å²å ã®æŽæ°ãåãå ¥ããŸã
0-2ã ããã©ã«ãå€ã¯0ã§ãèŠèŠåãç¡å¹ã«ããŸãã
äŸ
ã»ããã©ã«ãå€ã䜿çšããŸãã
vidstabæ€åº
ã»éåžžã«äžå®å®ãªæ ç»ãåæããçµæããã¡ã€ã«ã«ä¿åããŸã mytransforms.trf:
vidstabdetect = shakiness = 10ïŒaccuracy = 15ïŒresult = "mytransforms.trf"
ã»çµæã®ãããªã§å éšå€æã®çµæãèŠèŠåããŸãã
vidstabdetect = show = 1
ã»ã䜿çšããŠäžçšåºŠã®æºãã®ãããããªãåæãã ffmpeg:
ffmpeg -i input -vf vidstabdetect = shakiness = 5ïŒshow =1ãããŒ.avi
vidstabå€æ
ãããªã®å®å®å/ã·ã§ã€ã¯è§£é€ïŒãã¹2 of 2ããåç § vidstabæ€åº ãã¹1ã®å Žåã
åãã¬ãŒã ã®å€ææ å ±ãå«ããã¡ã€ã«ãèªã¿åããããããé©çš/è£æ£ããŸãã äžç·
vidstabæ€åº ãã£ã«ã¿ããã¯ããããªã®ã·ã§ã€ã¯ã解é€ããããã«äœ¿çšã§ããŸãã ãåç §ããŠãã ãã
<http://public.hronopik.de/vid.stab>ã ã䜿çšããããšãéèŠã§ã äžé®®æ ãã£ã«ã¿ããåç §ããŠãã ãã
ãåç §ããŠãã ããã
ãã®ãã£ã«ã¿ãŒã®ã³ã³ãã€ã«ãæå¹ã«ããã«ã¯ãFFmpegãæ§æããå¿ èŠããããŸã
ã--enable-libvidstabãã
ãªãã·ã§ã³
å€æã®èªã¿åãã«äœ¿çšããããã¡ã€ã«ãžã®ãã¹ãèšå®ããŸãã ããã©ã«ãå€ã¯ å€æ.trf.
ã¹ã ãŒãžã³ã°
ã«ã¡ã©ã®ããŒãã¹ãã£ã«ã¿ãªã³ã°ã«äœ¿çšãããã¬ãŒã æ°ïŒå€* 2 + 1ïŒãèšå®ããŸã
åãã ããã©ã«ãå€ã¯10ã§ãã
ããšãã°ã10ãšããæ°åã¯ã21ãã¬ãŒã ã䜿çšãããŠããããšãæå³ããŸãïŒéå»ã«10ãã¬ãŒã ã
å°æ¥ïŒãããªã®åããæ»ããã«ããŸãã å€ã倧ãããããšããããªãã¹ã ãŒãºã«ãªããŸãã
ãã ããã«ã¡ã©ã®å éãå¶éããŸãïŒãã³/ãã«ãã®åãïŒã 0ã¯ç¹æ®ãªã±ãŒã¹ã§ã
éçã«ã¡ã©ãã·ãã¥ã¬ãŒããããŸãã
ãªãã¿ã«ãŽ
ã«ã¡ã©ãã¹æé©åã¢ã«ãŽãªãºã ãèšå®ããŸãã
åãå ¥ããããå€ã¯æ¬¡ã®ãšããã§ãã
ã¬ãŠã¹
ã«ã¡ã©ã¢ãŒã·ã§ã³ã®ã¬ãŠã¹ã«ãŒãã«ããŒãã¹ãã£ã«ã¿ãŒïŒããã©ã«ãïŒ
å¹³å å€æã®å¹³å
æ倧ã·ãã
ãã¬ãŒã ãå€æããæ倧ãã¯ã»ã«æ°ãèšå®ããŸãã ããã©ã«ãå€ã¯-1ã§ãããããæå³ããŸã
éå®ã
æ倧è§åºŠ
ãã¬ãŒã ãå転ãããã«ã¯ãæ倧è§åºŠãã©ãžã¢ã³ïŒåºŠ* PI / 180ïŒã§èšå®ããŸãã ããã©ã«ãå€ã¯-1ã§ãã
å¶éããªãããšãæå³ããŸãã
äœç©
åãã®è£æ£ã«ãã£ãŠè¡šç€ºãããå¯èœæ§ã®ããå¢çç·ã®åŠçæ¹æ³ãæå®ããŸãã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ç¶ãã
åã®ãã¬ãŒã ã®ç»åæ å ±ãä¿æããïŒããã©ã«ãïŒ
é»
å¢çç·ãé»ãå¡ãã€ã¶ã
転å
1ã«èšå®ãããŠããå Žåãå€æãå転ããŸããããã©ã«ãå€ã¯0ã§ãã
çžå¯Ÿ
1ã«èšå®ãããŠããå Žåã¯åã®ãã¬ãŒã ãåºæºã«ããŠã0ã«èšå®ãããŠããå Žåã¯çµ¶å¯Ÿå€æãšèŠãªããŸãã
ããã©ã«ãå€ã¯0ã§ãã
ãºãŒã
ãºãŒã ããããŒã»ã³ããŒãžãèšå®ããŸãã æ£ã®å€ã¯ãºãŒã ã€ã³å¹æã«ãªããè² ã®å€ã«ãªããŸã
ãºãŒã ã¢ãŠãå¹æã®å€ã ããã©ã«ãå€ã¯0ïŒãºãŒã ãªãïŒã§ãã
ãªãããºãŒã
å¢çç·ãé¿ããããã«æé©ãªãºãŒã ãèšå®ããŸãã
åãå ¥ããããå€ã¯æ¬¡ã®ãšããã§ãã
0 ç¡å¹
1 æé©ãªéçãºãŒã å€ã決å®ãããŸãïŒéåžžã«åŒ·ãåãã®ã¿ã
衚瀺ãããå¢çç·ïŒïŒããã©ã«ãïŒ
2 æé©ãªé©å¿ãºãŒã å€ã決å®ãããŸãïŒå¢çç·ã¯è¡šç€ºãããŸããïŒããåç §ããŠãã ããã
ãºãŒã ã¹ããŒã
ãºãŒã ã§äžããããå€ã¯ãããã§èšç®ãããå€ã«è¿œå ãããããšã«æ³šæããŠãã ããã
ãºãŒã ã¹ããŒã
åãã¬ãŒã ãæ倧ã«ãºãŒã ããããã«ããŒã»ã³ããèšå®ããŸãïŒ ãªãããºãŒã 2ïŒã«èšå®ãããŸãã ç¯å²ã¯
0ãã5ãŸã§ãããã©ã«ãå€ã¯0.25ã§ãã
ã€ã³ã¿ãŒããŒã«
è£éã®ã¿ã€ããæå®ããŸãã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ããã è£éãªã
ç·åœ¢
ç·åœ¢ã®ã¿æ°Žå¹³
ãã€ãªãã¢
äž¡æ¹åã«ç·åœ¢ïŒããã©ã«ãïŒ
ãã€ãã¥ãŒããã¯
äž¡æ¹åã«ç«æ¹äœïŒé ãïŒ
äžè
1ã«èšå®ãããŠããå Žåã¯ãä»®æ³äžèã¢ãŒããæå¹ã«ããŸããããã¯ã
ãrelative=0ïŒsmoothing=0ãã ããã©ã«ãå€ã¯0ã§ãã
ã®ãäžèããªãã·ã§ã³ãäœ¿çš vidstabæ€åº.
debug
1ã«èšå®ãããšããã°ã®åé·æ§ãåäžããŸãããŸããæ€åºãããã°ããŒãã«ã¢ãŒã·ã§ã³ã¯æ¬¡ã®ããã«æžã蟌ãŸããŸãã
äžæãã¡ã€ã« ã°ããŒãã«ã¢ãŒã·ã§ã³.trfã ããã©ã«ãå€ã¯0ã§ãã
äŸ
㻠䜿çšãã ffmpeg ããã©ã«ãå€ã䜿çšããäžè¬çãªå®å®åã®å ŽåïŒ
ffmpeg -i inp.mpeg -vf vidstabtransformãunsharp = 5ïŒ5ïŒ0.8ïŒ3ïŒ3ïŒ0.4 inp_stabilized.mpeg
ããã§ã¯ã äžé®®æ åžžã«æšå¥šããããã£ã«ã¿ãŒã
ã»ããå°ããºãŒã ã€ã³ããŠãç¹å®ã®ãã¡ã€ã«ããå€æããŒã¿ãããŒãããŸãã
vidstabtransform =zoom = 5ïŒinput = "mytransforms.trf"
ã»ãããªãããã«ã¹ã ãŒãºã«ããŸãã
vidstabtransform = smoothing = 30
ãŽããªãã
å ¥åãããªãåçŽã«å転ããŸãã
ããšãã°ããããªãåçŽæ¹åã«å転ããã«ã¯ ffmpeg:
ffmpeg -i in.avi -vf "vflip" out.avi
ãããã
èªç¶ãªã±ã©ã¬å¹æãäœæãŸãã¯å転ããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
è§åºŠã a
ã¬ã³ãºè§åºŠåŒãã©ãžã¢ã³æ°ãšããŠèšå®ããŸãã
å€ã¯ã[0ãPI/2]ãã®ç¯å²ã§ã¯ãªãããããŸãã
ããã©ã«ãå€ïŒãPI/5ã
x0
y0 äžå¿åº§æšåŒãèšå®ããŸãã ããã©ã«ãã§ã¯ããããããw/2ããšãh/2ãã§ãã
ã¢ãŒã
ãã©ã¯ãŒã/ããã¯ã¯ãŒãã¢ãŒããèšå®ããŸãã
䜿çšå¯èœãªã¢ãŒãã¯æ¬¡ã®ãšããã§ãã
ãã©ã¯ãŒã
äžå¿ç¹ããã®è·é¢ãé¢ããã»ã©ãç»åã¯æããªããŸãã
åŸãåã
äžå¿ç¹ããã®è·é¢ãé¢ããã»ã©ãç»åã¯æãããªããŸãã
èªåã¯ãããŸããããããã䜿çšããŠããããå¹æãå ã«æ»ãããšãã§ããŸã
ã¬ã³ãºãæœåºããããã®æ€åº è§åºŠ ããã³ãã®ä»ã®èšå®ïŒãŸã ïŒã 䜿çšããããšãã§ããŸã
ççŒå¹æãäœæããŸãã
ããã©ã«ãå€ã¯ ãã©ã¯ãŒã.
è©äŸ¡ãã
åŒã®è©äŸ¡ã¢ãŒããèšå®ããŸãïŒè§åºŠ, x0, y0).
次ã®å€ãåãå ¥ããŸãã
INIT
ãã£ã«ã¿ã®åæåäžã«åŒãXNUMXåã ãè©äŸ¡ããŸãã
ãã¬ãŒã
çä¿¡ãã¬ãŒã ããšã«åŒãè©äŸ¡ããŸãã ããã¯ã INIT
ãã¹ãŠã®ã¹ã±ãŒã©ãŒãåèšç®ããå¿ èŠãããããã¢ãŒãã§ãããé«åºŠãª
ãã€ãããã¯ãªè¡šçŸã
ããã©ã«ãå€ã¯ INIT.
ãã£ã¶
ãã£ã¶ãªã³ã°ãèšå®ããŠãå圢ã®ãã³ãã£ã³ã°å¹æãæžãããŸãã ããã©ã«ãã¯1ïŒæå¹ïŒã§ãã
åŽé¢
ããããã¢ã¹ãã¯ããèšå®ããŸãã ãã®èšå®ã«ãããããããã®åœ¢ç¶ã調æŽã§ããŸãã
ãã®å€ãå ¥åã®SARã«èšå®ãããšãé·æ¹åœ¢ã®ã±ã©ã¬ãçºçããŸã
ãããªã®å¯žæ³ã«åŸã£ãŠãã ããã
ããã©ã«ãã¯ã1/1ãã§ãã
åŒ
ãã® ã¢ã«ãã¡, x0 ãš y0 åŒã«ã¯ã次ã®ãã©ã¡ãŒã¿ãŒãå«ããããšãã§ããŸãã
w
h å ¥åã®å¹ ãšé«ã
n 0ããå§ãŸãå ¥åãã¬ãŒã ã®æ°
PTS ãã£ã«ã¿ãªã³ã°ããããããªãã¬ãŒã ã®PTSïŒPresentation TimeStampïŒæéã TB
åäœãæªå®çŸ©ã®å Žåã¯NAN
r å ¥åãããªã®ãã¬ãŒã ã¬ãŒããå ¥åãã¬ãŒã ã¬ãŒããäžæãªå Žåã¯NAN
t ãã£ã«ã¿ãªã³ã°ããããããªãã¬ãŒã ã®PTSïŒPresentation TimeStampïŒïŒç§åäœã§è¡šãããïŒã
æªå®çŸ©ã®å Žåã¯NAN
tb å ¥åãããªã®ã¿ã€ã ããŒã¹
äŸ
ã»åçŽãªåŒ·åãªã±ã©ã¬å¹æãé©çšããŸãã
vignette = PI / 4
ã»ã¡ãã€ãã®ããã±ã©ã¬ãäœæããŸãã
vignette ='PI / 4 +ã©ã³ãã ïŒ1ïŒ* PI / 50'ïŒeval = frame
vstack
å ¥ååç»ã瞊ã«ç©ã¿éããŸãã
ãã¹ãŠã®ã¹ããªãŒã ã¯ãåããã¯ã»ã«åœ¢åŒã§åãå¹ ã§ããå¿ èŠããããŸãã
ãã®ãã£ã«ã¿ãŒã¯äœ¿çšãããããé«éã§ããããšã«æ³šæããŠãã ãã ãªãŒããŒã¬ã€ ãš ããã åãåºåãäœæããããã®ãã£ã«ã¿ãŒã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
nb_inputs
å ¥åã¹ããªãŒã ã®æ°ãèšå®ããŸãã ããã©ã«ãã¯2ã§ãã
w3fdif
å ¥åãããªã®ã€ã³ã¿ãŒã¬ãŒã¹è§£é€ïŒãw3fdifãã¯ãWeston3 Field DeinterlacingFilterãã®ç¥ïŒã
Martin WestonãBBCRïŒDã®ããã«èšè¿°ããããã»ã¹ã«åºã¥ããŠããã
ãŠã§ã¹ãã³3ãã£ãŒã«ãã§ããBBCRïŒDã®ããã«ãžã ã€ãŒã¹ã¿ãŒãã«ãã¯ã«ãã£ãŠæžãããã€ã³ã¿ãŒã¬ãŒã¹è§£é€ã¢ã«ãŽãªãºã
ã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãã£ã«ã¿ãŒã¯ãBBC RïŒDã«ãã£ãŠèšç®ããããã£ã«ã¿ãŒä¿æ°ã䜿çšããŸãã
ãã£ã«ã¿ä¿æ°ã«ã¯ããåçŽããšãè€éãã®XNUMXã€ã®ã»ããããããŸãã ã©ã®ã»ããã®
䜿çšããããã£ã«ã¿ãŒä¿æ°ã¯ããªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒãæž¡ãããšã§èšå®ã§ããŸãã
filter
ã€ã³ã¿ãŒã¬ãŒã¹ãã£ã«ã¿ãŒä¿æ°ãèšå®ããŸãã 次ã®ããããã®å€ãåãå ¥ããŸãã
ã·ã³ãã«ãª
åçŽãªãã£ã«ã¿ãŒä¿æ°ã»ããã
è€éãª
ããè€éãªãã£ã«ã¿ãŒä¿æ°ã»ããã
ããã©ã«ãå€ã¯ è€éãª.
ãã£ã³ã
ã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãããã¬ãŒã ãæå®ããŸãã 次ã®ããããã®å€ãåãå ¥ããŸãã
ã ãã¹ãŠã®ãã¬ãŒã ãã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãã
ã€ã³ã¿ãŒã¬ãŒã¹
ã€ã³ã¿ãŒã¬ãŒã¹ãšããŠããŒã¯ããããã¬ãŒã ã®ã¿ãã€ã³ã¿ãŒã¬ãŒã¹è§£é€ããŸãã
ããã©ã«ãå€ã¯ ã.
波圢
ãããªæ³¢åœ¢ã¢ãã¿ãŒã
波圢ã¢ãã¿ãŒã¯ãè²æåã®åŒ·åºŠãããããããŸãã ããã©ã«ãã§ã¯èŒåºŠã®ã¿ã å
波圢ã®åã¯ããœãŒã¹ãããªã®ãã¯ã»ã«ã®åã«å¯Ÿå¿ããŸãã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã¢ãŒãã m
ãè¡ããŸãã¯ãåãã®ããããã«ãªããŸãã ããã©ã«ãã¯ãåãã§ãã è¡ã¢ãŒãã§ã¯ãäžã®ã°ã©ãã¯
å·ŠåŽã¯è²æåå€0ãè¡šããå³åŽã¯å€=ãè¡šããŸãã
255.åã¢ãŒãã§ã¯ãäžé¢ã¯è²æåå€= 0ãè¡šããäžé¢ã¯è²æåå€=XNUMXãè¡šããŸãã
å€=255ãè¡šããŸãã
匷床ã i
匷床ãèšå®ããŸãã å°ããå€ã¯ãåãå€ã®æ°ãèŠã€ããã®ã«åœ¹ç«ã¡ãŸã
èŒåºŠã¯å ¥åè¡/åã«åæ£ãããŸãã ããã©ã«ãå€ã¯0.04ã§ãã èš±å¯ããã
ç¯å²ã¯[0ã1]ã§ãã
é¡ã r
ãã©ãŒãªã³ã°ã¢ãŒããèšå®ããŸãã 0ã¯ãã©ãŒãªã³ã°ãããŠããªãããšãæå³ãã1ã¯ãã©ãŒãªã³ã°ãããŠããããšãæå³ããŸãã ãã©ãŒã¢ãŒãã§ã¯ãããé«ã
å€ã¯ããè¡ãã¢ãŒãã®å Žåã¯å·ŠåŽã«ããåãã®å Žåã¯äžéšã«è¡šç€ºãããŸãã
ã¢ãŒãã ããã©ã«ãã¯1ïŒãã©ãŒãªã³ã°ïŒã§ãã
衚瀺ã d
衚瀺ã¢ãŒããèšå®ããŸãã 次ã®å€ãåãå ¥ããŸãã
ãªãŒããŒã¬ã€
ã°ã©ããé€ããŠãããã¬ãŒãããšåãæ å ±ã衚瀺ããŸã
è²æåãè¡šããã®ã¯ãäºãã«çŽæ¥éãåããããŸãã
ãã®è¡šç€ºã¢ãŒãã䜿çšãããšãçžå¯Ÿçãªçžéç¹ãé¡äŒŒç¹ãç°¡åã«èŠã€ããããšãã§ããŸãã
åäžã§ãããšæãããè²æåã®éãªãåãé åã
ãã¥ãŒãã©ã«ãã¯ã€ããã°ã¬ãŒããŸãã¯ãã©ãã¯ãšããŠã
ãã¬ãŒã
ãè¡ãã¢ãŒããŸãã¯XNUMXã€ã§ãè²æåã®åå¥ã®ã°ã©ãã䞊ã¹ãŠè¡šç€ºããŸã
ãåãã¢ãŒãã§ä»ã®äžã«ã
ãã®è¡šç€ºã¢ãŒãã䜿çšãããšããã€ã©ã€ãã®è²ãã¶ããç°¡åã«èŠã€ããããšãã§ããŸãã
ã®äžéšãšäžéšã®ã°ã©ãã®èŒªéãæ¯èŒããããšã«ãããç»åã®åœ±
å波圢ã çœãç°è²ãé»ã¯å®å šã«çãããšããç¹åŸŽãããã®ã§
ç»åã®èµ€ãç·ãéã®äžç«é åã®éã¯XNUMXã€è¡šç€ºãããŸã
ã»ãŒçããå¹ /é«ãã®æ³¢åœ¢ã ããã§ãªãå Žåãä¿®æ£ã¯ç°¡åã«å®è¡ã§ããŸã
ã¬ãã«èª¿æŽãè¡ãããšã«ãããXNUMXã€ã®æ³¢åœ¢ã
ããã©ã«ãã¯ããã¬ãŒããã§ãã
ã³ã³ããŒãã³ãã¯ã c
衚瀺ããã«ã©ãŒã³ã³ããŒãã³ããèšå®ããŸãã ããã©ã«ãã¯1ã§ãããã¯èŒåºŠãŸãã¯èµ€ã®ã¿ãæå³ããŸã
å ¥åãRGBè²ç©ºéã®å Žåã®è²æåã ããšãã°7ã«èšå®ãããšã
3ã€ãã¹ãŠã®ïŒããããã°ïŒå©çšå¯èœãªã«ã©ãŒã³ã³ããŒãã³ãã衚瀺ããŸãã
å°çã e
ãªã
å°çã¯ãããŸããããããããã©ã«ãã§ãã
ã€ã³ã¹ã¿ã³ã
ã°ã©ãã«è¡šç€ºãããã€ã³ã¹ã¿ã³ããšã³ãããŒããæå°å€ãæ倧å€ã¯ç°¡åã«ãªããŸã
å°ããªãã¹ããããå€ã§ã衚瀺ãããŸãã
ããŒã¯
æéã®çµéãšãšãã«ã°ã©ãã«è¡šç€ºãããæå°å€ãšæ倧å€ãä¿æããŸãã ãã®ããã«ããªãã¯ããããšãã§ããŸã
波圢ãåžžã«èŠãªããŠããç¯å²å€ã®å€ãèŠã€ããããšãã§ããŸãã
ããŒã¯+ã€ã³ã¹ã¿ã³ã
ããŒã¯ãšã³ãããŒããšã€ã³ã¹ã¿ã³ããšã³ãããŒããçµã¿åããããã®ã
ãã£ã«ã¿ã f
ããŒãã¹
ãã£ã«ã¿ãªã³ã°ã¯ãããŸããããããããã©ã«ãã§ãã
ãã©ãããª
ã«ãŒããšã¯ãããçµã¿åããããŠããŸãã
ãã©ãã
äžèšãšåæ§ã§ãããéãšèµ€ã®åœ©åºŠã®éãã瀺ããŠããŸãã
圩床
ã³ããã®ã¿ã衚瀺ããŸãã
ã¢ã¯ãã
äžèšãšåæ§ã§ãããéãšèµ€ã®åœ©åºŠã®éãã瀺ããŠããŸãã
ã«ã©ãŒ
波圢ã«å®éã®è²ã®å€ã衚瀺ããŸãã
xbr
ãã¯ã»ã«ã¢ãŒãçšã«èšèšãããxBRé«å質åçãã£ã«ã¿ãŒãé©çšããŸãã ãã
äžé£ã®ãšããžæ€åºã«ãŒã«ã«åŸããŸãããåç §ããŠãã ããã
<http://www.libretro.com/forums/viewtopic.phpïŒf = 6ïŒt = 134>.
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
n ã¹ã±ãŒãªã³ã°å¯žæ³ãèšå®ããŸããã2xBRãã®å Žåã¯2ãã3xBRãã®å Žåã¯3ãã4xBRãã®å Žåã¯4ã§ãã ããã©ã«ãã¯3ã§ãã
ã€ãã£ã
å ¥åãããªã®ã€ã³ã¿ãŒã¬ãŒã¹è§£é€ïŒãyadifãã¯ãããã«å¥ã®ã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãã£ã«ã¿ãŒããæå³ããŸãïŒã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ã¢ãŒã
æ¡çšããã€ã³ã¿ãŒã¬ãŒã¹ã¢ãŒãã 次ã®ããããã®å€ãåãå ¥ããŸãã
0, send_frame
ãã¬ãŒã ããšã«XNUMXãã¬ãŒã ãåºåããŸãã
1, éä¿¡ãã£ãŒã«ã
ãã£ãŒã«ãããšã«XNUMXãã¬ãŒã ãåºåããŸãã
2, send_frame_nospatial
ãsend_frameããšåæ§ã§ããã空éã€ã³ã¿ãŒã¬ãŒã¹ãã§ãã¯ãã¹ãããããŸãã
3, send_field_nospatial
ãsend_fieldããšåæ§ã§ããã空éã€ã³ã¿ãŒã¬ãŒã¹ãã§ãã¯ãã¹ãããããŸãã
ããã©ã«ãå€ã¯ãsend_frameãã§ãã
ããªãã£
å ¥åã€ã³ã¿ãŒã¬ãŒã¹ãããªã«å¯ŸããŠæ³å®ãããç»åãã£ãŒã«ãããªãã£ã ã®ãããããåãå ¥ããŸã
次ã®å€ïŒ
0, tff
äžçªäžã®ãã£ãŒã«ããæåã§ãããšä»®å®ããŸãã
1, BFF
äžã®ãã£ãŒã«ããæåã§ãããšæ³å®ããŸãã
-1ã ãªãŒã
ãã£ãŒã«ãããªãã£ã®èªåæ€åºãæå¹ã«ããŸãã
ããã©ã«ãå€ã¯ãautoãã§ãã ã€ã³ã¿ãŒã¬ãŒã¹ãäžæãªå ŽåããŸãã¯ãã³ãŒããŒãäžæãªå Žå
ãã®æ å ±ããšã¯ã¹ããŒããããšãæåã«ããããã£ãŒã«ããæ³å®ãããŸãã
ãã£ã³ã
ã€ã³ã¿ãŒã¬ãŒã¹è§£é€ãããã¬ãŒã ãæå®ããŸãã 次ã®ããããã®å€ãåãå ¥ããŸãã
0, ã
ãã¹ãŠã®ãã¬ãŒã ãã€ã³ã¿ãŒã¬ãŒã¹è§£é€ããŸãã
1, ã€ã³ã¿ãŒã¬ãŒã¹
ã€ã³ã¿ãŒã¬ãŒã¹ãšããŠããŒã¯ããããã¬ãŒã ã®ã¿ãã€ã³ã¿ãŒã¬ãŒã¹è§£é€ããŸãã
ããã©ã«ãå€ã¯ãallãã§ãã
ãºãŒã ãã³
ãºãŒã ïŒãã³å¹æãé©çšããŸãã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãºãŒã ã z
ãºãŒã åŒãèšå®ããŸãã ããã©ã«ãã¯1ã§ãã
x
y xããã³yåŒãèšå®ããŸãã ããã©ã«ãã¯0ã§ãã
d æéåŒããã¬ãŒã æ°ã§èšå®ããŸãã ããã¯ãããã€ã®æ°ãèšå®ããŸã
ãã¬ãŒã å¹æã¯ãåäžã®å ¥åç»åã«å¯ŸããŠæç¶ããŸãã
s åºåç»åãµã€ãºãèšå®ããŸããããã©ã«ãã¯ãhd720ãã§ãã
ååŒã«ã¯ã次ã®å®æ°ãå«ããããšãã§ããŸãã
in_wã iw
å ¥åå¹ ã
in_hã ih
å ¥åã®é«ãã
out_wã ow
åºåå¹ ã
out_hã oh
åºåã®é«ãã
in å ¥åãã¬ãŒã æ°ã
on åºåãã¬ãŒã æ°ã
x
y çŸåšã®å ¥åã®ãxãããã³ãyãåŒããæåŸã«èšç®ããããxãããã³ãyãã®äœçœ®
ãã¬ãŒã ã
px
py åã®å ¥åãã¬ãŒã ã®æåŸã®åºåãã¬ãŒã ã®ãxããšãyãããŸãã¯ãŸã ååšããªãå Žåã¯0
ãã®ãããªãã¬ãŒã ïŒæåã®å ¥åãã¬ãŒã ïŒã
ãºãŒã
çŸåšã®å ¥åãã¬ãŒã ã®ãzãåŒããæåŸã«èšç®ããããºãŒã ã
pãºãŒã
åã®å ¥åãã¬ãŒã ã®æåŸã®åºåãã¬ãŒã ã®æåŸã«èšç®ããããºãŒã ã
ãã¥ã¬ãŒã·ã§ã³
çŸåšã®å ¥åãã¬ãŒã ã®åºåãã¬ãŒã ã®æ°ã 'd'åŒããèšç®
åå ¥åãã¬ãŒã ã
æé
åã®å ¥åãã¬ãŒã çšã«äœæãããåºåãã¬ãŒã ã®æ°
a æçæ°ïŒå ¥åå¹ /å ¥åé«ã
sar ãµã³ãã«ã®ã¢ã¹ãã¯ãæ¯
äžãã ãã£ã¹ãã¬ã€ã®ã¢ã¹ãã¯ãæ¯
äŸ
ã»1.5ãŸã§ãºãŒã ã€ã³ããåæã«ç»åã®äžå€®è¿ãã®ããå Žæã«ãã³ããŸãã
zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360
ã»1.5ãŸã§ãºãŒã ã€ã³ããåžžã«ç»åã®äžå€®ã§ãã³ããŸãã
zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
VIDEO SOURCES
以äžã¯ãçŸåšå©çšå¯èœãªãããªãœãŒã¹ã®èª¬æã§ãã
ãããã¡
ãããªãã¬ãŒã ããããã¡ãªã³ã°ãããã£ã«ã¿ãŒãã§ãŒã³ã§äœ¿çšã§ããããã«ããŸãã
ãã®ãœãŒã¹ã¯ãäž»ã«ããã°ã©ã ã«ãã䜿çšãç¹ã«ã€ã³ã¿ãŒãã§ã€ã¹ãä»ãã䜿çšãç®çãšããŠããŸãã
ã§å®çŸ©ããã libavfilter / vsrc_buffer.h.
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ãããªãµã€ãº
ãããã¡ãªã³ã°ããããããªãã¬ãŒã ã®ãµã€ãºïŒå¹ ãšé«ãïŒãæå®ããŸãã ã®æ§æã«ã€ããŠ
ãã®ãªãã·ã§ã³ã¯ã "ãã㪠ãµã€ãº" in ã ffmpeg-utils ããã¥ã¢ã«.
å¹
å ¥åãããªã®å¹ ã
é«ã
å ¥åãããªã®é«ãã
pix_fmt
ãããã¡ãªã³ã°ããããããªãã¬ãŒã ã®ãã¯ã»ã«ãã©ãŒããããè¡šãæååã ããã¯ãããããŸãã
ãã¯ã»ã«ãã©ãŒãããã«å¯Ÿå¿ããçªå·ããŸãã¯ãã¯ã»ã«ãã©ãŒãããåã
ã¿ã€ã ããŒã¹
ãããã¡ãªã³ã°ããããã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ããæ³å®ããã¿ã€ã ããŒã¹ãæå®ããŸãã
ãã¬ãŒã ã¬ãŒã
ãããªã¹ããªãŒã ã«æåŸ ããããã¬ãŒã ã¬ãŒããæå®ããŸãã
pixel_aspectã sar
å ¥åãããªã®ãµã³ãã«ïŒãã¯ã»ã«ïŒã¢ã¹ãã¯ãæ¯ã
sws_param
èªåçã«è¡ãããã¹ã±ãŒã«ãã£ã«ã¿ãŒã«äœ¿çšãããªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒãæå®ããŸã
å ¥åã®ãµã€ãºãŸãã¯åœ¢åŒã§å ¥åã®å€æŽãæ€åºããããšãã«æ¿å ¥ãããŸãã
äŸïŒ
buffer=width=320:height=240:pix_fmt=yuv410p:time_base=1/24:sar=1
ãµã€ãºã320x240ã§ãã©ãŒãããã®ãããªãã¬ãŒã ãåãå ¥ããããã«ãœãŒã¹ã«æ瀺ããŸã
ãyuv410pããã¿ã€ã ã¹ã¿ã³ãã®ã¿ã€ã ããŒã¹ãšæ£æ¹åœ¢ã®ãã¯ã»ã«ãšããŠ1/24ãæ³å®ïŒ1ïŒ1ã®ãµã³ãã«ã¢ã¹ãã¯ã
æ¯ïŒã ãyuv410pããšããååã®ãã¯ã»ã«åœ¢åŒã¯çªå·6ã«å¯Ÿå¿ããŠããããã
åæåAVPixelFormatå®çŸ© libavutil / pixfmt.hïŒããã®äŸã¯ä»¥äžã«å¯Ÿå¿ããŸãïŒ
buffer=size=320x240:pixfmt=6:time_base=1/24:pixel_aspect=1/1
ãŸãã¯ããªãã·ã§ã³ããã©ããæååãšããŠæå®ããããšãã§ããŸããããã®æ§æã¯æ¬¡ã®ãšããã§ãã
éæšå¥šïŒ
å¹ :é«ã:pix_fmt:time_base.num:time_base.den:ãã¯ã»ã«_ã¢ã¹ãã¯ã.num:ãã¯ã»ã«ã¢ã¹ãã¯ã.den[:sws_param]
ã»ã«ãªãŒã
åºæ¬ã»ã«ãªãŒãããã³ã«ãã£ãŠçæããããã¿ãŒã³ãäœæããŸãã
ã»ã«ãªãŒãããã³ã®åæç¶æ ã¯ã ãã¡ã€ã«å,
ãã¿ãŒã³ ãªãã·ã§ã³ã ãã®ãããªãªãã·ã§ã³ãæå®ãããŠããªãå Žåãåæç¶æ ã¯ã©ã³ãã ã«äœæãããŸãã
æ°ãããã¬ãŒã ããšã«ããããªã®æ°ããè¡ãã»ã«ã©ãŒã®çµæã§åããããŸã
次äžä»£ã®ãªãŒãããã³ã ãã¬ãŒã å šäœãå¡ãã€ã¶ããããšãã®åäœã¯ã
ã¹ã¯ããŒã« ãªãã·ã§ã³ãéžæããŸãã
ãã®ãœãŒã¹ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãã¡ã€ã«åã f
æå®ãããã»ã«ãªãŒãããã³ã®åæç¶æ ãã€ãŸãéå§è¡ãèªã¿åããŸã
ãã¡ã€ã«ã ãã¡ã€ã«ã§ã¯ã空çœä»¥å€ã®åæåã¯çããŠããã»ã«ãšèŠãªãããŸãã
newlineã¯è¡ãçµäºãããã¡ã€ã«å ã®ãã以éã®æåã¯ç¡èŠãããŸãã
ãã¿ãŒã³ã p
æå®ãããã»ã«ãªãŒãããã³ã®åæç¶æ ãã€ãŸãéå§è¡ãèªã¿åããŸã
æååã
æååå ã®ç©ºçœä»¥å€ã®åæåã¯ãçããŠããã»ã«ãæ¹è¡ãšèŠãªãããŸã
è¡ãçµäºããæååå ã®ãã以éã®æåã¯ç¡èŠãããŸãã
å²åã r
ãããªã¬ãŒããã€ãŸã25ç§ãããã«çæããããã¬ãŒã æ°ãèšå®ããŸãã ããã©ã«ãã¯XNUMXã§ãã
random_fill_ratioã æ¯
æåã®ã»ã«ãªãŒãããã³è¡ã®ã©ã³ãã å å¡«çãèšå®ããŸãã ãããŒãã£ã³ã°ã§ã
0ãã1ã®ç¯å²ã®ãã€ã³ãçªå·å€ã¯ãããã©ã«ãã§1/PHIã«ãªããŸãã
ãã¡ã€ã«ãŸãã¯ãã¿ãŒã³ãæå®ãããŠããå Žåããã®ãªãã·ã§ã³ã¯ç¡èŠãããŸãã
random_seedã ã·ãŒã
æåã®è¡ãã©ã³ãã ã«åããããã®ã·ãŒããèšå®ããŸããéã«å«ãŸããæŽæ°ã§ããå¿ èŠããããŸã
0ããã³UINT32_MAXã æå®ãããŠããªãå ŽåããŸãã¯æ瀺çã«-1ã«èšå®ãããŠããå Žåããã£ã«ã¿ãŒã¯æ¬¡ã®ããšãè©Šã¿ãŸãã
ãã¹ããšãã©ãŒãããŒã¹ã§é©åãªã©ã³ãã ã·ãŒãã䜿çšããŸãã
ã«ãŒã«
ã»ã«ãªãŒãããã³ã«ãŒã«ãèšå®ããŸããããã¯0ã255ã®ç¯å²ã®æ°å€ã§ããããã©ã«ãå€
110ã§ãã
ãµã€ãºã s
åºååç»ã®ãµã€ãºãèšå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãããª
ãµã€ãº" in ã ffmpeg-utils ããã¥ã¢ã«.
If ãã¡ã€ã«å or ãã¿ãŒã³ ãæå®ãããŠããå Žåããµã€ãºã¯ããã©ã«ãã§ã®å¹ ã«èšå®ãããŸã
æå®ãããåæç¶æ ã®è¡ã§ãé«ãã¯ã«èšå®ãããŠããŸã å¹ *ãã¡ã€ã
If ãµã€ãº ãèšå®ãããŠããå Žåãæå®ããããã¿ãŒã³æååã®å¹ ãå«ãŸããŠããå¿ èŠããããŸãã
æå®ãããã¿ãŒã³ã¯ã倧ããæ¹ã®è¡ã®äžå€®ã«é 眮ãããŸãã
ãã¡ã€ã«åãŸãã¯ãã¿ãŒã³æååãæå®ãããŠããªãå Žåããµã€ãºå€ã¯ããã©ã«ãã§æ¬¡ã®ããã«ãªããŸãã
ã320x518ãïŒã©ã³ãã ã«çæãããåæç¶æ ã«äœ¿çšãããŸãïŒã
ã¹ã¯ããŒã«
1ã«èšå®ãããšãåºåã®ãã¹ãŠã®è¡ãçµäºããããåºåãäžã«ã¹ã¯ããŒã«ããŸãã
ãã§ã«ãã£ã±ãã§ãã 0ã«èšå®ãããšãæ°ããçæãããè¡ãäžçªäžã®è¡ã«æžã蟌ãŸããŸã
äžã®è¡ãåããããçŽåŸã ããã©ã«ãã¯1ã§ãã
start_fullã ãã«
1ã«èšå®ãããšãåºåãåºåããåã«ãçæãããè¡ã§åºåãå®å šã«åããŸãã
æåã®ãã¬ãŒã ã ããã¯ããã©ã«ãã®åäœã§ãããç¡å¹ã«ãããšå€ã0ã«èšå®ããŸãã
ã¹ããã
1ã«èšå®ãããšãå·Šå³ã®è¡ã®ç«¯ãã€ãªãåãããŸãã ãããããã©ã«ãã§ã
åäœãç¡å¹ã«ããã«ã¯ãå€ã0ã«èšå®ããŸãã
äŸ
ã»ããåæç¶æ ãèªã¿åããŸã ãã¿ãŒã³ãããã³ãµã€ãº200x400ã®åºåãæå®ããŸãã
cellauto = f = patternïŒs = 200x400
ã»å¹ 200ã»ã«ãå¡ãã€ã¶ãç2/3ã®ã©ã³ãã ãªåæè¡ãçæããŸãã
cellauto = ratio = 2/3ïŒs = 200x200
ã»ã«ãŒã«18ã«ãã£ãŠçæããããã¿ãŒã³ãäœæããŸãã
å¹ 100ã®æåã®è¡ïŒ
cellauto = p = @ s = 100x400ïŒfull = 0ïŒrule = 18
ã»ããè€éãªåæãã¿ãŒã³ãæå®ããŸãã
cellauto = p ='@@ @ @@'ïŒs = 100x400ïŒfull = 0ïŒrule = 18
ãã³ãã«ãã
ãã³ãã«ããéåãã©ã¯ã¿ã«ãçæããã§æå®ãããç¹ã«åãã£ãŠåŸã ã«ãºãŒã ããŸãã
ã¹ã¿ãŒã_x ãš éå§_y.
ãã®ãœãŒã¹ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
end_pts
端æ«ã®ptså€ãèšå®ããŸãã ããã©ã«ãå€ã¯400ã§ãã
ãšã³ãã¹ã±ãŒã«
ã¿ãŒããã«ã¹ã±ãŒã«å€ãèšå®ããŸãã æµ®åå°æ°ç¹å€ã§ããå¿ èŠããããŸãã ããã©ã«ãå€ã¯0.3ã§ãã
å åŽã®
ãã³ãã«ãããã©ã¯ã¿ã«ãæç»ããããã«äœ¿çšãããã¢ã«ãŽãªãºã ã§ããå éšã«ã©ãŒãªã³ã°ã¢ãŒããèšå®ããŸã
å éšé åã
次ã®ããããã®å€ãæ³å®ããŸãã
é»
ãã©ãã¯ã¢ãŒããèšå®ããŸãã
åæ
åæãããŸã§ã®æéã衚瀺ããŸãã
ãã³ã³ã«
å埩ã®åç¹ã«æãè¿ããã€ã³ãã«åºã¥ããŠè²ãèšå®ããŸãã
æé
æéã¢ãŒããèšå®ããŸãã
ããã©ã«ãå€ã¯ ãã³ã³ã«.
ææž
ãã€ã«ã¢ãŠãå€ãèšå®ããŸãã ããã©ã«ãå€ã¯10.0ã§ãã
ããã·ã¿ãŒ
ã¬ã³ããªã³ã°ã¢ã«ãŽãªãºã ã«ãã£ãŠå®è¡ãããå埩ã®æ倧å€ãèšå®ããŸãã ããã©ã«ãå€ã¯
7189.
å€åŽã®
å€åŽã®ã«ã©ãŒãªã³ã°ã¢ãŒããèšå®ããŸãã 次ã®ããããã®å€ãæ³å®ããŸãã
å埩ã«ãŠã³ã
å埩ã«ãŠã³ãã¢ãŒããèšå®ããŸãã
Normalized_iteration_count
æ£èŠåãããå埩ã«ãŠã³ãã¢ãŒããèšå®ããŸãã
ããã©ã«ãå€ã¯ Normalized_iteration_count.
å²åã r
25ç§ãããã®ãã¬ãŒã æ°ãšããŠè¡šããããã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã©ã«ãå€ã¯ãXNUMXãã§ãã
ãµã€ãºã s
ãã¬ãŒã ãµã€ãºãèšå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ãã®ããããªãµã€ãºãã»ã¯ã·ã§ã³ã確èªããŠãã ããã
ffmpeg-utilsããã¥ã¢ã«ã ããã©ã«ãå€ã¯ã640x480ãã§ãã
éå§ã¹ã±ãŒã«
åæã¹ã±ãŒã«å€ãèšå®ããŸãã ããã©ã«ãå€ã¯3.0ã§ãã
ã¹ã¿ãŒã_x
åæã®xäœçœ®ãèšå®ããŸãã -100ãã100ãŸã§ã®æµ®åå°æ°ç¹å€ã§ããå¿ èŠããããŸãã
ããã©ã«ãå€ã¯-0.743643887037158704752191506114774ã§ãã
éå§_y
åæã®yäœçœ®ãèšå®ããŸãã -100ãã100ãŸã§ã®æµ®åå°æ°ç¹å€ã§ããå¿ èŠããããŸãã
ããã©ã«ãå€ã¯-0.131825904205311970493132056385139ã§ãã
mptestsrc
MPlayerãã¹ããã£ã«ã¿ãŒã«ãã£ãŠçæãããããã«ãããŸããŸãªãã¹ããã¿ãŒã³ãçæããŸãã
çæããããããªã®ãµã€ãºã¯åºå®ãããŠããã256x256ã§ãã ãã®ãœãŒã¹ã¯
ç¹ã«ãšã³ã³ãŒãã£ã³ã°æ©èœã®ãã¹ãã«ã
ãã®ãœãŒã¹ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
å²åã r
ãœãŒã¹ãããªã®ãã¬ãŒã ã¬ãŒããããããã«çæããããã¬ãŒã æ°ãšããŠæå®ããŸã
XNUMXçªç®ã 次ã®åœ¢åŒã®æååã§ããå¿ èŠããããŸã ãã¬ãŒã ã¬ãŒã_çªå·/ãã¬ãŒã ã¬ãŒã_ãã³ãæŽæ°
æ°å€ãæµ®åå°æ°ç¹æ°ããŸãã¯æå¹ãªãããªãã¬ãŒã ã¬ãŒãã®ç¥èªã ããã©ã«ã
å€ã¯ã25ãã§ãã
ãã¥ã¬ãŒã·ã§ã³ã d
ãœãŒã¹ãããªã®é·ããèšå®ããŸãã èŠã ã Time ãã¥ã¬ãŒã·ã§ã³ in ã
ffmpeg-utils(1) ããã¥ã¢ã« åãå ¥ããããæ§æã«ã€ããŠã
æå®ãããŠããªãå ŽåããŸãã¯è¡šçŸãããæéãè² ã®å Žåããããªã¯
æ°žé ã«çæãããŸãã
ãã¹ã t
å®è¡ãããã¹ãã®çªå·ãŸãã¯ååãèšå®ããŸãã ãµããŒããããŠãããã¹ãã¯æ¬¡ã®ãšããã§ãã
dc_luma
dc_chroma
freq_luma
åšæ³¢æ°ã¯ãã
ã¢ã³ãã«ã
ã¢ã³ãã¯ãã
cbp
mv
ring1
ring2
ã
ããã©ã«ãå€ã¯ãallãã§ããã¹ãŠã®ãã¹ãã®ãªã¹ãã埪ç°ããŸãã
ããã€ãã®äŸïŒ
mptestsrc = t = dc_luma
ãdc_lumaããã¹ããã¿ãŒã³ãçæããŸãã
frei0r_src
frei0rãœãŒã¹ãæäŸããŸãã
ãã®ãã£ã«ã¿ãŒã®ã³ã³ãã€ã«ãæå¹ã«ããã«ã¯ãfrei0rããããŒãã€ã³ã¹ããŒã«ããŠæ§æããå¿ èŠããããŸã
ã--enable-frei0rããå«ãFFmpegã
ãã®ãœãŒã¹ã¯ã次ã®ãã©ã¡ãŒã¿ãŒãåãå ¥ããŸãã
ãµã€ãº
çæãããããªã®ãµã€ãºã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãããª
ãµã€ãº" in ã ffmpeg-utils ããã¥ã¢ã«.
ãã¬ãŒã ã¬ãŒã
çæããããããªã®ãã¬ãŒã ã¬ãŒãã ããã¯åœ¢åŒã®æååã§ããå¯èœæ§ããããŸã NUM/æ¥ ãŸãã¯
ãã¬ãŒã ã¬ãŒãã®ç¥èªã
ãã£ã«ã¿ãŒå
ããŒãããfrei0rãœãŒã¹ã®ååã frei0rãšãã®æ¹æ³ã«é¢ãã詳现ã«ã€ããŠã¯
ãã©ã¡ãŒã¿ãèšå®ããã«ã¯ã ãã¬ã€0r ãããªãã£ã«ã¿ãŒã®ããã¥ã¡ã³ãã®ã»ã¯ã·ã§ã³ã
ãã£ã«ã¿ãã©ã¡ãŒã¿
frei0rãœãŒã¹ã«æž¡ããã©ã¡ãŒã¿ãŒã®ã|ãã§åºåããããªã¹ãã
ããšãã°ããµã€ãºã0x0ã§ãã¬ãŒã ã¬ãŒãã200ã®frei200rpartik10lãœãŒã¹ãçæããã«ã¯
ããã¯ããªãŒããŒã¬ã€ãã£ã«ã¿ãŒã®ã¡ã€ã³å ¥åã«ãªãŒããŒã¬ã€ãããŸãã
frei0r_src = size = 200x200ïŒframerate = 10ïŒfilter_name = partik0lïŒfilter_params =1234[ãªãŒããŒã¬ã€]; [in][ãªãŒããŒã¬ã€]ãªãŒããŒã¬ã€
ç掻
ã©ã€ããã¿ãŒã³ãçæããŸãã
ãã®ãœãŒã¹ã¯ããžã§ã³ã»ã³ã³ãŠã§ã€ã®ã©ã€ãã²ãŒã ã®äžè¬åã«åºã¥ããŠããŸãã
ãœãŒã¹å ¥åã¯ã©ã€ãã°ãªãããè¡šããåãã¯ã»ã«ã¯XNUMXã€ã«å ¥ãããšãã§ããã»ã«ãè¡šããŸã
çããŠãããæ»ãã§ãããã®XNUMXã€ã®å¯èœãªç¶æ ã®ã ãã¹ãŠã®ã»ã«ã¯ããã®XNUMXã€ã®é£æ¥ã»ã«ãšçžäºäœçšããŸãã
ããã¯ãæ°Žå¹³ãåçŽããŸãã¯å¯Ÿè§ç·äžã«é£æ¥ããã»ã«ã§ãã
åã€ã³ã¿ã©ã¯ã·ã§ã³ã§ãã°ãªããã¯æ¡çšãããã«ãŒã«ã«åŸã£ãŠé²åããŸãã
现èãçãç¶ãããçãŸããããé£æ¥ããçããŠãã现èã®æ°ã The ã«ãŒã« ãªãã·ã§ã³
æ¡çšããã«ãŒã«ãæå®ã§ããŸãã
ãã®ãœãŒã¹ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãã¡ã€ã«åã f
ã°ãªããã®åæç¶æ ãèªã¿åããã¡ã€ã«ãèšå®ããŸãã ãã¡ã€ã«ã§ã¯ãåé
空çœæåã¯çããŠããã»ã«ãšèŠãªãããæ¹è¡ã¯
åè¡ã®çµããã
ãã®ãªãã·ã§ã³ãæå®ãããŠããªãå Žåãåæã°ãªããã¯ã©ã³ãã ã«çæãããŸãã
å²åã r
ãããªã¬ãŒããã€ãŸã25ç§ãããã«çæããããã¬ãŒã æ°ãèšå®ããŸãã ããã©ã«ãã¯XNUMXã§ãã
random_fill_ratioã æ¯
åæã©ã³ãã ã°ãªããã®ã©ã³ãã å¡ãã€ã¶ãçãèšå®ããŸãã æµ®åå°æ°ç¹æ°ã§ã
0ãã1ã®ç¯å²ã®å€ãããã©ã«ãã¯1/PHIã§ãã ãã¡ã€ã«ãæå®ãããŠããå Žåã¯ç¡èŠãããŸãã
random_seedã ã·ãŒã
æåã®ã©ã³ãã ã°ãªãããåããããã®ã·ãŒããèšå®ããŸããéã«å«ãŸããæŽæ°ã§ããå¿ èŠããããŸã
0ããã³UINT32_MAXã æå®ãããŠããªãå ŽåããŸãã¯æ瀺çã«-1ã«èšå®ãããŠããå Žåããã£ã«ã¿ãŒã¯æ¬¡ã®ããšãè©Šã¿ãŸãã
ãã¹ããšãã©ãŒãããŒã¹ã§é©åãªã©ã³ãã ã·ãŒãã䜿çšããŸãã
ã«ãŒã«
ã©ã€ãã«ãŒã«ãèšå®ããŸãã
ã«ãŒã«ã¯ãSãã®çš®é¡ã®ã³ãŒãã§æå®ã§ããŸãNS/BNB"ã ã©ã NS ãš NB ã
0ã8ã®ç¯å²ã®æ°åã®ã·ãŒã±ã³ã¹ã NS çããŠããé£æ¥ã»ã«ã®æ°ãæå®ããŸã
çããŠãã现èãçãç¶ããããã«ããããã㊠NB çããŠããé£æ¥ã»ã«ã®æ°
æ»ãã 现èãçããïŒã€ãŸããçãŸãããïŒã ãsããšãbãã¯ãã®å Žã§äœ¿çšã§ããŸã
ãããããSããšãBãã®
ãŸãã¯ã18ãããæŽæ°ã§ã«ãŒã«ãæå®ããããšãã§ããŸãã äžäœ9ãããã¯
çããŠãããã€ããŒã®æ°ããšã«çããŠããå Žåã次ã®ã»ã«ã®ç¶æ ããšã³ã³ãŒãããããã«äœ¿çšãããŸã
ã»ã«ã®äžäœãããã¯ãæ°ããã»ã«ããçæãããããã®ã«ãŒã«ãæå®ããŸãã é«éããã
ããå€ãã®é£æ¥ã»ã«ããšã³ã³ãŒãããŸãã ããšãã°ãçªå·6153 =
ãïŒ12 << 9ïŒ+9ãã¯ã12ã®åç¶èŠåãš9ã®ãã«ã³ã®èŠåãæå®ããŸããããã¯å¯Ÿå¿ããŸãã
ãS23/B03ããžã
ããã©ã«ãå€ã¯ãS23/B3ãã§ãããã¯ã³ã³ãŠã§ã€ã®ãªãªãžãã«ã®ã©ã€ãã«ãŒã«ã²ãŒã ã§ããã
é£æ¥ããçå现èã2ã€ãŸãã¯3ã€ããå Žåã¯çŽ°èãçåããã次ã®å Žåã¯æ°ãã现èãçãŸããŸãã
æ»ãã 现èã®åšãã«ã¯XNUMXã€ã®çããŠãã现èããããŸãã
ãµã€ãºã s
åºååç»ã®ãµã€ãºãèšå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãããª
ãµã€ãº" in ã ffmpeg-utils ããã¥ã¢ã«.
If ãã¡ã€ã«å ãæå®ãããŠããå Žåããµã€ãºã¯ããã©ã«ãã§å ¥åãšåããµã€ãºã«èšå®ãããŸã
ãã¡ã€ã«ã ããã ãµã€ãº ãèšå®ãããŠããå Žåãå ¥åãã¡ã€ã«ã§æå®ããããµã€ãºãå«ãŸããŠããå¿ èŠãããã
ãã®ãã¡ã€ã«ã§å®çŸ©ãããæåã®ã°ãªããã¯ãçµæãšããŠåŸããããã倧ããªé åã®äžå€®ã«é 眮ãããŸãã
ãã¡ã€ã«åãæå®ãããŠããªãå Žåããµã€ãºå€ã¯ããã©ã«ãã§ã320x240ãã«ãªããŸãïŒ
ã©ã³ãã ã«çæãããåæã°ãªããïŒã
ã¹ããã
1ã«èšå®ãããŠããå Žåã¯ãå·Šå³ã®ã°ãªãããšããžãã¹ãããããäžäžãã¹ãããããŸãã
ãšããžãã ããã©ã«ãã¯1ã§ãã
ã¢ãŒã«ã
ã»ã«ã¢ãŒã«ãé床ãèšå®ããŸãã èšå®ãããŠããå Žåããããã»ã«ã¯ æ»ã®è² ããž åã®è² ãŸãã
ã®ã¹ããã ã¢ãŒã«ã. ã¢ãŒã«ã 0ãã255ãŸã§ã®å€ãæã€ããšãã§ããŸãã
ã©ã€ãã«ã©ãŒ
çããŠããïŒãŸãã¯çãŸããã°ããã®ïŒçŽ°èã®è²ãèšå®ããŸãã
æ»ã®è²
æ»ãã 现èã®è²ãèšå®ããŸãã ããã ã¢ãŒã«ã ãèšå®ãããŠããå Žåãããã¯è¡šçŸã«äœ¿çšãããæåã®è²ã§ã
æ»ãã 现èã
åã®è²
ééããªãæ»ãã§ã«ãã®çãã现èã®ããã«ãã«ãã®è²ãèšå®ããŸãã
ãããã®3ã€ã®ã«ã©ãŒãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ãffmpeg-utilsã®ãColorãã»ã¯ã·ã§ã³ã確èªããŠãã ããã
ããã¥ã¢ã«ã
äŸ
ã»ããã°ãªãããèªã¿åããŸã ãã¿ãŒã³ããµã€ãº300x300ãã¯ã»ã«ã®ã°ãªããã®äžå€®ã«é 眮ããŸãã
life = f = patternïŒs = 300x300
ã»200/200ã®å¡ãã€ã¶ãçã§ããµã€ãº2x3ã®ã©ã³ãã ã°ãªãããçæããŸãã
life = ratio = 2/3ïŒs = 200x200
ã»ã©ã³ãã ã«çæãããã°ãªãããå±éããããã®ã«ã¹ã¿ã ã«ãŒã«ãæå®ããŸãã
ã©ã€ã=ã«ãŒã«=S14/ B34
ã»ã¹ããŒãã¹å¹æïŒã«ãïŒã䜿çšããå®å šãªäŸ åçãã:
ffplay -f lavfi life=s=300x200:mold=10:r=60:ratio=0.1:death_color=#C83232:life_color=#00ff00,scale=1200:800:flags=16
allrgbã allyuvã è²ã haldclutsrcã nullsrcã rgbtestsrcã smptebarsã smptehdbarsã ãã¹ãã³ãŒã
ãallrgbããœãŒã¹ã¯ããã¹ãŠã®rgbã«ã©ãŒã®ãµã€ãº4096x4096ã®ãã¬ãŒã ãè¿ããŸãã
ãallyuvããœãŒã¹ã¯ããã¹ãŠã®yuvã«ã©ãŒã®ãµã€ãº4096x4096ã®ãã¬ãŒã ãè¿ããŸãã
ãã«ã©ãŒããœãŒã¹ã¯ãåäžãªè²ã®å ¥åãæäŸããŸãã
ãhaldclutsrcããœãŒã¹ã¯ãã¢ã€ãã³ãã£ãã£HaldCLUTãæäŸããŸãã ãåç §ããŠãã ãã çå²ã ãã£ã«ã¿ã
ãnullsrcããœãŒã¹ã¯ãæªåŠçã®ãããªãã¬ãŒã ãè¿ããŸãã äž»ã«æ¡çšããã®ã«äŸ¿å©ã§ã
åæ/ãããã°ããŒã«ã§ããŸãã¯å ¥åããŒã¿ãç¡èŠãããã£ã«ã¿ãŒã®ãœãŒã¹ãšããŠã
ãrgbtestsrcããœãŒã¹ã¯ãRGBãšBGRã®æ€åºã«åœ¹ç«ã€RGBãã¹ããã¿ãŒã³ãçæããŸã
åé¡ã äžããäžã«èµ€ãç·ãéã®ã¹ãã©ã€ãã衚瀺ãããŸãã
ãsmptebarsããœãŒã¹ã¯ãSMPTEãšã³ãžãã¢ãªã³ã°ã«åºã¥ããŠã«ã©ãŒããŒãã¿ãŒã³ãçæããŸã
ã¬ã€ãã©ã€ã³EG1-1990ã
ãsmptehdbarsããœãŒã¹ã¯ãSMPTERP219-2002ã«åºã¥ããŠã«ã©ãŒããŒãã¿ãŒã³ãçæããŸãã
ãtestsrcããœãŒã¹ã¯ããã¹ããããªãã¿ãŒã³ãçæããã«ã©ãŒãã¿ãŒã³ãã¹ã¯ããŒã«ã衚瀺ããŸã
ã°ã©ããŒã·ã§ã³ãšã¿ã€ã ã¹ã¿ã³ãã ããã¯äž»ã«ãã¹ãç®çãç®çãšããŠããŸãã
ãœãŒã¹ã¯æ¬¡ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
è²ã c
ãœãŒã¹ã®è²ãæå®ããŸãããã«ã©ãŒããœãŒã¹ã§ã®ã¿äœ¿çšã§ããŸãã æ§æã«ã€ããŠ
ãã®ãªãã·ã§ã³ã«ã€ããŠã¯ãffmpeg-utilsããã¥ã¢ã«ã®ãColorãã»ã¯ã·ã§ã³ã確èªããŠãã ããã
ã¬ãã«
ãhaldclutsrcããœãŒã¹ã§ã®ã¿äœ¿çšå¯èœãªHaldCLUTã®ã¬ãã«ãæå®ããŸãã A
ãNãã®ã¬ãã«ã¯ãã¢ã€ãã³ãã£ãã£ãšããŠäœ¿çšããããN * N*Nããã¯ã»ã«ã«ãããN*N*Nãã®ç»åãçæããŸã
3Dã«ãã¯ã¢ããããŒãã«ã®ãããªãã¯ã¹ã åã³ã³ããŒãã³ãã¯ã1/ïŒN * NïŒãã¹ã±ãŒã«ã§ã³ãŒãåãããŠããŸãã
ãµã€ãºã s
ãœãŒã¹ãããªã®ãµã€ãºãæå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãããª
ãµã€ãº" in ã ffmpeg-utils ããã¥ã¢ã«ã ããã©ã«ãå€ã¯ã320x240ãã§ãã
ãã®ãªãã·ã§ã³ã¯ããhaldclutsrcããã£ã«ã¿ãŒã§ã¯äœ¿çšã§ããŸããã
å²åã r
ãœãŒã¹ãããªã®ãã¬ãŒã ã¬ãŒããããããã«çæããããã¬ãŒã æ°ãšããŠæå®ããŸã
XNUMXçªç®ã 次ã®åœ¢åŒã®æååã§ããå¿ èŠããããŸã ãã¬ãŒã ã¬ãŒã_çªå·/ãã¬ãŒã ã¬ãŒã_ãã³ãæŽæ°
æ°å€ãæµ®åå°æ°ç¹æ°ããŸãã¯æå¹ãªãããªãã¬ãŒã ã¬ãŒãã®ç¥èªã ããã©ã«ã
å€ã¯ã25ãã§ãã
sar ãœãŒã¹ãããªã®ãµã³ãã«ã¢ã¹ãã¯ãæ¯ãèšå®ããŸãã
ãã¥ã¬ãŒã·ã§ã³ã d
ãœãŒã¹ãããªã®é·ããèšå®ããŸãã èŠã ã Time ãã¥ã¬ãŒã·ã§ã³ in ã
ffmpeg-utils(1) ããã¥ã¢ã« åãå ¥ããããæ§æã«ã€ããŠã
æå®ãããŠããªãå ŽåããŸãã¯è¡šçŸãããæéãè² ã®å Žåããããªã¯
æ°žé ã«çæãããŸãã
å°æ°ã n
ã¿ã€ã ã¹ã¿ã³ãã«è¡šç€ºããå°æ°ç¹ä»¥äžã®æ¡æ°ãèšå®ããŸããããã¯ãtestsrcãã§ã®ã¿äœ¿çšã§ããŸãã
ãœãŒã¹ã
衚瀺ãããã¿ã€ã ã¹ã¿ã³ãå€ã¯ãå ã®ã¿ã€ã ã¹ã¿ã³ãå€ã«å¯Ÿå¿ããŸã
æå®ãããå€ã®10ã®çŽ¯ä¹ãæããŸãã ããã©ã«ãå€ã¯0ã§ãã
ããšãã°ã次ã®ãšããã§ãã
testsrc = duration = 5.3ïŒsize = qcifïŒrate = 10
ãµã€ãº5.3x176ããã¬ãŒã ã¬ãŒã144ç§ã®ãããªãçæããŸã
æ¯ç§10ãã¬ãŒã ã®ã
次ã®ã°ã©ãã®èª¬æã§ã¯ãäžéæ床ã0.2ã®èµ€ããœãŒã¹ãçæãããŸãã
ãµã€ãºã¯ãqcifãã§ããã¬ãŒã ã¬ãŒãã¯10ç§ãããXNUMXãã¬ãŒã ã§ãã
color = c =[ã¡ãŒã«ä¿è·]ïŒs = qcifïŒr = 10
å ¥åå 容ãç¡èŠããå Žåã¯ããnullsrcãã䜿çšã§ããŸãã 次ã®ã³ãã³ã
ãgeqããã£ã«ã¿ãŒã䜿çšããŠãèŒåºŠå¹³é¢ã«ãã€ãºãçæããŸãã
nullsrc = s = 256x256ãgeq =ã©ã³ãã ïŒ1ïŒ* 255ïŒ128ïŒ128
ã³ãã³ã
ãã«ã©ãŒããœãŒã¹ã¯ã次ã®ã³ãã³ãããµããŒãããŠããŸãã
c, ã«ã©ãŒ
äœæããç»åã®è²ãèšå®ããŸãã 察å¿ããã®ãšåãæ§æãåãå ¥ããŸã ã«ã©ãŒ
ãªãã·ã§ã³ãéžæããŸãã
VIDEO ã·ã³ã¯
以äžã¯ãçŸåšå©çšå¯èœãªãããªã·ã³ã¯ã®èª¬æã§ãã
ãããã¡ã·ã³ã¯
ãããªãã¬ãŒã ããããã¡ãªã³ã°ãããã£ã«ã¿ãŒã°ã©ãã®æåŸã§äœ¿çšã§ããããã«ããŸãã
ãã®ã·ã³ã¯ã¯ãäž»ã«ããã°ã©ã ã§ã®äœ¿çšãç®çãšããŠãããç¹ã«ã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠäœ¿çšããããšãç®çãšããŠããŸãã
ã§å®çŸ©ããã libavfilter / buffersink.h ãŸãã¯ãªãã·ã§ã³ã·ã¹ãã ã
çä¿¡ãå®çŸ©ããAVBufferSinkContextæ§é äœãžã®ãã€ã³ã¿ãŒãåãå ¥ããŸã
ãããã¡ã®ãã©ãŒããããäžéæãªãã©ã¡ãŒã¿ãšããŠãavfilter_init_filterãã«æž¡ãããŸãã
åæåã
ãã«ã·ã³ã¯
ãã«ãããªã·ã³ã¯ïŒå ¥åãããªã«ã¯äœãããŸããã äž»ã«
ãã³ãã¬ãŒãããã³åæ/ãããã°ããŒã«ã§äœ¿çšããŸãã
ãã«ãã¡ãã£ã¢ FILTERS
以äžã¯ãçŸåšå©çšå¯èœãªãã«ãã¡ãã£ã¢ãã£ã«ã¿ãŒã®èª¬æã§ãã
äœçžèš
å ¥åãªãŒãã£ãªããããªåºåã«å€æãããªãŒãã£ãªãã§ãŒãºã衚瀺ããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
å²åã r
åºåãã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã©ã«ãå€ã¯25ã§ãã
ãµã€ãºã s
åºåã®ãããªãµã€ãºãèšå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãããª
ãµã€ãº" in ã ffmpeg-utils ããã¥ã¢ã«ã ããã©ã«ãå€ã¯ã800x400ãã§ãã
rc
gc
bc èµ€ãç·ãéã®ã³ã³ãã©ã¹ããæå®ããŸãã ããã©ã«ãå€ã¯2ã7ãããã³1ã§ãã蚱容ç¯å²
ã¯ã[0]ãã§ãã
MPC ã¡ãžã¢ã³ãã§ãŒãºã®æç»ã«äœ¿çšããè²ãèšå®ããŸãã è²ãããªããã®å Žåã
ããã©ã«ãã§ã¯ãäœçžã®äžå€®å€ã¯æç»ãããŸããã
ãã£ã«ã¿ã¯ãå¹³åãè¡šããã¬ãŒã ã¡ã¿ããŒã¿ãlavfi.aphasemeter.phaseãããšã¯ã¹ããŒãããŸã
çŸåšã®ãªãŒãã£ãªãã¬ãŒã ã®äœçžã å€ã®ç¯å²ã¯ã[-1ã1]ãã§ãã ã-1ãã¯å·Šå³ãæå³ããŸã
ãã£ãã«ã¯å®å šã«äœçžããããŠããã1ã¯ãã£ãã«ãäœçžãåã£ãŠããããšãæå³ããŸãã
ãã¯ãã«ã¹ã³ãŒã
å ¥åãªãŒãã£ãªãããªãŒãã£ãªãã¯ãã«ã¹ã³ãŒããè¡šããããªåºåã«å€æããŸãã
ãã®ãã£ã«ã¿ãŒã¯ãã¹ãã¬ãªãªãŒãã£ãªã¹ããªãŒã ã®ãã£ã³ãã«éã®å·®ã枬å®ããããã«äœ¿çšãããŸãã A
åäžã®å·Šå³ã®ä¿¡å·ã§æ§æãããã¢ãã©ã«ä¿¡å·ã¯ããŸã£ããã«ãªããŸã
åçŽç·ã ã¹ãã¬ãªã»ãã¬ãŒã·ã§ã³ã¯ããã®ç·ããã®éžè±ãšããŠè¡šç€ºããã
ãªãµãŒãžã¥å³åœ¢ã çŽç·ïŒãŸãã¯ããããã®éžè±ïŒã§ãããæ°Žå¹³ç·ã衚瀺ãããå Žåãã
å·Šå³ã®ãã£ãã«ã®äœçžããããŠããããšã瀺ããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã¢ãŒãã m
ãã¯ãã«ã¹ã³ãŒãã¢ãŒããèšå®ããŸãã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ãªãµãŒãžã¥
ãªãµãŒãžã¥ã¯45床å転ããŸããã
ãªãµãžã¥ãŒ_xy
äžèšãšåãã§ãããå転ããŸããã
極æ§ã®
åã®ååã«äŒŒã圢ã
ããã©ã«ãå€ã¯ ãªãµãŒãžã¥.
ãµã€ãºã s
åºåã®ãããªãµã€ãºãèšå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãããª
ãµã€ãº" in ã ffmpeg-utils ããã¥ã¢ã«ã ããã©ã«ãå€ã¯ã400x400ãã§ãã
å²åã r
åºåãã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã©ã«ãå€ã¯25ã§ãã
rc
gc
bc
ac èµ€ãç·ãéãã¢ã«ãã¡ã®ã³ã³ãã©ã¹ããæå®ããŸãã ããã©ã«ãå€ã¯40ã160ã80ããã³
255.èš±å¯ãããç¯å²ã¯ã[0]ãã§ãã
rf
gf
bf
af èµ€ãç·ãéãã¢ã«ãã¡ãã§ãŒããæå®ããŸãã ããã©ã«ãå€ã¯15ã10ã5ãããã³5ã§ãã
蚱容ç¯å²ã¯ã[0]ãã§ãã
ãºãŒã
ãºãŒã çãèšå®ããŸãã ããã©ã«ãå€ã¯1ã§ãã蚱容ç¯å²ã¯ã[1ã10]ãã§ãã
äŸ
ã»ã䜿çšããå®å šãªäŸ åçãã:
ffplay -f lavfi'amovie = input.mp3ãasplit [a] [out1];
[a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]'
é£çµ
ãªãŒãã£ãªã¹ããªãŒã ãšãããªã¹ããªãŒã ãé£çµãããããã次ã ã«çµåããŸãã
ãã£ã«ã¿ã¯ãåæããããããªããã³ãªãŒãã£ãªã¹ããªãŒã ã®ã»ã°ã¡ã³ãã§æ©èœããŸãã ãã¹ãŠã®ã»ã°ã¡ã³ãã¯
åã¿ã€ãã®ã¹ããªãŒã ã®æ°ã¯åãã§ãããããã¯ã¹ããªãŒã ã®æ°ã«ããªããŸã
åºåæã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
n ã»ã°ã¡ã³ãæ°ãèšå®ããŸãã ããã©ã«ãã¯2ã§ãã
v åºåãããªã¹ããªãŒã ã®æ°ãèšå®ããŸããããã¯ãã®ãããªã¹ããªãŒã ã®æ°ã§ããããŸãã
åã»ã°ã¡ã³ãã ããã©ã«ãã¯1ã§ãã
a åºåãªãŒãã£ãªã¹ããªãŒã ã®æ°ãèšå®ããŸããããã¯ãã®ãªãŒãã£ãªã¹ããªãŒã ã®æ°ã§ããããŸãã
åã»ã°ã¡ã³ãã ããã©ã«ãã¯0ã§ãã
å®å šã§ãªã
å®å šã§ãªãã¢ãŒããã¢ã¯ãã£ãã«ããŸããã»ã°ã¡ã³ãã®åœ¢åŒãç°ãªãå Žåã§ã倱æããªãã§ãã ããã
ãã£ã«ã¿ãŒã«ã¯ v+a åºåïŒæå v ãããªåºåã次㫠a ãªãŒãã£ãªåºåã
å š nx(v+aïŒå ¥åïŒæåã«ãæåã®ã»ã°ã¡ã³ãã®å ¥åãã
åºåã次ã«XNUMXçªç®ã®ã»ã°ã¡ã³ãã®å ¥åãªã©ã
ããŸããŸãªçç±ã«ãããé¢é£ããã¹ããªãŒã ã®ç¶ç¶æéã¯å¿ ãããåãã§ã¯ãããŸããã
ã³ãŒããã¯ã®ãã¬ãŒã ãµã€ãºãããããªãªãŒãµãªã³ã°ãå«ã¿ãŸãã ãã®ãããé¢é£ããåæ
ã¹ããªãŒã ïŒãããªãšãã®ãªãŒãã£ãªãã©ãã¯ãªã©ïŒã¯äžåºŠã«é£çµããå¿ èŠããããŸãã ã³ã³ãã£ãã
ãã£ã«ã¿ã¯ãåã»ã°ã¡ã³ãïŒæåŸã®ã»ã°ã¡ã³ããé€ãïŒã§æãé·ãã¹ããªãŒã ã®æéã䜿çšããŸãã
å¿ èŠã«å¿ããŠãçããªãŒãã£ãªã¹ããªãŒã ãç¡é³ã§åããŸãã
ãã®ãã£ã«ã¿ãŒãæ£ããæ©èœããã«ã¯ããã¹ãŠã®ã»ã°ã¡ã³ããã¿ã€ã ã¹ã¿ã³ã0ããéå§ããå¿ èŠããããŸãã
察å¿ãããã¹ãŠã®ã¹ããªãŒã ã¯ããã¹ãŠã®ã»ã°ã¡ã³ãã§åããã©ã¡ãŒã¿ãŒãæã£ãŠããå¿ èŠããããŸãã ãã£ã«ã¿ãªã³ã°
ã·ã¹ãã ã¯ããããªã¹ããªãŒã ã®äžè¬çãªãã¯ã»ã«åœ¢åŒãšäžè¬çãªãã¯ã»ã«åœ¢åŒãèªåçã«éžæããŸã
ãªãŒãã£ãªã¹ããªãŒã ã®ãµã³ãã«ãã©ãŒãããããµã³ãã«ã¬ãŒãããã£ã³ãã«ã¬ã€ã¢ãŠãããã®ä»ã®èšå®ãªã©
解決çãšããŠããŠãŒã¶ãŒãæ瀺çã«å€æããå¿ èŠããããŸãã
ããŸããŸãªãã¬ãŒã ã¬ãŒãã䜿çšã§ããŸãããåºåæã®ãã¬ãŒã ã¬ãŒãã¯å€åããŸãã ãªã
ãããåŠçããããã«åºåãã¡ã€ã«ãæ§æããŠãã ããã
äŸ
ã»ãªãŒããã³ã°ããšããœãŒãããšã³ãã£ã³ã°ããã¹ãŠãã€ãªã³ã¬ã«ããŒãžã§ã³ã§é£çµããŸãïŒãããª
ã¹ããªãŒã 0ãã¹ããªãŒã 1ããã³2ã®ãªãŒãã£ãªïŒïŒ
ffmpeg-iopening.mkv-iãšããœãŒã.mkv-iending.mkv-filter_complex \
'[0:0] [0:1] [0:2] [1:0] [1:1] [1:2] [2:0] [2:1] [2:2]
concat = n = 3ïŒv = 1ïŒa = 2 [v] [a1] [a2]'\
-map'[v]' -map'[a1]' -map'[a2]' output.mkv
ã»ïŒaïŒã ãŒããŒã䜿çšããŠããªãŒãã£ãªãšãããªãå¥ã ã«åŠçããXNUMXã€ã®éšåãé£çµããŸã
ãœãŒã¹ãããã³è§£å床ã®èª¿æŽïŒ
movie = part1.mp4ãscale = 512ïŒ288 [v1]; amovie = part1.mp4 [a1];
movie = part2.mp4ãscale = 512ïŒ288 [v2]; amovie = part2.mp4 [a2];
[v1] [v2] concat [outv]; [a1] [a2] concat = v = 0ïŒa = 1 [outa]
ãªãŒãã£ãªã¹ããªãŒã ãšãããªã¹ããªãŒã ãåæããªãå Žåãã¹ãããã§éåæãçºçããããšã«æ³šæããŠãã ãã
æåã®ãã¡ã€ã«ã®æéã¯ãŸã£ããåãã§ãã
ebur128
EBUR128ã¹ãã£ããŒãã£ã«ã¿ãŒã ãã®ãã£ã«ã¿ãŒã¯ããªãŒãã£ãªã¹ããªãŒã ãå ¥åãšããŠåãåãããããåºåããŸã
å€æŽãªãã ããã©ã«ãã§ã¯ãMomentaryã䜿çšããŠ10Hzã®åšæ³¢æ°ã§ã¡ãã»ãŒãžããã°ã«èšé²ããŸã
ã©ãŠããã¹ïŒãMãã§èå¥ïŒãçæã©ãŠããã¹ïŒãSãïŒãçµ±åã©ãŠããã¹ïŒãIãïŒãããã³
ã©ãŠããã¹ç¯å²ïŒãLRAãïŒã
ãã£ã«ã¿ã«ã¯ãããªåºåããããŸãïŒ ãã㪠ãªãã·ã§ã³ïŒãªã¢ã«ã¿ã€ã ã°ã©ãã䜿çšããŠ
ã©ãŠããã¹ã®é²åã芳å¯ããŸãã ã°ã©ãã£ãã¯ã«ã¯ãäžèšã®ãã°ã¡ãã»ãŒãžãå«ãŸããŠããŸãã
ãããã£ãŠããã®ãªãã·ã§ã³ãèšå®ãããŠããå Žåã詳现ãã°ãèšå®ãããŠããªãéããå°å·ãããªããªããŸãã
ã¡ã€ã³ã®ã°ã©ãé åã«ã¯ãçæéã®ã©ãŠããã¹ïŒ3ç§ã®åæïŒãšã
å³åŽã®ã²ãŒãžã¯ç¬éçãªã©ãŠããã¹ïŒ400ããªç§ïŒçšã§ãã
ã©ãŠããã¹æšå¥šEBUR128ã®è©³çŽ°ã«ã€ããŠã¯
<http://tech.ebu.ch/loudness>.
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãããª
ãããªåºåãã¢ã¯ãã£ãã«ããŸãã ãã®ãªãã·ã§ã³ãã§ãããã©ããã«ãããããããªãŒãã£ãªã¹ããªãŒã ã¯å€æŽãããã«æž¡ãããŸã
ã»ãããŸãã¯ãããã ãããªã¹ããªãŒã ã¯ãã¢ã¯ãã£ãåãããå Žåãæåã®åºåã¹ããªãŒã ã«ãªããŸãã ããã©ã«ãã¯
0.
ãµã€ãº
ãããªãµã€ãºãèšå®ããŸãã ãã®ãªãã·ã§ã³ã¯ãããªå°çšã§ãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã
ãã§ãã¯ãã "ãã㪠ãµã€ãº" in ã ffmpeg-utils ããã¥ã¢ã«ã ããã©ã«ãããã³æå°
解å床ã¯ã640x480ãã§ãã
ã¡ãŒã¿ãŒ
EBUã¹ã±ãŒã«ã¡ãŒã¿ãŒãèšå®ããŸãã ããã©ã«ãã¯9ã§ããäžè¬çãªå€ã¯ãããã9ãš18ã§ãã
EBUã¹ã±ãŒã«ã¡ãŒã¿ãŒ+9ããã³EBUã¹ã±ãŒã«ã¡ãŒã¿ãŒ+18ã ãã®ç¯å²å ã®ä»ã®æŽæ°å€
èš±å¯ãããŠããŸãã
ã¡ã¿ããŒã¿ã€ã³ãžã§ã¯ã·ã§ã³ãèšå®ããŸãã 1ã«èšå®ãããšããªãŒãã£ãªå ¥åã¯100ããªç§ã«ã»ã°ã¡ã³ãåãããŸã
åºåãã¬ãŒã ãåãã¬ãŒã ã«ã¯ãã¡ã¿ããŒã¿ã«ããŸããŸãªã©ãŠããã¹æ å ±ãå«ãŸããŠããŸãã å šãŠ
ã¡ã¿ããŒã¿ããŒã®ãã¬ãã£ãã¯ã¹ã¯ãlavfi.r128ãã§ãã
ããã©ã«ãã¯0ã§ãã
ãã¬ãŒã ãã°
ãã¬ãŒã ãã®ã³ã°ã¬ãã«ã匷å¶ããŸãã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
info
æ å ±ãã®ã³ã°ã¬ãã«
詳现
詳现ãªãã°ã¬ãã«
ããã©ã«ãã§ã¯ããã®ã³ã°ã¬ãã«ã¯ã«èšå®ãããŠããŸã infoã ãã ãã㪠ãŸã㯠ãªãã·ã§ã³ã¯
ã»ãããããã¯ã«åãæ¿ãããŸã 詳现.
ããŒã¯
ããŒã¯ã¢ãŒããèšå®ããŸãã
䜿çšå¯èœãªã¢ãŒãã¯çŽ¯ç©ã§ããŸãïŒãªãã·ã§ã³ã¯ããã©ã°ãã¿ã€ãã§ãïŒã å¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ãªã
ããŒã¯ã¢ãŒããç¡å¹ã«ããŸãïŒããã©ã«ãïŒã
ãµã³ãã«
ãµã³ãã«ããŒã¯ã¢ãŒããæå¹ã«ããŸãã
ããé«ããµã³ãã«å€ãæ¢ãåçŽãªããŒã¯ã¢ãŒãã 次ã®ã¡ãã»ãŒãžããã°ã«èšé²ããŸã
ãµã³ãã«ããŒã¯ïŒãSPKãã§èå¥ïŒã
true
ãã¥ã«ãŒããŒã¯ã¢ãŒããæå¹ã«ããŸãã
æå¹ã«ãããšãããŒã¯ã«ãã¯ã¢ããã¯å ¥åã¹ããªãŒã ã®ãªãŒããŒãµã³ããªã³ã°ããŒãžã§ã³ã§å®è¡ãããŸã
ããŒã¯ç²ŸåºŠãåäžãããŸãã çã®ããŒã¯ã®ã¡ãã»ãŒãžããã°ã«èšé²ããŸãã ïŒãTPKãã§èå¥ïŒ
ãã¬ãŒã ããšã®çã®ããŒã¯ïŒãFTPKãã§èå¥ïŒã ãã®ã¢ãŒãã§ã¯ã
ãlibswresampleãã
äŸ
ã»ã䜿çšãããªã¢ã«ã¿ã€ã ã°ã©ã åçãããEBUã¹ã±ãŒã«ã¡ãŒã¿ãŒä»ã+18ïŒ
ffplay -f lavfi -i "amovie = input.mp3ãebur128 = video = 1ïŒmeter = 18 [out0] [out1]"
ã»ã§åæãå®è¡ããŸã ffmpeg:
ffmpeg -nostats -i input.mp3 -filter_complex ebur128 -f null-
éã空ããã ã€ã³ã¿ãŒãªãŒã
è€æ°ã®å ¥åããã®ãã¬ãŒã ãäžæçã«ã€ã³ã¿ãŒãªãŒãããŸãã
ãã€ã³ã¿ãŒãªãŒããã¯ãããªå ¥åã§æ©èœãããã€ã³ã¿ãŒãªãŒããã¯ãªãŒãã£ãªã§æ©èœããŸãã
ãããã®ãã£ã«ã¿ãŒã¯ãè€æ°ã®å ¥åãããã¬ãŒã ãèªã¿åãããã¥ãŒã«å ¥ããããæãå€ããã¬ãŒã ã
åºåã
å ¥åã¹ããªãŒã ã«ã¯ãæ確ã«å®çŸ©ããããå調ã«å¢å ãããã¬ãŒã ã¿ã€ã ã¹ã¿ã³ãå€ãå¿ èŠã§ãã
XNUMXã€ã®ãã¬ãŒã ãåºåã«éä¿¡ããã«ã¯ããããã®ãã£ã«ã¿ãŒã¯å°ãªããšãXNUMXã€ã®ãã¬ãŒã ããšã³ãã¥ãŒããå¿ èŠããããŸã
å ¥åããšã«ãXNUMXã€ã®å ¥åããŸã çµäºããŠããªãå Žåã¯æ©èœããã
çä¿¡ãã¬ãŒã ãåä¿¡ããŸãã
ããšãã°ãXNUMXã€ã®å ¥åãåžžã«å ¥åããããããããéžæããã£ã«ã¿ãŒã§ããå ŽåãèããŠã¿ãŸãã
ãã¬ãŒã ã ãã€ã³ã¿ãŒãªãŒãããã£ã«ã¿ãŒã¯ãã®å ¥åããã®èªã¿åããç¶ç¶ããŸããã
å ¥åãã¹ããªãŒã çµäºä¿¡å·ãéä¿¡ãããŸã§ãåºåã«æ°ãããã¬ãŒã ãéä¿¡ã§ããŸãã
ãŸããå ¥åã®åæã«å¿ããŠãXNUMXã€ã®å ¥åã®å Žåã«ãã£ã«ã¿ãŒã¯ãã¬ãŒã ãããããããŸã
ä»ã®ãã¬ãŒã ãããå€ãã®ãã¬ãŒã ãåä¿¡ãããã¥ãŒã¯ãã§ã«ãã£ã±ãã«ãªã£ãŠããŸãã
ãããã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
nb_inputsã n
ç°ãªãå ¥åã®æ°ãèšå®ããŸããããã©ã«ãã§ã¯2ã§ãã
äŸ
ã»ã䜿çšããŠç°ãªãã¹ããªãŒã ã«å±ãããã¬ãŒã ãã€ã³ã¿ãŒãªãŒãããŸã ffmpeg:
ffmpeg -i bambi.avi -i pr0n.mkv -filter_complex "[0ïŒv] [1ïŒv] interleave" out.avi
ã»ã¡ãã€ããã©ãŒå¹æãè¿œå ããŸãã
select ='ifïŒgtïŒã©ã³ãã ïŒ0ïŒã0.2ïŒã1ã2ïŒ'ïŒn = 2 [tmp]ãboxblur = 2ïŒ2ã[tmp]ã€ã³ã¿ãŒãªãŒã
ããŒãã ããŒã
åºåãã¬ãŒã ã®èªã¿åã/æžã蟌ã¿æš©éãèšå®ããŸãã
ãããã®ãã£ã«ã¿ãŒã¯ãäž»ã«éçºè ã次ã®ãã£ã«ã¿ãŒã§ãã€ã¬ã¯ããã¹ããã¹ãããããšãç®çãšããŠããŸãã
ãã£ã«ã¿ã°ã©ãã§ã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã¢ãŒã
æš©éã¢ãŒããéžæããŸãã
次ã®å€ãåãå ¥ããŸãã
ãªã
äœãããªãã ãããããã©ã«ãã§ãã
ro ãã¹ãŠã®åºåãã¬ãŒã ãèªã¿åãå°çšã«èšå®ããŸãã
rw ãã¹ãŠã®åºåãã¬ãŒã ãçŽæ¥æžã蟌ã¿å¯èœã«èšå®ããŸãã
ãã°ã«
ãã¬ãŒã ãæžã蟌ã¿å¯èœã®å Žåã¯èªã¿åãå°çšã«ããèªã¿åãå°çšã®å Žåã¯æžã蟌ã¿å¯èœã«ããŸãã
ã©ã³ãã
ååºåãã¬ãŒã ãèªã¿åãå°çšãŸãã¯æžã蟌ã¿å¯èœã«ã©ã³ãã ã«èšå®ããŸãã
ã·ãŒã
ã®ã·ãŒããèšå®ããŸã ã©ã³ãã ã¢ãŒãã0ãšXNUMXã®éã«å«ãŸããæŽæ°ã§ãªããã°ãªããŸãã
ãUINT32_MAXãã æå®ãããŠããªãå ŽåããŸãã¯æ瀺çã«ã-1ãã«èšå®ãããŠããå Žåããã£ã«ã¿ãŒã¯æ¬¡ã®ããšãè©Šã¿ãŸãã
ãã¹ããšãã©ãŒãããŒã¹ã§é©åãªã©ã³ãã ã·ãŒãã䜿çšããŸãã
泚ïŒèš±å¯ãã£ã«ã¿ãŒãšæ¬¡ã®ãã£ã«ã¿ãŒã®éã«èªåæ¿å ¥ãã£ã«ã¿ãŒã®å Žåã
次ã®ãã£ã«ã¿ãŒã§ã¯ãèš±å¯ãæåŸ ã©ããã«åä¿¡ãããªãå¯èœæ§ããããŸãã ãæ¿å ¥ãã
圢åŒã§ã¢ãŒã«ã€ããããããžã§ã¯ããä¿åããŸãïŒ or ãã©ãŒããããã perms/apermsãã£ã«ã¿ãŒã®åã«ãã£ã«ã¿ãŒãããããšãã®åé¡ãåé¿ã§ããŸãã
éžæããã éžæ
åºåã«æž¡ããã¬ãŒã ãéžæããŸãã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
exprã e
å ¥åãã¬ãŒã ããšã«è©äŸ¡ãããåŒãèšå®ããŸãã
åŒããŒããšè©äŸ¡ãããå Žåããã¬ãŒã ã¯ç Žæ£ãããŸãã
è©äŸ¡çµæãè² ãŸãã¯NaNã®å Žåããã¬ãŒã ã¯æåã®åºåã«éä¿¡ãããŸãã
ãã以å€ã®å Žåã¯ãå ¥åãæ³å®ããŠãã€ã³ããã¯ã¹ãceilïŒvalïŒ-1ãã§åºåã«éä¿¡ãããŸãã
ã€ã³ããã¯ã¹ã¯0ããå§ãŸããŸãã
ããšãã°ãå€1.2ã¯ãã€ã³ããã¯ã¹ "ceilïŒ1.2ïŒ-1 =2-1=ã®åºåã«å¯Ÿå¿ããŸãã
1 "ãããã¯XNUMXçªç®ã®åºåã§ãã
åºåã n
åºåæ°ãèšå®ããŸãã éžæãããã¬ãŒã ã®éä¿¡å ã®åºåã¯ã
è©äŸ¡ã®çµæã ããã©ã«ãå€ã¯1ã§ãã
åŒã«ã¯ã次ã®å®æ°ãå«ããããšãã§ããŸãã
n 0ããå§ãŸãããã£ã«ã¿ãªã³ã°ããããã¬ãŒã ã®ïŒã·ãŒã±ã³ã·ã£ã«ïŒçªå·ã
éžæããã_n
éžæãããã¬ãŒã ã®ïŒé 次ïŒçªå·ã0ããå§ãŸããŸãã
prev_selected_n
æåŸã«éžæããããã¬ãŒã ã®é£çªã æªå®çŸ©ã®å Žåã¯NANã§ãã
TB å ¥åã¿ã€ã ã¹ã¿ã³ãã®ã¿ã€ã ããŒã¹ã
PTS ãã£ã«ã¿ãªã³ã°ããããããªãã¬ãŒã ã®PTSïŒPresentation TimeStampïŒã¯ã次ã®ããã«è¡šãããŸãã TB åäœ
æªå®çŸ©ã®å Žåã¯NANã§ãã
t ãã£ã«ã¿ãªã³ã°ããããããªãã¬ãŒã ã®PTSãç§åäœã§è¡šãããŸãã æªå®çŸ©ã®å Žåã¯NANã§ãã
prev_pts
以åã«ãã£ã«ã¿ãªã³ã°ããããããªãã¬ãŒã ã®PTSã æªå®çŸ©ã®å Žåã¯NANã§ãã
prev_selected_pts
以åã«ãã£ã«ã¿ãªã³ã°ãããæåŸã®ãããªãã¬ãŒã ã®PTSã æªå®çŸ©ã®å Žåã¯NANã§ãã
prev_selected_t
æåŸã«éžæããããããªãã¬ãŒã ã®PTSã æªå®çŸ©ã®å Žåã¯NANã§ãã
start_pts
ãããªã®æåã®ãããªãã¬ãŒã ã®PTSã æªå®çŸ©ã®å Žåã¯NANã§ãã
ã¹ã¿ãŒã_t
ãããªã®æåã®ãããªãã¬ãŒã ã®æéã æªå®çŸ©ã®å Žåã¯NANã§ãã
ãã¯ãã¿ã€ã ïŒãã㪠ã®ã¿ïŒ
ãã£ã«ã¿ãªã³ã°ããããã¬ãŒã ã®ã¿ã€ãã 次ã®ããããã®å€ãæ³å®ã§ããŸãã
I
P
B
S
SI
SP
BI
ã€ã³ã¿ãŒã¬ãŒã¹ã¿ã€ã ïŒãã㪠ã®ã¿ïŒ
ãã¬ãŒã ã€ã³ã¿ãŒã¬ãŒã¹ã¿ã€ãã 次ã®ããããã®å€ãæ³å®ã§ããŸãã
ããã°ã¬ãã·ã
ãã¬ãŒã ã¯ããã°ã¬ãã·ãã§ãïŒã€ã³ã¿ãŒã¬ãŒã¹ã§ã¯ãããŸããïŒã
ããããã¡ãŒã¹ã
ãã¬ãŒã ã¯ããããã£ãŒã«ããã¡ãŒã¹ãã§ãã
ããã ãã¡ãŒã¹ã
ãã¬ãŒã ã¯ããã ãã£ãŒã«ããã¡ãŒã¹ãã§ãã
æ¶è²»ããããµã³ãã«_n ïŒãªãŒãã£ãª ã®ã¿ïŒ
çŸåšã®ãã¬ãŒã ã®åã«éžæããããµã³ãã«ã®æ°
ãµã³ãã«_n ïŒãªãŒãã£ãª ã®ã¿ïŒ
çŸåšã®ãã¬ãŒã ã®ãµã³ãã«æ°
ãµã³ãã«ã¬ãŒã ïŒãªãŒãã£ãª ã®ã¿ïŒ
å ¥åãµã³ãã«ã¬ãŒã
ã㌠ãã£ã«ã¿ãªã³ã°ããããã¬ãŒã ãããŒãã¬ãŒã ã®å Žåã¯1ããã以å€ã®å Žåã¯0ã§ãã
æçš¿ãã ãã£ã«ã¿ãªã³ã°ããããã¬ãŒã ã®ãã¡ã€ã«å ã®äœçœ®ãæ å ±ãå©çšã§ããªãå Žåã¯-1
ïŒäŸïŒåæãããªã®å ŽåïŒ
ã·ãŒã³ ïŒãã㪠ã®ã¿ïŒ
æ°ããã·ãŒã³ã瀺ã0ãã1ãŸã§ã®å€ã äœãå€ã¯äœã確çãåæ ããŸã
çŸåšã®ãã¬ãŒã ãæ°ããã·ãŒã³ãå°å ¥ããå Žåãå€ãé«ãã»ã©çŸåšã®ã·ãŒã³ãæå³ããŸã
ãã¬ãŒã ã¯XNUMXã€ã§ããå¯èœæ§ãé«ããªããŸãïŒä»¥äžã®äŸãåç §ïŒ
éžæåŒã®ããã©ã«ãå€ã¯ã1ãã§ãã
äŸ
ã»å ¥åã®ãã¹ãŠã®ãã¬ãŒã ãéžæããŸãã
select
äžèšã®äŸã¯æ¬¡ãšåãã§ãã
select = 1
ã»ãã¹ãŠã®ãã¬ãŒã ãã¹ãããããŸãã
select = 0
ã»Iãã¬ãŒã ã®ã¿ãéžæããŸãã
select ='eqïŒpict_type \ãIïŒ'
ã»100ããšã«XNUMXã€ã®ãã¬ãŒã ãéžæããŸãã
select ='notïŒmodïŒn \ã100ïŒïŒ'
ã»10ã20ã®æéééã«å«ãŸãããã¬ãŒã ã®ã¿ãéžæããŸãã
select = betweenïŒt \ã10 \ã20ïŒ
ã»10ã20ã®æéééã«å«ãŸããIãã¬ãŒã ã®ã¿ãéžæããŸãã
select = betweenïŒt \ã10 \ã20ïŒ* eqïŒpict_type \ãIïŒ
ã»æå°è·é¢ã10ç§ã®ãã¬ãŒã ãéžæããŸãã
select ='isnanïŒprev_selected_tïŒ+ gteïŒt-prev_selected_t \ã10ïŒ'
ã»aselectã䜿çšããŠããµã³ãã«æ°ã100ãè¶ ãããªãŒãã£ãªãã¬ãŒã ã®ã¿ãéžæããŸãã
aselect ='gtïŒsamples_n \ã100ïŒ'
ã»æåã®ã·ãŒã³ã®ã¢ã¶ã€ã¯ãäœæããŸãã
ffmpeg -i video.avi -vf select ='gtïŒscene \ã0.4ïŒ'ãscale = 160ïŒ120ãtile -framesïŒv 1 Preview.png
æ¯èŒ ã·ãŒã³ 0.3ãã0.5ã®éã®å€ã«å¯ŸããŠã¯ãäžè¬çã«æ£ããéžæã§ãã
ã»å¶æ°ãã¬ãŒã ãšå¥æ°ãã¬ãŒã ãå¥ã ã®åºåã«éä¿¡ããããããæ§æããŸãã
select = n = 2ïŒe ='modïŒnã2ïŒ+1'[å¥æ°][å¶æ°]; [å¥æ°]pad= h = 2 * ih [tmp]; [tmp][å¶æ°]overlay= y = h
sendcmdã asendcmd
ãã£ã«ã¿ã°ã©ãã®ãã£ã«ã¿ã«ã³ãã³ããéä¿¡ããŸãã
ãããã®ãã£ã«ã¿ãŒã¯ããã£ã«ã¿ãŒã°ã©ãå ã®ä»ã®ãã£ã«ã¿ãŒã«éä¿¡ãããã³ãã³ããèªã¿åããŸãã
ãsendcmdãã¯XNUMXã€ã®ãããªãã£ã«ã¿ãŒã®éã«æ¿å ¥ããå¿ èŠãããããasendcmdãã¯XNUMXã€ã®ãããªãã£ã«ã¿ãŒã®éã«æ¿å ¥ããå¿ èŠããããŸã
XNUMXã€ã®ãªãŒãã£ãªãã£ã«ã¿ãŒã§ããããã以å€ã¯åãããã«æ©èœããŸãã
ã³ãã³ãã®æå®ã¯ããã£ã«ã¿ãŒåŒæ°ã§æå®ã§ããŸãã ã³ãã³ã
ãªãã·ã§ã³ããŸãã¯ã«ãã£ãŠæå®ããããã¡ã€ã«å ãã¡ã€ã«å ãªãã·ã§ã³ãéžæããŸãã
ãããã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã³ãã³ãã c
èªã¿åã£ãŠä»ã®ãã£ã«ã¿ãŒã«éä¿¡ããã³ãã³ããèšå®ããŸãã
ãã¡ã€ã«åã f
èªã¿åã£ãŠä»ã®ãã£ã«ã¿ãŒã«éä¿¡ããã³ãã³ãã®ãã¡ã€ã«åãèšå®ããŸãã
ã³ãã³ã æ§æ
ã³ãã³ãã®èª¬æã¯ãäžé£ã®ééæå®ã§æ§æããã
ãã®ééã«é¢é£ããç¹å®ã®ã€ãã³ããçºçãããšãã«å®è¡ãããã³ãã³ãã®ãªã¹ãã
çºçããã€ãã³ãã¯éåžžãç¹å®ã®æéã«åºå ¥ãããçŸåšã®ãã¬ãŒã æéã§ãã
ééã
ééã¯ã次ã®æ§æã§æå®ãããŸãã
[- ] ;
æéééã¯ã éå§ ãš çµãã åã çµãã ãªãã·ã§ã³ã§ããã©ã«ã
æ倧æéãŸã§ã
çŸåšã®ãã¬ãŒã æéã¯ãã«å«ãŸããŠããå Žåãæå®ãããééå ã§ãããšèŠãªãããŸã
éé[éå§, çµããïŒãã€ãŸããæéã次ã®æé以äžã«ãªãå Žå éå§ ãšã§ãã
æªæº çµãã.
ã³ãã³ã ãããã§åºåãããXNUMXã€ä»¥äžã®ã³ãã³ãä»æ§ã®ã·ãŒã±ã³ã¹ã§æ§æãããŸãã
ãã®ééã«é¢é£ããŠããŸãã ã³ãã³ãä»æ§ã®æ§æã¯æ¬¡ã®ããã«äžããããŸãã
[ ]
FLAGS ãªãã·ã§ã³ã§ãããæéééã«é¢é£ããã€ãã³ãã®ã¿ã€ããæå®ããŸãã
æå®ãããã³ãã³ãã®éä¿¡ãæå¹ã«ããŸããããã¯ãnull以å€ã®èå¥åãã©ã°ã®ã·ãŒã±ã³ã¹ã§ããå¿ èŠããããŸãã
ã+ããŸãã¯ã|ãã§åºåãã[ããšã]ãã§å²ãŸããŠããŸãã
次ã®ãã©ã°ãèªèãããŸãã
å ¥åããŸã
ãã®ã³ãã³ãã¯ãçŸåšã®ãã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ããæå®ãããééã«å ¥ããšéä¿¡ãããŸãã ã®
ã€ãŸããã³ãã³ãã¯ãåã®ãã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ãã
äžããããééããããŠçŸåšã¯ã§ãã
æ®ã
ãã®ã³ãã³ãã¯ãçŸåšã®ãã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ããæå®ãããééãé¢ãããšãã«éä¿¡ãããŸãã ã®
ã€ãŸããã³ãã³ãã¯åã®ãã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ããæå®ããããšãã«éä¿¡ãããŸã
ééãããã³çŸåšã¯ãããŸããã
If FLAGS ãæå®ãããŠããªãå Žåãããã©ã«ãå€ã®ã[enter]ããæ³å®ãããŸãã
TARGET ã³ãã³ãã®ã¿ãŒã²ãããæå®ããŸããéåžžã¯ããã£ã«ã¿ãŒã¯ã©ã¹ã®ååãŸãã¯
ç¹å®ã®ãã£ã«ã¿ãŒã€ã³ã¹ã¿ã³ã¹åã
COMMAND ã¿ãŒã²ãããã£ã«ã¿ãŒã®ã³ãã³ãã®ååãæå®ããŸãã
ARG ãªãã·ã§ã³ã§ãããæå®ãããåŒæ°ã®ãªãã·ã§ã³ã®ãªã¹ããæå®ããŸã COMMAND.
ããééæå®ãšå¥ã®ééæå®ã®éã空çœããŸãã¯æåã®ã·ãŒã±ã³ã¹
ãïŒãã§å§ãŸããè¡æ«ãŸã§ã¯ç¡èŠãããã³ã¡ã³ãã«æ³šéãä»ããããã«äœ¿çšã§ããŸãã
ã³ãã³ãä»æ§æ§æã®ç°¡ç¥åãããBNFã®èª¬æã¯æ¬¡ã®ãšããã§ãã
::="å ¥å"| "é¢ãã"
:: = [ïŒ+ | "|"ïŒ ]
:: = ["[" "]"] [ ]
:: = [ã ]
:: = [- ]
:: = [; ]
äŸ
ã»4çªç®ã®XNUMXã§ãªãŒãã£ãªãã³ãã®å€æŽãæå®ããŸãã
asendcmd = c = '4.0 atempo tempo 1.5'ãatempo
ã»ãã¡ã€ã«å ã®drawtextããã³hueã³ãã³ãã®ãªã¹ããæå®ããŸãã
ïŒ5ã10ã®ééã§ããã¹ãã衚瀺
5.0-10.0 [enter] drawtext reinit'fontfile = FreeSerif.ttfïŒtext = hello world'ã
[æ®ã]drawtextreinit'fontfile = FreeSerif.ttfïŒtext =';
ïŒ15ã20ã®ééã§ç»åã®åœ©åºŠãäžãã
15.0-20.0[å ¥å]è²çž0ã
[å ¥å]drawtextreinit'fontfile = FreeSerif.ttfïŒtext = nocolor'ã
[æ®ã]è²çž1
[æ®ã]drawtextreinit'fontfile = FreeSerif.ttfïŒtext = color';
ïŒæé25ããéå§ããŠãææ°é¢æ°çãªé£œåãã§ãŒãã¢ãŠãå¹æãé©çšããŸã
25[å ¥å]huesexpïŒ25-tïŒ
ãã¡ã€ã«ã«ä¿åãããŠããäžèšã®ã³ãã³ããªã¹ããèªã¿åã£ãŠåŠçã§ããããã«ãããã£ã«ã¿ãŒã°ã©ã
ãã¹ã.cmdãã§æå®ã§ããŸãïŒ
sendcmd = f = test.cmdãdrawtext = fontfile = FreeSerif.ttfïŒtext =''ãhue
setptsã ã»ãããã€ã³ã
å ¥åãã¬ãŒã ã®PTSïŒãã¬ãŒã³ããŒã·ã§ã³ã¿ã€ã ã¹ã¿ã³ãïŒãå€æŽããŸãã
ãsetptsãã¯ãããªãã¬ãŒã ã§æ©èœãããasetptsãã¯ãªãŒãã£ãªãã¬ãŒã ã§æ©èœããŸãã
ãã®ãã£ã«ã¿ãŒã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
åŒ
ã¿ã€ã ã¹ã¿ã³ããäœæããããã«ãã¬ãŒã ããšã«è©äŸ¡ãããåŒã
åŒã¯evalAPIãä»ããŠè©äŸ¡ããã次ã®å®æ°ãå«ããããšãã§ããŸãã
ãã¬ãŒã ã¬ãŒã
ãã¬ãŒã ã¬ãŒããäžå®ã®ãã¬ãŒã ã¬ãŒãã®ãããªã«å¯ŸããŠã®ã¿å®çŸ©
PTS å ¥åã®ãã¬ãŒã³ããŒã·ã§ã³ã¿ã€ã ã¹ã¿ã³ã
N ãããªã®å ¥åãã¬ãŒã ã®æ°ãŸãã¯æ¶è²»ããããµã³ãã«ã®æ°ã§ã¯ãªãã
0ããå§ãŸããªãŒãã£ãªã®çŸåšã®ãã¬ãŒã ãå«ã¿ãŸãã
NB_CONSUMED_SAMPLES
çŸåšã®ãã¬ãŒã ãå«ãŸãªããæ¶è²»ããããµã³ãã«ã®æ°ïŒãªãŒãã£ãªã®ã¿ïŒ
NB_SAMPLESã S
çŸåšã®ãã¬ãŒã ã®ãµã³ãã«æ°ïŒãªãŒãã£ãªã®ã¿ïŒ
ãµã³ãã«ã¬ãŒãã SR
ãªãŒãã£ãªãµã³ãã«ã¬ãŒãã
ã¹ã¿ãŒããã€ã³ã
æåã®ãã¬ãŒã ã®PTSã
éå§
æåã®ãã¬ãŒã ã®ç§åäœã®æé
ã€ã³ã¿ãŒã¬ãŒã¹
çŸåšã®ãã¬ãŒã ãã€ã³ã¿ãŒã¬ãŒã¹ãããŠãããã©ããã瀺ããŸãã
T çŸåšã®ãã¬ãŒã ã®ç§åäœã®æé
POS ãã¬ãŒã ã®ãã¡ã€ã«å ã®å ã®äœçœ®ããŸãã¯çŸåšã®äœçœ®ãæªå®çŸ©ã®å Žåã¯æªå®çŸ©
ãã¬ãŒã
PREV_INPTS
åã®å ¥åPTSã
PREV_INT
ç§åäœã®åã®å ¥åæé
PREV_OUTPTS
åã®åºåPTSã
PREV_OUTT
以åã®åºåæéïŒç§åäœïŒ
RTCTIME
ãã€ã¯ãç§åäœã®ãŠã©ãŒã«ã¯ããã¯ïŒRTCïŒæéã ããã¯éæšå¥šã§ãã䜿çšããŠãã ãã æéïŒ0ïŒä»£ããã«ã
RTCã¹ã¿ãŒã
æ ç»ã®éå§æã®ãŠã©ãŒã«ã¯ããã¯ïŒRTCïŒæéïŒãã€ã¯ãç§åäœïŒã
TB å ¥åã¿ã€ã ã¹ã¿ã³ãã®ã¿ã€ã ããŒã¹ã
äŸ
ã»ãŒãããPTSã®ã«ãŠã³ããéå§ããŸã
setpts = PTS-STARTPTS
ã»é«éã¢ãŒã·ã§ã³å¹æãé©çšããŸãã
setpts = 0.5 * PTS
ã»ã¹ããŒã¢ãŒã·ã§ã³å¹æãé©çšããŸãã
setpts = 2.0 * PTS
ã»æ¯ç§25ãã¬ãŒã ã®åºå®ã¬ãŒããèšå®ããŸãã
setpts = N /ïŒ25 * TBïŒ
ã»ãžãã¿ãŒã䜿çšããŠåºå®ã¬ãŒãã25fpsã«èšå®ããŸãã
setpts = '1 /ïŒ25 * TBïŒ*ïŒN + 0.05 * sinïŒN * 2 * PI / 25ïŒïŒ'
ã»å ¥åPTSã«10ç§ã®ãªãã»ãããé©çšããŸãã
setpts = PTS + 10 / TB
ã»ãã©ã€ããœãŒã¹ãããã¿ã€ã ã¹ã¿ã³ããçæããçŸåšã®ã¿ã€ã ããŒã¹ã«ãªããŒã¹ããŸãã
setpts ='ïŒRTCTIME-RTCSTARTïŒ/ïŒTB * 1000000ïŒ'
ã»ãµã³ãã«ãã«ãŠã³ãããŠã¿ã€ã ã¹ã¿ã³ããçæããŸãã
asetpts = N / SR / TB
settbã èšå®
åºåãã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ãã«äœ¿çšããã¿ã€ã ããŒã¹ãèšå®ããŸãã äž»ã«ãã¹ãã«åœ¹ç«ã¡ãŸã
ã¿ã€ã ããŒã¹æ§æã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
exprã tb
åºåã¿ã€ã ããŒã¹ã«è©äŸ¡ãããåŒã
ã®å€ tb æçæ°ãè¡šãç®è¡åŒã§ãã åŒã¯ã§ããŸã
å®æ°ãAVTBãïŒããã©ã«ãã®ã¿ã€ã ããŒã¹ïŒããintbãïŒå ¥åã¿ã€ã ããŒã¹ïŒãããã³ãsrããå«ãŸããŸã
ïŒãµã³ãã«ã¬ãŒãããªãŒãã£ãªã®ã¿ïŒã ããã©ã«ãå€ã¯ãintbãã§ãã
äŸ
ã»ã¿ã€ã ããŒã¹ã1/25ã«èšå®ããŸãã
settb = expr = 1/25
ã»ã¿ã€ã ããŒã¹ã1/10ã«èšå®ããŸãã
settb = expr = 0.1
ã»ã¿ã€ã ããŒã¹ã1001/1000ã«èšå®ããŸãã
settb = 1 + 0.001
ã»ã¿ã€ã ããŒã¹ã2*intbã«èšå®ããŸãã
settb = 2 * intb
ã»ããã©ã«ãã®ã¿ã€ã ããŒã¹å€ãèšå®ããŸãã
settb = AVTB
ã·ã§ãŒcqt
å ¥åãªãŒãã£ãªãåšæ³¢æ°ã¹ãã¯ãã«ã察æ°ã§è¡šããããªåºåã«å€æããŸã
ïŒBrown-Pucketteã¢ã«ãŽãªãºã ã§å®æ°Qå€æã䜿çšïŒã楜é³éã§ã
E0ããDïŒ10ïŒ10ãªã¯ã¿ãŒãïŒã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ããªã¥ãŒã
å€æããªã¥ãŒã ïŒä¹æ°ïŒåŒãæå®ããŸãã åŒã«ã¯æ¬¡ã®ãã®ãå«ããããšãã§ããŸã
å€æ°ïŒ
åšæ³¢æ°ã åšæ³¢æ°ã f
å€æãè©äŸ¡ãããé »åºŠ
ã¿ã€ã ã¯ã©ã³ãã tc
ã¿ã€ã ã¯ã©ã³ããªãã·ã§ã³ã®å€
ããã³æ©èœïŒ
a_weightingïŒfïŒ
çã©ãŠããã¹ã®å é
b_weightingïŒfïŒ
çã©ãŠããã¹ã®Béã¿ä»ã
c_weightingïŒfïŒ
çã©ãŠããã¹ã®Céã¿ä»ã
ããã©ã«ãå€ã¯16ã§ãã
é·ã
å€æé·ã®åŒãæå®ããŸãã åŒã«ã¯å€æ°ãå«ããããšãã§ããŸãã
åšæ³¢æ°ã åšæ³¢æ°ã f
å€æãè©äŸ¡ãããé »åºŠ
ã¿ã€ã ã¯ã©ã³ãã tc
ã¿ã€ã ã¯ã©ã³ããªãã·ã§ã³ã®å€
ããã©ã«ãå€ã¯ã384/f * tc /ïŒ384 / f + tcïŒãã§ãã
ã¿ã€ã ã¯ã©ã³ã
å€æã¿ã€ã ã¯ã©ã³ããæå®ããŸãã äœåšæ³¢æ°ã§ã¯ã粟床ã®éã«ãã¬ãŒããªãããããŸã
æéé åãšåšæ³¢æ°é åã§ã ã¿ã€ã ã¯ã©ã³ããäœãå Žåãæéé åã®ã€ãã³ãã¯
ããæ£ç¢ºã«è¡šçŸãããŸãïŒé«éãã¹ãã©ã ãªã©ïŒããã以å€ã®å Žåã¯ãåšæ³¢æ°ã®ã€ãã³ã
ãã¡ã€ã³ã¯ããæ£ç¢ºã«è¡šçŸãããŸãïŒããŒã¹ã®ã¿ãŒãªã©ïŒã 蚱容å€ã¯[0.1ã
1.0]ã ããã©ã«ãå€ã¯0.17ã§ãã
ä¿æ°ã¯ã©ã³ã
å€æä¿æ°ãæå®ããŸãã coeffclampãäœãå Žåãå€æã¯ããæ£ç¢ºã«ãªããŸãã
ãã以å€ã®å Žåãå€æã¯é«éã§ãã 蚱容å€ã¯[0.1ã10.0]ã§ãã ããã©ã«ãå€ã¯1.0ã§ãã
ã¬ã³ã
ã¬ã³ããæå®ããŸãã ã¬ã³ããäœããšã¹ãã¯ãã«ã®ã³ã³ãã©ã¹ããé«ããªããã¬ã³ããé«ããš
ããåºãç¯å²ãæã€ã¹ãã¯ãã«ã 蚱容å€ã¯[1.0ã7.0]ã§ãã ããã©ã«ãå€ã¯3.0ã§ãã
gamma2
æ£ã°ã©ãã®ã¬ã³ããæå®ããŸãã 蚱容å€ã¯[1.0ã7.0]ã§ãã ããã©ã«ãå€ã¯1.0ã§ãã
ãã©ã³ããã¡ã€ã«
freetypeã§äœ¿çšãããã©ã³ããã¡ã€ã«ãæå®ããŸãã æå®ããªãå Žåã¯ãåã蟌ã¿ãã©ã³ãã䜿çšããŠãã ããã
ãã©ã³ãã®è²
ãã©ã³ãã®è²è¡šçŸãæå®ããŸãã ããã¯è¿ãããã¯ãã®ç®è¡åŒã§ã
æŽæ°å€0xRRGGBBã åŒã«ã¯å€æ°ãå«ããããšãã§ããŸãã
åšæ³¢æ°ã åšæ³¢æ°ã f
å€æãè©äŸ¡ãããé »åºŠ
ã¿ã€ã ã¯ã©ã³ãã tc
ã¿ã€ã ã¯ã©ã³ããªãã·ã§ã³ã®å€
ããã³æ©èœïŒ
midiïŒfïŒ
åšæ³¢æ°fã®MIDIçªå·ãããã€ãã®MIDIçªå·ïŒ E0ïŒ16ïŒ C1ïŒ24ïŒ C2ïŒ36ïŒ A4(69)
åŠæ¹ç®ïŒã gïŒxïŒã bïŒxïŒ
匷床xã®èµ€ãç·ãéã®å€
ããã©ã«ãå€ã¯"stïŒ0ãïŒmidiïŒfïŒ-59.5ïŒ/ 12ïŒ; stïŒ1ãifïŒbetweenïŒldïŒ0ïŒã0,1ïŒã
0.5-0.5 * cosïŒ2 * PI *ldïŒ0ïŒïŒã0ïŒïŒ; rïŒ1ldïŒ1ïŒïŒ+ bïŒldïŒ1ïŒïŒã
fullhd
1ïŒããã©ã«ãïŒã«èšå®ãããŠããå Žåããããªãµã€ãºã¯1920x1080ïŒãã«HDïŒã§ããã0ã«èšå®ãããŠããå Žåã
ãããªãµã€ãºã¯960x540ã§ãã ãã®ãªãã·ã§ã³ã䜿çšããŠãCPU䜿çšçãäœãããŸãã
FPS ãããªfpsãæå®ããŸãã ããã©ã«ãå€ã¯25ã§ãã
ã«ãŠã³ã
ãã¬ãŒã ãããã®å€ææ°ãæå®ããŠãXNUMXç§ãããã®fps*countå€æãè¡ãããããã«ããŸãã
ãªãŒãã£ãªããŒã¿ã¬ãŒãã¯fps*countã§å²ãåããå¿ èŠãããããšã«æ³šæããŠãã ããã ããã©ã«ãå€ã¯6ã§ãã
äŸ
ã»ã¹ãã¯ãã«ã衚瀺ããªãããªãŒãã£ãªãåçããïŒ
ffplay -f lavfi'amovie = a.mp3ãasplit [a] [out1]; [a] showcqt [out0] '
ã»äžèšãšåãã§ããããã¬ãŒã ã¬ãŒãã30fpsã§ãã
ffplay -f lavfi'amovie = a.mp3ãasplit [a] [out1]; [a] showcqt = fps = 30ïŒcount = 5 [out0] '
ã»960x540以äžã®CPU䜿çšçã§åçïŒ
ffplay -f lavfi'amovie = a.mp3ãasplit [a] [out1]; [a] showcqt = fullhd = 0ïŒcount = 3 [out0] '
ã»A1ãšãã®é«èª¿æ³¢ïŒA1ãA2ãïŒè¿ãïŒE3ãA3ïŒ
ffplay -f lavfi 'aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),
asplit [a] [out1]; [a] showcqt [out0] '
ã»äžèšãšåãã§ãããåšæ³¢æ°é åã§ããæ£ç¢ºã«ïŒãããŠããé ãïŒïŒ
ffplay -f lavfi 'aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),
asplit [a] [out1]; [a] showcqt = timeclamp = 0.5 [out0] '
ã»çã©ãŠããã¹ã®Béã¿ä»ã
volume = 16 * b_weightingïŒfïŒ
ã»äœãQãã¡ã¯ã¿ãŒ
tlength = 100 / f * tc /ïŒ100 / f + tcïŒ
ã»ã«ã¹ã¿ã ãã©ã³ãã«ã©ãŒãC-noteã¯ç·è²ããã®ä»ã¯éè²
fontcolor ='ifïŒmodïŒfloorïŒmidiïŒfïŒ+0.5ïŒã12ïŒã0x0000FFã gïŒ1ïŒïŒ '
ã»ã«ã¹ã¿ã ã¬ã³ããã¹ãã¯ãã«ã¯æ¯å¹ ã«å¯ŸããŠç·åœ¢ã«ãªããŸããã
ã¬ã³ã=2ïŒã¬ã³ã2 = 2
è¡šç€ºé »åºŠ
å ¥åãªãŒãã£ãªããªãŒãã£ãªãã¯ãŒã¹ãã¯ãã«ãè¡šããããªåºåã«å€æããŸãã ãªãŒãã£ãª
æ¯å¹ ã¯Y軞äžã«ãããåšæ³¢æ°ã¯X軞äžã«ãããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãµã€ãºã s
ãããªã®ãµã€ãºãæå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãã㪠ãµã€ãº"
in ã ffmpeg-utils ããã¥ã¢ã«ã ããã©ã«ãã¯ã1024x512ãã§ãã
ã¢ãŒã
衚瀺ã¢ãŒããèšå®ããŸãã ããã«ãããååšæ³¢æ°ãã³ã®è¡šçŸæ¹æ³ãèšå®ãããŸãã
次ã®å€ãåãå ¥ããŸãã
ã©ã€ã³
ããŒ
ããã
ããã©ã«ãã¯ãbarãã§ãã
ã¢ã¹ã±ãŒã«
æ¯å¹ ã¹ã±ãŒã«ãèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
LIN ç·åœ¢ã¹ã±ãŒã«ã
å¹³æ¹æ ¹
å¹³æ¹æ ¹ã¹ã±ãŒã«ã
CBRT
ç«æ¹æ ¹ã¹ã±ãŒã«ã
ã㰠察æ°ç®çã
ããã©ã«ãã¯ããã°ãã§ãã
ã¹ã±ãŒã«
åšæ³¢æ°ã¹ã±ãŒã«ãèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
LIN ç·åœ¢ã¹ã±ãŒã«ã
ã㰠察æ°ç®çã
ãã°
é察æ°ç®çã
ããã©ã«ãã¯ãlinãã§ãã
win_size
ãŠã£ã³ããŠãµã€ãºãèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
w16
w32
w64
w128
w256
w512
w1024
w2048
w4096
w8192
w16384
w32768
w65536
ããã©ã«ãã¯ãw2048ãã§ã
win_func
çªé¢æ°ãèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
åè§ã
ããŒãã¬ãã
ããã³ã°
ããã³ã°
é»äºº
ãŠã§ã«ã
ãã©ããããã
ããªã¹
ããããŒã«
ãã³
æ£åŒŠ
ãããããŒã«
ããã©ã«ãã¯ãããã³ã°ãã§ãã
ãªãŒããŒã©ãã
ãŠã£ã³ããŠã®ãªãŒããŒã©ãããèšå®ããŸãã ç¯å²ã[0]ãã ããã©ã«ãã¯1ã§ããããã¯ã
éžæãããŠã£ã³ããŠé¢æ°ãéžæãããŸãã
å¹³åå
æéå¹³åãèšå®ããŸãã ããã0ã«èšå®ãããšãçŸåšã®æ倧ããŒã¯ã衚瀺ãããŸãã ããã©ã«ãã¯
1ã¯ãæéå¹³åãç¡å¹ã«ãªã£ãŠããããšãæå³ããŸãã
ã«ã©ãŒ
ã¹ããŒã¹ãŸãã¯'|'ã§åºåãããè²ã®ãªã¹ããæå®ããŸããã£ãã«ãæç»ããããã«äœ¿çšãããŸã
åšæ³¢æ°ã èªèãããªãè²ãŸãã¯æ¬ èœããŠããè²ã¯ãçœè²ã«çœ®ãæããããŸãã
ã·ã§ãŒã¹ãã¯ãã«
å ¥åãªãŒãã£ãªãããªãŒãã£ãªåšæ³¢æ°ã¹ãã¯ãã«ãè¡šããããªåºåã«å€æããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãµã€ãºã s
åºåã®ãããªãµã€ãºãæå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãããª
ãµã€ãº" in ã ffmpeg-utils ããã¥ã¢ã«ã ããã©ã«ãå€ã¯ã640x512ãã§ãã
ã¹ã©ã€ã
ã¹ãã¯ãã«ããŠã£ã³ããŠã«æ²¿ã£ãŠã¹ã©ã€ããããæ¹æ³ãæå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
replace
ãµã³ãã«ã¯ãå³åŽã«å°éãããšå·ŠåŽããåéããŸã
ã¹ã¯ããŒã«
ãµã³ãã«ã¯å³ããå·Šã«ã¹ã¯ããŒã«ããŸã
ãã«ãã¬ãŒã
ãã¬ãŒã ã¯ããµã³ãã«ãå³åŽã«å°éãããšãã«ã®ã¿çæãããŸã
ããã©ã«ãå€ã¯ã眮æãã§ãã
ã¢ãŒã
衚瀺ã¢ãŒããæå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
çµã¿åããã
ãã¹ãŠã®ãã£ã³ãã«ãåãè¡ã«è¡šç€ºãããŸã
å¥
ãã¹ãŠã®ãã£ãã«ãå¥ã ã®è¡ã«è¡šç€ºãããŸã
ããã©ã«ãå€ã¯ çµã¿åããã.
ã«ã©ãŒ
衚瀺è²ã¢ãŒããæå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
ãã£ã³ãã«
åãã£ã³ãã«ã¯å¥ã ã®è²ã§è¡šç€ºãããŸã
åãã£ã³ãã«ã¯åãé è²ã§è¡šç€ºãããŸã
ããã©ã«ãå€ã¯ ãã£ã³ãã«.
é段
匷床ã®è²ã®å€ãèšç®ããããã«äœ¿çšãããã¹ã±ãŒã«ãæå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
LIN ç·åœ¢
å¹³æ¹æ ¹
å¹³æ¹æ ¹ãããã©ã«ã
CBRT
ç«æ¹æ ¹
ãã°
ããã©ã«ãå€ã¯ å¹³æ¹æ ¹.
飜å
衚瀺ãããè²ã®åœ©åºŠã¢ãã£ãã¡ã€ã€ãèšå®ããŸãã è² ã®å€ã¯ä»£æ¿ãæäŸããŸã
ã«ã©ãŒã¹ããŒã ã 0ã¯é£œåç¶æ ã§ã¯ãããŸããã 飜å床ã¯[-10.0ã10.0]ã®ç¯å²å ã§ããå¿ èŠããããŸãã
ããã©ã«ãå€ã¯1ã§ãã
win_func
ãŠã£ã³ããŠé¢æ°ãèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
ãªã
ãµã³ãã«ã®ååŠçã¯ãããŸããïŒãããé«éã«ãªããšã¯æããªãã§ãã ããïŒ
ãã³
ãã³ãŠã£ã³ããŠ
ããã³ã°
ããã³ã°ãŠã£ã³ããŠ
é»äºº
ãã©ãã¯ãã³ãŠã£ã³ããŠ
ããã©ã«ãå€ã¯ãhannãã§ãã
䜿çšæ³ã¯showwavesãã£ã«ã¿ãŒãšéåžžã«ãã䌌ãŠããŸãã ãã®ã»ã¯ã·ã§ã³ã®äŸãåç §ããŠãã ããã
äŸ
ã»å¯Ÿæ°ã«ã©ãŒã¹ã±ãŒãªã³ã°ã®å€§ããªãŠã£ã³ããŠïŒ
showspectrum = s = 1280x480ïŒscale = log
ã»ã䜿çšãããã£ãã«ããšã®è²ä»ãããã³ã¹ã©ã€ãã£ã³ã°ã¹ãã¯ãã«ã®å®å šãªäŸ åçãã:
ffplay -f lavfi'amovie = input.mp3ãasplit [a] [out1];
[a] showspectrum = mode = separateïŒcolor = intensityïŒslide = 1ïŒscale = cbrt [out0] '
ããªã¥ãŒã ã衚瀺
å ¥åãªãŒãã£ãªããªã¥ãŒã ããããªåºåã«å€æããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
å²åã r
ãããªã¬ãŒããèšå®ããŸãã
b å¢çç·ã®å¹ ãèšå®ããŸãã蚱容ç¯å²ã¯[0ã5]ã§ãã ããã©ã«ãã¯1ã§ãã
w ãã£ãã«å¹ ãèšå®ããŸãã蚱容ç¯å²ã¯[40ã1080]ã§ãã ããã©ã«ãã¯400ã§ãã
h ãã£ãã«ã®é«ããèšå®ããŸãã蚱容ç¯å²ã¯[1ã100]ã§ãã ããã©ã«ãã¯20ã§ãã
f ãã§ãŒããèšå®ããŸãã蚱容ç¯å²ã¯[1ã255]ã§ãã ããã©ã«ãã¯20ã§ãã
c ããªã¥ãŒã ã®è²è¡šçŸãèšå®ããŸãã
åŒã¯æ¬¡ã®å€æ°ã䜿çšã§ããŸãã
VOLUME
ãã£ãã«ã®çŸåšã®æ倧é³éïŒdBïŒã
ãã£ã³ãã«
0ããå§ãŸãçŸåšã®ãã£ãã«çªå·ã
t èšå®ãããŠããå Žåããã£ãã«åã衚瀺ããŸãã ããã©ã«ãã¯æå¹ã§ãã
ã·ã§ãŒãŠã§ãŒã
å ¥åãªãŒãã£ãªããµã³ãã«æ³¢ãè¡šããããªåºåã«å€æããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãµã€ãºã s
åºåã®ãããªãµã€ãºãæå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãããª
ãµã€ãº" in ã ffmpeg-utils ããã¥ã¢ã«ã ããã©ã«ãå€ã¯ã600x240ãã§ãã
ã¢ãŒã
衚瀺ã¢ãŒããèšå®ããŸãã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ãã€ã³ã
ãµã³ãã«ããšã«ç¹ãæããŸãã
ã©ã€ã³
ãµã³ãã«ããšã«åçŽç·ãåŒããŸãã
p2p åãµã³ãã«ã«ç¹ãæãããããã®éã«ç·ãåŒããŸãã
ã¯ã©ã€ã³
ãµã³ãã«ããšã«äžå€®ã«åçŽãªç·ãåŒããŸãã
ããã©ã«ãå€ã¯ããã€ã³ããã§ãã
n åãåã«å°å·ããããµã³ãã«æ°ãèšå®ããŸãã å€ã倧ãããããš
ãã¬ãŒã ã¬ãŒããäžããŸãã æ£ã®æŽæ°ã§ããå¿ èŠããããŸãã ãã®ãªãã·ã§ã³ã¯ã次ã®å Žåã«ã®ã¿èšå®ã§ããŸã
ã®å€ ç æ瀺çã«æå®ãããŠããŸããã
å²åã r
ïŒæŠç®ïŒåºåãã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã¯ããªãã·ã§ã³ãèšå®ããããšã«ãã£ãŠè¡ãããŸã nã ããã©ã«ã
å€ã¯ã25ãã§ãã
åå²ãã£ã³ãã«
ãã£ãã«ãåå¥ã«æç»ãããããªãŒããŒã©ãããããããèšå®ããŸãã ããã©ã«ãå€ã¯0ã§ãã
äŸ
ã»å ¥åãã¡ã€ã«ã®ãªãŒãã£ãªãšå¯Ÿå¿ãããããªè¡šçŸãåæã«åºåããŸã
æéïŒ
amovie = a.mp3ãasplit [out0]ãshowwaves [out1]
ã»åæä¿¡å·ãäœæããshowwavesã§è¡šç€ºããŠããã¬ãŒã ã¬ãŒãã30ã«ããŸãã
XNUMXç§ãããã®ãã¬ãŒã æ°ïŒ
aevalsrc=sin(1*2*PI*t)*sin(880*2*PI*t):cos(2*PI*200*t),asplit[out0],showwaves=r=30[out1]
ã·ã§ãŒãŠã§ãŒãã¹ããã¯
å ¥åãªãŒãã£ãªãããµã³ãã«æ³¢ãè¡šãåäžã®ãããªãã¬ãŒã ã«å€æããŸãã
ãã£ã«ã¿ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãµã€ãºã s
åºåã®ãããªãµã€ãºãæå®ããŸãã ãã®ãªãã·ã§ã³ã®æ§æã«ã€ããŠã¯ã "ãããª
ãµã€ãº" in ã ffmpeg-utils ããã¥ã¢ã«ã ããã©ã«ãå€ã¯ã600x240ãã§ãã
åå²ãã£ã³ãã«
ãã£ãã«ãåå¥ã«æç»ãããããªãŒããŒã©ãããããããèšå®ããŸãã ããã©ã«ãå€ã¯0ã§ãã
äŸ
ã»ãªãŒãã£ãªãã©ãã¯å šäœã®æ³¢åœ¢ã®ãã£ãã«åå²è¡šçŸãæœåºããŸãã
1024x800ã®ç»åãäœ¿çš ffmpeg:
ffmpeg -i audio.flac -lavfi showwavespic = split_channels = 1ïŒs =1024x800waveform.png
ã¹ããªããã åå²ãã
å ¥åãããã€ãã®åäžã®åºåã«åå²ããŸãã
ãasplitãã¯ãªãŒãã£ãªå ¥åã§æ©èœãããsplitãã¯ãããªã§æ©èœããŸãã
ãã£ã«ã¿ã¯ãåºåã®æ°ãæå®ããåäžã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã ããã
æå®ããªãå Žåãããã©ã«ãã¯2ã§ãã
äŸ
ã»åãå ¥åããXNUMXã€ã®å¥ã ã®åºåãäœæããŸãã
[in] split [out0] [out1]
ã»3ã€ä»¥äžã®åºåãäœæããã«ã¯ã次ã®ããã«åºåã®æ°ãæå®ããå¿ èŠããããŸãã
[in] asplit = 3 [out0] [out1] [out2]
ã»åãå ¥åããXNUMXã€ã®å¥ã ã®åºåãäœæããŸããXNUMXã€ã¯ããªãã³ã°ãããããXNUMXã€ã¯ããã£ã³ã°ãããŸãã
[in] split [splitout1] [splitout2];
[splitout1] crop=100:100:0:0 [cropout];
[splitout2] pad=200:200:100:100 [padout];
ã»å ¥åãªãŒãã£ãªã®5ã€ã®ã³ããŒãäœæããŸã ffmpeg:
ffmpeg -i INPUT -filter_complex asplit = 5 OUTPUT
zmqã azmq
libzmqã¯ã©ã€ã¢ã³ããä»ããŠéä¿¡ãããã³ãã³ããåä¿¡ãããããããã£ã«ã¿ãŒã«è»¢éããŸãã
ãã£ã«ã¿ã°ã©ãã
ãzmqããšãazmqãã¯ãã¹ã¹ã«ãŒãã£ã«ã¿ãŒãšããŠæ©èœããŸãã ãzmqãã¯XNUMXã€ã®ãããªã®éã«æ¿å ¥ããå¿ èŠããããŸã
ãã£ã«ã¿ãXNUMXã€ã®ãªãŒãã£ãªãã£ã«ã¿éã®ãazmqãã
ãããã®ãã£ã«ã¿ãŒãæå¹ã«ããã«ã¯ãlibzmqã©ã€ãã©ãªãŒãšããããŒãã€ã³ã¹ããŒã«ããŠæ§æããå¿ èŠããããŸã
ã--enable-libzmqããå«ãFFmpegã
libzmqã®è©³çŽ°ã«ã€ããŠã¯ã以äžãåç §ããŠãã ãããhttp://www.zeromq.org/>
ãzmqãããã³ãazmqããã£ã«ã¿ãŒã¯libzmqãµãŒããŒãšããŠæ©èœããlibzmqãµãŒããŒã¯
ã«ãã£ãŠå®çŸ©ããããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ ãã€ã³ãã¢ãã¬ã¹ ãªãã·ã§ã³ãéžæããŸãã
åä¿¡ããã¡ãã»ãŒãžã¯æ¬¡ã®åœ¢åŒã§ããå¿ èŠããããŸãã
[ ]
TARGET ã³ãã³ãã®ã¿ãŒã²ãããæå®ããŸããéåžžã¯ããã£ã«ã¿ãŒã¯ã©ã¹ã®ååãŸãã¯
ç¹å®ã®ãã£ã«ã¿ãŒã€ã³ã¹ã¿ã³ã¹åã
COMMAND ã¿ãŒã²ãããã£ã«ã¿ãŒã®ã³ãã³ãã®ååãæå®ããŸãã
ARG ãªãã·ã§ã³ã§ãããæå®ããããªãã·ã§ã³ã®åŒæ°ãªã¹ããæå®ããŸã COMMAND.
åä¿¡ãããšãã¡ãã»ãŒãžãåŠçããã察å¿ããã³ãã³ããã«æ¿å ¥ãããŸã
ãã£ã«ã¿ã°ã©ãã çµæã«å¿ããŠããã£ã«ã¿ãŒã¯ã¯ã©ã€ã¢ã³ãã«å¿çãéä¿¡ããŸãã
圢åŒãæ¡çšããïŒ
MESSAGE ãªãã·ã§ã³ã§ãã
äŸ
èŠãŸã tools / zmqsend ã³ãã³ãã®éä¿¡ã«äœ¿çšã§ããzmqã¯ã©ã€ã¢ã³ãã®äŸ
ãããã®ãã£ã«ã¿ãŒã«ãã£ãŠåŠçãããŸãã
ã«ãã£ãŠçæããã次ã®ãã£ã«ã¿ãŒã°ã©ãã«ã€ããŠèããŠã¿ãŸãã åçãã
ffplay -dumpgraph 1 -f lavfi "
color = s = 100x100ïŒc = red [l];
color = s = 100x100ïŒc = blue [r];
nullsrc = s = 200x100ãzmq [bg];
[bg][l]ãªãŒããŒã¬ã€[bg+l];
[bg + l] [r] overlay = x = 100 "
ãããªã®å·ŠåŽã®è²ãå€æŽããã«ã¯ã次ã®ã³ãã³ãã䜿çšã§ããŸãã
ãšã³ãŒParsed_color_0cé»è²| tools / zmqsend
å³åŽãå€æŽããã«ã¯ïŒ
ãšã³ãŒParsed_color_1cãã³ã¯| tools / zmqsend
ãã«ãã¡ãã£ã¢ SOURCES
以äžã¯ãçŸåšå©çšå¯èœãªãã«ãã¡ãã£ã¢ãœãŒã¹ã®èª¬æã§ãã
æ ç»
ããã¯ãšåãã§ã æ ç» ãœãŒã¹ããã ããããã©ã«ãã§ãªãŒãã£ãªã¹ããªãŒã ãéžæããŸãã
æ ç»
ã ãŒããŒã³ã³ãããããªãŒãã£ãªããã³/ãŸãã¯ãããªã¹ããªãŒã ãèªã¿åããŸãã
次ã®ãã©ã¡ãŒã¿ãåãå ¥ããŸãã
ãã¡ã€ã«å
èªã¿åããªãœãŒã¹ã®ååïŒå¿ ããããã¡ã€ã«ã§ããå¿ èŠã¯ãããŸãããããã€ã¹ãŸãã¯
ããã€ãã®ãããã³ã«ãä»ããŠã¢ã¯ã»ã¹ãããã¹ããªãŒã ïŒã
format_nameã f
æ ç»ãèªã¿åãããã«æ³å®ããã圢åŒãæå®ããŸããååã¯æ¬¡ã®ããããã«ãªããŸãã
ã³ã³ãããŸãã¯å ¥åããã€ã¹ã æå®ããªãå Žåã圢åŒã¯ããæšæž¬ãããŸã æ ç»å
ãŸãã¯ãããŒãã³ã°ã«ãã£ãŠã
seek_pointã sp
ã·ãŒã¯ãã€ã³ããç§åäœã§æå®ããŸãã ãã¬ãŒã ã¯ãã®ã·ãŒã¯ããåºåãããŸã
ç¹ã ãã©ã¡ãŒã¿ã¯ãav_strtodãã§è©äŸ¡ããããããæ°å€ã¯æ¬¡ã®ããã«ãªããŸãã
æ¥å°ŸèŸã¯ISæ¥å°ŸèŸã§ãã ããã©ã«ãå€ã¯ã0ãã§ãã
ã¹ããªãŒã ã s
èªã¿åãã¹ããªãŒã ãæå®ããŸãã ã+ãã§åºåã£ãŠãè€æ°ã®ã¹ããªãŒã ãæå®ã§ããŸãã The
ãœãŒã¹ã«ã¯ãåãé åºã§åãæ°ã®åºåããããŸãã æ§æã¯ã§èª¬æãããŠããŸã
ffmpegããã¥ã¢ã«ã®ãã¹ããªãŒã æå®åãã»ã¯ã·ã§ã³ã XNUMXã€ã®ç¹å¥ãªååãdvããš
ãdaãã¯ãããã©ã«ãã®ïŒæé©ãªïŒãããªã¹ããªãŒã ãšãªãŒãã£ãªã¹ããªãŒã ãããããæå®ããŸãã ããã©ã«ãã¯
ãdvãããŸãã¯ãã£ã«ã¿ãŒããamovieããšåŒã°ããå Žåã¯ãdaãã
stream_indexã si
èªã¿åããããªã¹ããªãŒã ã®ã€ã³ããã¯ã¹ãæå®ããŸãã å€ã-1ã®å Žåãæãé©åã§ã
ãããªã¹ããªãŒã ãèªåçã«éžæãããŸãã ããã©ã«ãå€ã¯ã-1ãã§ãã éæšå¥šã ããã
ãã£ã«ã¿ã¯ãamovieããšåŒã°ãããããªã§ã¯ãªããªãŒãã£ãªãéžæããŸãã
ã«ãŒã
ã¹ããªãŒã ãé çªã«èªã¿åãåæ°ãæå®ããŸãã å€ã1æªæºã®å Žå
ã¹ããªãŒã ã¯äœåºŠãèªã¿åãããŸãã ããã©ã«ãå€ã¯ã1ãã§ãã
ã ãŒããŒãã«ãŒããããŠãããœãŒã¹ã®ã¿ã€ã ã¹ã¿ã³ãã¯å€æŽãããªããããå€æŽãããããšã«æ³šæããŠãã ããã
å調ã«å¢å ããªãã¿ã€ã ã¹ã¿ã³ããçæããŸãã
次ã«ç€ºãããã«ããã£ã«ã¿ãŒã°ã©ãã®ã¡ã€ã³å ¥åã®äžã«XNUMXçªç®ã®ãããªããªãŒããŒã¬ã€ã§ããŸãã
ãã®ã°ã©ãïŒ
å ¥å----------->deltapts0->ãªãŒããŒã¬ã€->åºå
^
|
ã ãŒããŒ->ã¹ã±ãŒã«->deltapts1------- +
äŸ
ã»AVIãã¡ã€ã«in.aviã®å é ãã3.2ç§ã¹ããããããã®äžã«ãªãŒããŒã¬ã€ããŸãã
ãinããšããã©ãã«ã®ä»ããå ¥åïŒ
movie = in.aviïŒseek_point = 3.2ãscale = 180ïŒ-1ãsetpts = PTS-STARTPTS [over];
[in] setpts = PTS-STARTPTS [main];
[ã¡ã€ã³][ãªãŒããŒ]overlay= 16ïŒ16[ã¢ãŠã]
ã»video4linux2ããã€ã¹ããèªã¿åãããinããšããã©ãã«ã®ä»ããå ¥åã®äžã«ãªãŒããŒã¬ã€ããŸãã
movie = / dev / video0ïŒf = video4linux2ãscale = 180ïŒ-1ãsetpts = PTS-STARTPTS [over];
[in] setpts = PTS-STARTPTS [main];
[ã¡ã€ã³][ãªãŒããŒ]overlay= 16ïŒ16[ã¢ãŠã]
ã»dvd.vobããID0x81ã®æåã®ãããªã¹ããªãŒã ãšãªãŒãã£ãªã¹ããªãŒã ãèªã¿åããŸãã ãããª
ããããªããšããååã®ãããã«æ¥ç¶ããããªãŒãã£ãªã¯ããããªããšããååã®ãããã«æ¥ç¶ãããŸã
"ãªãŒãã£ãª"ïŒ
movie = dvd.vobïŒs = vïŒ0 +ïŒ0x81[ãããª][ãªãŒãã£ãª]
onworks.net ãµãŒãã¹ã䜿çšããŠãªã³ã©ã€ã³ã§ ffmpeg-filters ã䜿çšãã