ããã¯ã³ãã³ãffplayã§ã-UbuntuOnlineãFedora OnlineãWindowsãªã³ã©ã€ã³ãšãã¥ã¬ãŒã¿ãŒãMACOSãªã³ã©ã€ã³ãšãã¥ã¬ãŒã¿ãŒãªã©ã®è€æ°ã®ç¡æãªã³ã©ã€ã³ã¯ãŒã¯ã¹ããŒã·ã§ã³ã®XNUMXã€ã䜿çšããŠOnWorksç¡æãã¹ãã£ã³ã°ãããã€ããŒã§å®è¡ã§ãããã¹ãŠ
ããã°ã©ã ïŒ
NAME
ffplay-FFplayã¡ãã£ã¢ãã¬ãŒã€ãŒ
SYNOPSIS
ffãã¬ã€ [ãªãã·ã§ã³] [å ¥åãã¡ã€ã«]
DESCRIPTION
FFplayã¯ãFFmpegã©ã€ãã©ãªãšSDLã䜿çšããéåžžã«ã·ã³ãã«ã§ããŒã¿ãã«ãªã¡ãã£ã¢ãã¬ãŒã€ãŒã§ãã
å³æžé€šã ããã¯äž»ã«ãããŸããŸãªFFmpegAPIã®ãã¹ãããããšããŠäœ¿çšãããŸãã
OPTIONS
ç¹ã«æå®ããªãéãããã¹ãŠã®æ°å€ãªãã·ã§ã³ã¯ã
å ¥åãšããŠã®çªå·ããã®åŸã«SIåäœã®æ¥é èŸã®XNUMXã€ãç¶ããããšãã§ããŸããäŸïŒ 'K'ã
ãMããŸãã¯ãGãã
'i'ãSIåäœã®æ¥é èŸã«è¿œå ãããŠããå Žåãå®å šãªæ¥é èŸã¯æ¬¡ã®ããã«è§£éãããŸãã
ã®çŽ¯ä¹ã§ã¯ãªã1024ã®çŽ¯ä¹ã«åºã¥ãXNUMXé²åæ°ã®åäœæ¥é èŸ
1000. SIåäœæ¥é èŸã«ãBããè¿œå ãããšãå€ã8åã«ãªããŸããããã«ããã次ã䜿çšã§ããŸãã
äŸïŒçªå·ã®æ¥å°ŸèŸãšããŠãKBãããMiBãããGãããBãã
åŒæ°ãåããªããªãã·ã§ã³ã¯ããŒã«ãªãã·ã§ã³ã§ããã察å¿ããå€ãèšå®ããŸã
æ¬åœã«ã ãªãã·ã§ã³åã®åã«ãnoããä»ããããšã§ãfalseã«èšå®ã§ããŸãã äŸãã°
ã-nofooãã䜿çšãããšããfooããšããååã®ããŒã«ãªãã·ã§ã³ãfalseã«èšå®ãããŸãã
Stream æå®å
ãããã¬ãŒããã³ãŒããã¯ãªã©ãäžéšã®ãªãã·ã§ã³ã¯ã¹ããªãŒã ããšã«é©çšãããŸãã ã¹ããªãŒã æå®åã¯ã
ç¹å®ã®ãªãã·ã§ã³ãå±ããã¹ããªãŒã ãæ£ç¢ºã«æå®ããŸãã
ã¹ããªãŒã æå®åã¯ãéåžžããªãã·ã§ã³åã«è¿œå ããããªãã·ã§ã³åããåé¢ãããæååã§ãã
ã³ãã³ã§ã ããšãã°ãã-codecïŒaïŒ1 ac3ãã«ã¯ããaïŒ1ãã¹ããªãŒã æå®åãå«ãŸããŠããŸããããã¯ã
3çªç®ã®ãªãŒãã£ãªã¹ããªãŒã ã ãããã£ãŠãXNUMXçªç®ã®ãªãŒãã£ãªã¹ããªãŒã ã«acXNUMXã³ãŒããã¯ãéžæããŸãã
ã¹ããªãŒã æå®åã¯è€æ°ã®ã¹ããªãŒã ã«äžèŽããå¯èœæ§ãããããããªãã·ã§ã³ã¯ãã¹ãŠã«é©çšãããŸã
圌ãã ããšãã°ãã-bïŒa128kãã®ã¹ããªãŒã æå®åã¯ãã¹ãŠã®ãªãŒãã£ãªã¹ããªãŒã ã«äžèŽããŸãã
空ã®ã¹ããªãŒã æå®åã¯ãã¹ãŠã®ã¹ããªãŒã ã«äžèŽããŸãã ããšãã°ãã-codeccopyããŸãã¯ã-codecïŒ
copyãã¯ãåãšã³ã³ãŒãããã«ãã¹ãŠã®ã¹ããªãŒã ãã³ããŒããŸãã
ã¹ããªãŒã æå®åã®å¯èœãªåœ¢åŒã¯æ¬¡ã®ãšããã§ãã
ã¹ããªãŒã ã€ã³ããã¯ã¹
ã¹ããªãŒã ããã®ã€ã³ããã¯ã¹ãšäžèŽãããŸãã ããšãã°ãã-threadsïŒ1 4ãã¯ãã®ã¹ã¬ããæ°ãèšå®ããŸã
4ãžã®XNUMXçªç®ã®ã¹ããªãŒã ã
ã¹ããªãŒã ã¿ã€ã[:ã¹ããªãŒã ã€ã³ããã¯ã¹]
ã¹ããªãŒã ã¿ã€ã ã¯æ¬¡ã®ããããã§ãïŒãããªã®å Žåã¯ãvããŸãã¯ãVãããªãŒãã£ãªã®å Žåã¯ãaããã®å Žåã¯ãsã
ãµãã¿ã€ãã«ãããŒã¿ã®å Žåã¯ãdããæ·»ä»ãã¡ã€ã«ã®å Žåã¯ãtãã ãvãã¯ãã¹ãŠã®ãããªã¹ããªãŒã ã«äžèŽãããVãã¯
æ·»ä»ãããåçããããªãµã ãã€ã«ããŸãã¯ã«ããŒã§ã¯ãªããããªã¹ããªãŒã ã«ã®ã¿äžèŽããŸã
èžè¡ã ããã ã¹ããªãŒã ã€ã³ããã¯ã¹ ãäžãããããšãã¹ããªãŒã çªå·ãšäžèŽããŸã ã¹ããªãŒã ã€ã³ããã¯ã¹ ããã®
ã¿ã€ãã ãã以å€ã®å Žåã¯ããã®ã¿ã€ãã®ãã¹ãŠã®ã¹ããªãŒã ã«äžèŽããŸãã
p:ããã°ã©ã ID[:ã¹ããªãŒã ã€ã³ããã¯ã¹]
If ã¹ããªãŒã ã€ã³ããã¯ã¹ ãäžãããããšãã¹ããªãŒã ãšçªå·ãäžèŽããŸã ã¹ããªãŒã ã€ã³ããã¯ã¹ ã»ã¯ã·ã§ã³ã«
IDã®ããã°ã©ã ããã°ã©ã IDã ãã以å€ã®å Žåã¯ãããã°ã©ã å ã®ãã¹ãŠã®ã¹ããªãŒã ã«äžèŽããŸãã
#ã¹ããªãŒã ID or i:ã¹ããªãŒã ID
ã¹ããªãŒã IDïŒMPEG-TSã³ã³ããã®PIDãªã©ïŒã§ã¹ããªãŒã ãç §åããŸãã
m:ããŒ[:å€]
ã¹ããªãŒã ãã¡ã¿ããŒã¿ã¿ã°ãšç §åããŸã ã㌠æå®ãããå€ãæã€ã ããã å€ ã§ã¯ãããŸãã
äžãããããäžããããã¿ã°ãå«ãã¹ããªãŒã ãä»»æã®å€ãšäžèŽãããŸãã
u ã¹ããªãŒã ã䜿çšå¯èœãªæ§æãšäžèŽãããŸããã³ãŒããã¯ãå®çŸ©ããå¿ èŠããããå¿ é ã§ã
ãããªã®ãµã€ãºããªãŒãã£ãªã®ãµã³ãã«ã¬ãŒããªã©ã®æ å ±ãååšããå¿ èŠããããŸãã
ã«æ³šæããŠãã ãã ffmpegãã¡ã¿ããŒã¿ã«ããç §åã¯ãå ¥åãã¡ã€ã«ã«å¯ŸããŠã®ã¿é©åã«æ©èœããŸãã
ãžã§ããªã㯠ãªãã·ã§ã³
ãããã®ãªãã·ã§ã³ã¯ãff *ããŒã«éã§å ±æãããŸãã
-L ã©ã€ã»ã³ã¹ã衚瀺ããŸãã
-NSã -?ã -ãã«ãã - å©ã㊠[argã¯]
ãã«ãã衚瀺ããŸãã ç¹å®ã®é ç®ã«é¢ãããã«ããå°å·ããããã«ããªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒãæå®ã§ããŸãã
åŒæ°ãæå®ãããŠããªãå Žåãåºæ¬çãªïŒé«åºŠã§ã¯ãªãïŒããŒã«ãªãã·ã§ã³ã®ã¿ã衚瀺ãããŸãã
ã®å¯èœãªå€ arg㯠ã«ã¯æ¬¡ã®å€ããããŸã:
é·ã
åºæ¬çãªããŒã«ãªãã·ã§ã³ã«å ããŠãé«åºŠãªããŒã«ãªãã·ã§ã³ãå°å·ããŸãã
ãã«
ãšã³ã³ãŒãã®å ±æãªãã·ã§ã³ãšãã©ã€ããŒããªãã·ã§ã³ãå«ãããªãã·ã§ã³ã®å®å šãªãªã¹ããå°å·ããŸãã
ãã³ãŒããŒãããã«ããã¬ã¯ãµãŒããã«ããã¬ã¯ãµãŒããã£ã«ã¿ãŒãªã©ã
ãã³ãŒããŒ=ãã³ãŒããŒå
ååã®ä»ãããã³ãŒããŒã«é¢ãã詳现æ å ±ãåºåããŸã ãã³ãŒããŒåã äœ¿çš -ãã³ãŒããŒ
ãã¹ãŠã®ãã³ãŒããŒã®ãªã¹ããååŸãããªãã·ã§ã³ã
ãšã³ã³ãŒã=ãšã³ã³ãŒããŒå
ååã®ä»ãããšã³ã³ãŒãã«é¢ãã詳现æ å ±ãåºåããŸã ãšã³ã³ãŒããŒåã äœ¿çš -ãšã³ã³ãŒããŒ
ãã¹ãŠã®ãšã³ã³ãŒããŒã®ãªã¹ããååŸãããªãã·ã§ã³ã
demuxer =ããã«ããã¬ã¯ãµãŒå
ååã®ä»ããããã«ããã¬ã¯ãµã«é¢ãã詳现æ å ±ãåºåããŸã ããã«ããã¬ã¯ãµãŒåã äœ¿çš -ãã©ãŒããã
ãã¹ãŠã®ããã«ããã¬ã¯ãµãšãã«ããã¬ã¯ãµã®ãªã¹ããååŸãããªãã·ã§ã³ã
ãã«ããã¬ã¯ãµ=ãã«ããã¬ã¯ãµå
ååã®ä»ãããã«ããã¬ã¯ãµã«é¢ãã詳现æ å ±ãå°å·ããŸã ãã«ããã¬ã¯ãµåã äœ¿çš -ãã©ãŒããã
ãã¹ãŠã®ãã«ããã¬ã¯ãµãšããã«ããã¬ã¯ãµã®ãªã¹ããååŸãããªãã·ã§ã³ã
filter =ãã£ã«ã¿ãŒå
ãã£ã«ã¿åã«é¢ãã詳现æ å ±ãåºåããŸã ãã£ã«ã¿ãŒåã äœ¿çš -ãã£ã«ã¿ãŒ
ãã¹ãŠã®ãã£ã«ã¿ãŒã®ãªã¹ããååŸãããªãã·ã§ã³ã
-ããŒãžã§ã³
ããŒãžã§ã³ã衚瀺ããŸãã
-ãã©ãŒããã
䜿çšå¯èœãªåœ¢åŒïŒããã€ã¹ãå«ãïŒã衚瀺ããŸãã
ããã€ã¹
å©çšå¯èœãªããã€ã¹ã衚瀺ããŸãã
-ã³ãŒããã¯
libavcodecã«èªèãããŠãããã¹ãŠã®ã³ãŒããã¯ã衚瀺ããŸãã
ãã³ãŒããã¯ããšããçšèªã¯ããã®ããã¥ã¡ã³ãå šäœã§æ¬¡ã®ã·ã§ãŒãã«ãããšããŠäœ¿çšãããŠããããšã«æ³šæããŠãã ããã
ããæ£ç¢ºã«ã¯ã¡ãã£ã¢ãããã¹ããªãŒã 圢åŒãšåŒã°ãããã®ã
-ãã³ãŒããŒ
å©çšå¯èœãªãã³ãŒããŒã衚瀺ããŸãã
-ãšã³ã³ãŒããŒ
䜿çšå¯èœãªãã¹ãŠã®ãšã³ã³ãŒããŒã衚瀺ããŸãã
-bsfs
䜿çšå¯èœãªãããã¹ããªãŒã ãã£ã«ã¿ãŒã衚瀺ããŸãã
-ãããã³ã«
å©çšå¯èœãªãããã³ã«ã衚瀺ããŸãã
-ãã£ã«ã¿ãŒ
䜿çšå¯èœãªlibavfilterãã£ã«ã¿ãŒã衚瀺ããŸãã
-pix_fmts
å©çšå¯èœãªãã¯ã»ã«ãã©ãŒãããã衚瀺ããŸãã
-sample_fmts
å©çšå¯èœãªãµã³ãã«åœ¢åŒã衚瀺ããŸãã
-ã¬ã€ã¢ãŠã
ãã£ãã«åãšæšæºãã£ãã«ã¬ã€ã¢ãŠãã衚瀺ããŸãã
-è²
èªèãããè²ã®ååã衚瀺ããŸãã
-ãœãŒã¹ ããã€ã¹[,ãªãã·ã§ã³1=val1[,ãªãã·ã§ã³2=val2] ...]
å ¥åããã€ã¹ã®èªåæ€åºããããœãŒã¹ã衚瀺ããŸãã äžéšã®ããã€ã¹ã¯ã·ã¹ãã ãæäŸããå ŽåããããŸã-
èªåæ€åºã§ããªãäŸåãœãŒã¹åã è¿ããããªã¹ãã¯
åžžã«å®å šã§ãããšæ³å®ãããŸãã
ffmpeg -sources pulseãserver = 192.168.0.4
-ã·ã³ã¯ ããã€ã¹[,ãªãã·ã§ã³1=val1[,ãªãã·ã§ã³2=val2] ...]
åºåããã€ã¹ã®èªåæ€åºãããã·ã³ã¯ã衚瀺ããŸãã äžéšã®ããã€ã¹ã¯ã·ã¹ãã ãæäŸããå ŽåããããŸã-
èªåæ€åºã§ããªãäŸåã·ã³ã¯åã è¿ããããªã¹ãã¯æ³å®ã§ããŸãã
åžžã«å®å šã§ããããšã
ffmpeg -sinks pulseãserver = 192.168.0.4
-ãã°ã¬ãã« [ç¹°ãè¿ã+]loglevel | -v [ç¹°ãè¿ã+]loglevel
ã©ã€ãã©ãªã䜿çšãããã°ã¬ãã«ãèšå®ããŸãã ãrepeat +ããè¿œå ãããšãç¹°ãè¿ãããããšã瀺ããŸã
ãã°åºåãæåã®è¡ã«å§çž®ããŠã¯ãªããããæåŸã®ã¡ãã»ãŒãžãç¹°ãè¿ãããŸãn
ãåãã®è¡ã¯çç¥ãããŸããããªããŒããã¯åç¬ã§ã䜿çšã§ããŸããããªããŒããã䜿çšããå Žå
åç¬ã§ãäºåã®ãã°ã¬ãã«ãèšå®ãããŠããªãå Žåã¯ãããã©ã«ãã®ãã°ã¬ãã«ã䜿çšãããŸãã è€æ°ã®å Žå
ãã°ã¬ãã«ãã©ã¡ãŒã¿ãæå®ãããŠããŸãããrepeatãã䜿çšããŠããã°ã¬ãã«ã¯å€æŽãããŸããã loglevel
次ã®ããããã®å€ãå«ãæååãŸãã¯æ°å€ã§ãã
éãã -8
äœã衚瀺ããŸããã éãã«ã
ãããã¯ã 0
ããã»ã¹ã®ã¯ã©ãã·ã¥ã«ã€ãªããå¯èœæ§ã®ããèŽåœçãªãšã©ãŒã®ã¿ã衚瀺ãã
倱æã çŸåšãããã¯äœã«ã䜿çšãããŠããŸããã
èŽåœçã 8
èŽåœçãªãšã©ãŒã®ã¿ã衚瀺ããŸãã ãããã¯ãšã©ãŒã§ããããã®åŸããã»ã¹ã¯çµ¶å¯Ÿã«ã§ããŸãã
ãã®åŸç¶è¡ããŸãã
ãšã©ãŒã 16
å埩å¯èœãªãšã©ãŒãå«ããã¹ãŠã®ãšã©ãŒã衚瀺ããŸãã
èŠåã 24
ãã¹ãŠã®èŠåãšãšã©ãŒã衚瀺ããŸãã ããããæ£ãããªãããŸãã¯
äºæããªãã€ãã³ãã衚瀺ãããŸãã
æ å ±ã 32
åŠçäžã«æçãªã¡ãã»ãŒãžã衚瀺ããŸãã ããã¯èŠåãš
ãšã©ãŒã ãããããã©ã«ãå€ã§ãã
詳现ã 40
ããåé·ã§ããããšãé€ããŠããinfoããšåãã§ãã
ãããã°ã 48
ãããã°æ å ±ãå«ããã¹ãŠã衚瀺ããŸãã
çè·¡ã 56
ããã©ã«ãã§ã¯ãããã°ã©ã ã¯stderrã«ãã°ãèšé²ããŸãã端æ«ã§ã«ã©ãŒãªã³ã°ããµããŒããããŠããå Žåã¯ã
è²ã¯ããšã©ãŒãšèŠåãããŒã¯ããããã«äœ¿çšãããŸãã ãã°ã®è²ä»ãã¯ã
ç°å¢å€æ° AV_LOG_FORCE_NOCOLOR or NO_COLORããŸãã¯åŒ·å¶çã«èšå®ããããšãã§ããŸã
ç°å¢å€æ° AV_LOG_FORCE_COLORã ç°å¢å€æ°ã®äœ¿çš NO_COLOR
ã¯éæšå¥šã§ããã次ã®FFmpegããŒãžã§ã³ã§åé€ãããŸãã
-å ±åãã
å®å šãªã³ãã³ãã©ã€ã³ãšã³ã³ãœãŒã«åºåããšããååã®ãã¡ã€ã«ã«ãã³ãããŸã
"ããã°ã©ã -YYYYMMDD-HHMMSS.logã çŸåšã®ãã£ã¬ã¯ããªã«ãããŸãã ãã®ãã¡ã€ã«ã¯æ¬¡ã®å Žåã«åœ¹ç«ã¡ãŸã
ãã°ã¬ããŒãã ãŸããã-loglevelverboseããæå³ããŸãã
ç°å¢å€æ°ã®èšå® FFã¬ããŒã ã©ã®å€ã§ãåãå¹æããããŸãã ã®å Žå
å€ã¯ãïŒãã§åºåãããkey = valueã·ãŒã±ã³ã¹ã§ããããããã®ãªãã·ã§ã³ã¯ã¬ããŒãã«åœ±é¿ããŸãã
ãªãã·ã§ã³å€ã«ç¹æ®æåãŸãã¯ãªãã·ã§ã³ãå«ãŸããŠããå Žåã¯ããšã¹ã±ãŒãããå¿ èŠããããŸã
åºåãæå 'ïŒ'ïŒffmpeg-utilsããã¥ã¢ã«ã®ãåŒçšãšãšã¹ã±ãŒããã»ã¯ã·ã§ã³ãåç §ããŠãã ããïŒã
次ã®ãªãã·ã§ã³ãèªèãããŸãã
file
ã¬ããŒãã«äœ¿çšãããã¡ã€ã«åãèšå®ããŸãã ïŒ pã¯ã®ååã«å±éãããŸã
ããã°ã©ã ãïŒ tã¯ã¿ã€ã ã¹ã¿ã³ãã«å±éããã "%%"ã¯ãã¬ãŒã³ãª "ïŒ "ã«å±éãããŸã
ã¬ãã«
æ°å€ã䜿çšããŠãã°ã®è©³çŽ°ã¬ãã«ãèšå®ããŸãïŒã-loglevelããåç §ïŒã
ããšãã°ã次ã®ååã®ãã¡ã€ã«ã«ã¬ããŒããåºåããã«ã¯ ffreport.log 32ã®ãã°ã¬ãã«ã䜿çš
ïŒãã°ã¬ãã«ãæ å ±ãã®ãšã€ãªã¢ã¹ïŒïŒ
FFREPORT = file = ffreport.logïŒlevel = 32 ffmpeg-iå ¥åºå
ç°å¢å€æ°ã®è§£æã§ã®ãšã©ãŒã¯èŽåœçã§ã¯ãªããã«è¡šç€ºãããŸãã
ã¬ããŒãã
-ãããŒã®é衚瀺
å°å·ãããŒãæå¶ããŸãã
ãã¹ãŠã®FFmpegããŒã«ã¯éåžžãèäœæš©è¡šç€ºããã«ããªãã·ã§ã³ãã©ã€ãã©ãªã衚瀺ããŸã
ããŒãžã§ã³ã ãã®ãªãã·ã§ã³ã¯ããã®æ å ±ã®å°å·ãæå¶ããããã«äœ¿çšã§ããŸãã
-cpuflags ãã©ã° (å šäœçãª)
CPUãã©ã°ã®èšå®ãšã¯ãªã¢ãèš±å¯ããŸãã ãã®ãªãã·ã§ã³ã¯ãã¹ããç®çãšããŠããŸãã 䜿çšçŠæ¢
ããªããäœãããŠããã®ãããããªãéããããã¯ã
ffmpeg -cpuflags -sse + mmx..ã
ffmpeg -cpuflags mmx..ã
ffmpeg -cpuflags 0..ã
ãã®ãªãã·ã§ã³ã§å¯èœãªãã©ã°ã¯æ¬¡ã®ãšããã§ãã
x86
MMX
mmxext
SSE
sse2
sse2é ã
sse3
sse3é ã
ssse3
åå
sse4.1
sse4.2
avx
avx2
xop
fma3
fma4
3dããŠ
3dnownext
bmi1
bmi2
cmov
ARM
ã¢ãŒã v5te
armv6
armv6t2
vfp
vfpv3
ããªã³
èšå®çµäº
AAArch64
armv8
vfp
ããªã³
PowerPC
ã¢ã«ãã£ããã¯
ç¹å®ã® ããã»ããµ
ãã³ãã£ã¢ã 2
ãã³ãã£ã¢ã 3
ãã³ãã£ã¢ã 4
k6
k62
ã¢ã¹ãã³
ã¢ã¹ãã³XP
k8
-opencl_bench
ãã®ãªãã·ã§ã³ã¯ãå©çšå¯èœãªãã¹ãŠã®OpenCLããã€ã¹ã®ãã³ãããŒã¯ãè¡ããçµæãå°å·ããããã«äœ¿çšãããŸãã
ãã®ãªãã·ã§ã³ã¯ãFFmpegãã--enable-openclãã§ã³ã³ãã€ã«ãããŠããå Žåã«ã®ã¿äœ¿çšã§ããŸãã
FFmpegãã--enable-openclãã§æ§æãããŠããå Žåãã°ããŒãã«OpenCLã®ãªãã·ã§ã³
ã³ã³ããã¹ãã¯ãä»ããŠèšå®ãããŸã -opencl_optionsã ffmpeg-ã®ãOpenCLãªãã·ã§ã³ãã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
ãµããŒããããŠãããªãã·ã§ã³ã®å®å šãªãªã¹ãã«ã€ããŠã¯ãutilsããã¥ã¢ã«ãåç §ããŠãã ããã ãšãããããããã®ãªãã·ã§ã³
OpenCLã³ãŒããå®è¡ããããã«ç¹å®ã®ãã©ãããã©ãŒã ãšããã€ã¹ãéžæããæ©èœãå«ãŸããŠããŸã
ãªã³ã ããã©ã«ãã§ã¯ãFFmpegã¯æåã®ãã©ãããã©ãŒã ã®æåã®ããã€ã¹ã§å®è¡ãããŸãã ãªãã
ã°ããŒãã«OpenCLã³ã³ããã¹ãã®ãªãã·ã§ã³ã¯ããŠãŒã¶ãŒã
éžæããOpenCLããã€ã¹ãã»ãšãã©ã®ãŠãŒã¶ãŒã¯ããããæéãéžæããããšæãã§ããã
圌ãã®ã·ã¹ãã ã®ããã®OpenCLããã€ã¹ã
ãã®ãªãã·ã§ã³ã¯ãç¹å®ããããšã«ãããæãå¹ççãªæ§æã®éžæãæ¯æŽããŸã
ãŠãŒã¶ãŒã®ã·ã¹ãã ã«é©ããããã€ã¹ã çµã¿èŸŒã¿ã®ãã³ãããŒã¯ã¯ããã¹ãŠã®
OpenCLããã€ã¹ãšããã©ãŒãã³ã¹ã¯åããã€ã¹ã§æž¬å®ãããŸãã ã®ããã€ã¹
çµæãªã¹ãã¯ããªã¹ããããŠããæéã®ããã€ã¹ã§ã®ããã©ãŒãã³ã¹ã«åºã¥ããŠãœãŒããããŸã
åãã ãã®åŸããŠãŒã¶ãŒã¯åŒã³åºãããšãã§ããŸã ffmpeg æãèããããããã€ã¹ã䜿çšãã
é©åãªçµç± -opencl_options OpenCLã®æé«ã®ããã©ãŒãã³ã¹ãåŸãããã«
å éãããã³ãŒãã
æéã®OpenCLããã€ã¹ã䜿çšããäžè¬çãªäœ¿çšæ³ã«ã¯ã次ã®æé ãå«ãŸããŸãã
次ã®ã³ãã³ããå®è¡ããŸãã
ffmpeg -opencl_bench
ãã©ãããã©ãŒã IDãæžãçããŸãïŒãããã¯ã¹ïŒããã³ããã€ã¹IDïŒãã£ããã¯ã¹ïŒæåã®ããªãã¡æéã®ããã€ã¹ã®
ãªã¹ãã«ãããŸãã 次ã®ã³ãã³ãã䜿çšããŠããã©ãããã©ãŒã ãšããã€ã¹ãéžæããŸãã
ffmpeg -opencl_options platform_idx = ïŒdevice_idx = ..ã
-opencl_options ãªãã·ã§ã³ (å šäœçãª)
OpenCLç°å¢ãªãã·ã§ã³ãèšå®ããŸãã ãã®ãªãã·ã§ã³ã¯ãFFmpegã䜿çšãããŠããå Žåã«ã®ã¿äœ¿çšã§ããŸã
ã--enable-openclãã§ã³ã³ãã€ã«ãããŸãã
ãªãã·ã§ã³ ã®ãªã¹ãã§ããå¿ èŠããããŸã ããŒ=å€ 'ïŒ'ã§åºåããããªãã·ã§ã³ãã¢ã ãOpenCLãåç §ããŠãã ãã
ãµããŒããããŠãããªãã·ã§ã³ã®ãªã¹ãã«ã€ããŠã¯ãffmpeg-utilsããã¥ã¢ã«ã®ããªãã·ã§ã³ãã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
AVãªãã·ã§ã³
ãããã®ãªãã·ã§ã³ã¯ãlibavformatãlibavdeviceãããã³libavcodecã«ãã£ãŠçŽæ¥æäŸãããŸãã
ã©ã€ãã©ãªã 䜿çšå¯èœãªAVOptionã®ãªã¹ãã衚瀺ããã«ã¯ã -å©ã㊠ãªãã·ã§ã³ã 圌ãã§ã
XNUMXã€ã®ã«ããŽãªã«åããããŸãïŒ
ãžã§ããªãã¯
ãããã®ãªãã·ã§ã³ã¯ãä»»æã®ã³ã³ãããã³ãŒããã¯ããŸãã¯ããã€ã¹ã«èšå®ã§ããŸãã äžè¬çãªãªãã·ã§ã³ã¯
ã³ã³ãã/ããã€ã¹ã®AVFormatContextãªãã·ã§ã³ããã³AVCodecContextã®äžã«ãªã¹ããããŠããŸã
ã³ãŒããã¯ã®ãªãã·ã§ã³ã
ãã©ã€ããŒã
ãããã®ãªãã·ã§ã³ã¯ãç¹å®ã®ã³ã³ãããããã€ã¹ããŸãã¯ã³ãŒããã¯ã«åºæã§ãã ãã©ã€ããŒããªãã·ã§ã³
察å¿ããã³ã³ãã/ããã€ã¹/ã³ãŒããã¯ã®äžã«äžèŠ§è¡šç€ºãããŸãã
ããšãã°ãããã©ã«ãã®ID3v2.3ã®ä»£ããã«ID3v2.4ããããŒãMP3ãã¡ã€ã«ã«æžã蟌ãã«ã¯ã次ã䜿çšããŸãã
ã id3v2_ããŒãžã§ã³ MP3ãã«ããã¬ã¯ãµã®ãã©ã€ããŒããªãã·ã§ã³ïŒ
ffmpeg -i å ¥å.flac -id3v2_version 3 åºå.mp3
ãã¹ãŠã®ã³ãŒããã¯AVOptionsã¯ã¹ããªãŒã ããšã§ãããããã¹ããªãŒã æå®åãã«ã¢ã¿ããããå¿ èŠããããŸã
ãããã
æ³šïŒ -ãªãã·ã§ã³ãªã ããŒã«AVOptionsã«ã¯æ§æã䜿çšã§ããŸããã -ãªãã·ã§ã³ 0/-ãªãã·ã§ã³ 1.
泚ïŒv / a / sãå é ã«è¿œå ããŠã¹ããªãŒã ããšã®AVOptionsãæå®ããå€ãææžåãããŠããªãæ¹æ³
ãªãã·ã§ã³åã¯å»æ¢ããããŸããªãåé€ãããŸãã
ã¡ã€ã³ ãªãã·ã§ã³
-x å¹
è¡šç€ºå¹ ã匷å¶ããŸãã
-y é«ã
衚瀺ãããé«ãã匷å¶ããŸãã
-s ãµã€ãº
ããããŒãå«ãŸãªããããªã«å¿ èŠãªãã¬ãŒã ãµã€ãºïŒWxHãŸãã¯çç¥åœ¢ïŒãèšå®ããŸã
çã®YUVã®ãããªãã¬ãŒã ãµã€ãºã§ã ãã®ãªãã·ã§ã³ã¯å»æ¢ããããã©ã€ããŒãã«ãªããŸãã
ãªãã·ã§ã³ã«ã€ããŠã¯ã-video_sizeããè©Šããã ããã
-fs ãã«ã¹ã¯ãªãŒã³ã¢ãŒãã§èµ·åããŸãã
-an é³å£°ãç¡å¹ã«ããŸãã
-vn ãããªãç¡å¹ã«ããŸãã
-sn åå¹ãç¡å¹ã«ããŸãã
-NS æçš¿ãã
æ¢ã æçš¿ããã ã»ãšãã©ã®åœ¢åŒã§ã¯æ£ç¢ºã«æ€çŽ¢ããããšã¯ã§ããªãããã åçãã
æãè¿ãã·ãŒã¯ãã€ã³ãã«ã·ãŒã¯ããŸã æçš¿ãã.
æçš¿ãã æéã®æå®ã§ããå¿ èŠããããŸãããåç §ããŠãã ããã ã Time ãã¥ã¬ãŒã·ã§ã³ in ã
ffmpeg-utils(1) ããã¥ã¢ã«.
-t ãã¥ã¬ãŒã·ã§ã³
ãã¬ã€ ãã¥ã¬ãŒã·ã§ã³ ãªãŒãã£ãª/ãããªã®ç§ã
ãã¥ã¬ãŒã·ã§ã³ æéã®æå®ã§ããå¿ èŠããããŸãããåç §ããŠãã ããã ã Time ãã¥ã¬ãŒã·ã§ã³ in ã
ffmpeg-utils(1) ããã¥ã¢ã«.
-ãã€ã
ãã€ãåäœã§ã·ãŒã¯ããŸãã
-nodisp
ã°ã©ãã£ãã¯è¡šç€ºãç¡å¹ã«ããŸãã
-f FMT
ãã©ãŒãããã匷å¶ããŸãã
-window_title ã¿ã€ãã«
ãŠã£ã³ããŠã¿ã€ãã«ãèšå®ããŸãïŒããã©ã«ãã¯å ¥åãã¡ã€ã«åã§ãïŒã
-ã«ãŒã æ°
æ ç»ã®åçãã«ãŒãããŸãåæ°ã 0ã¯æ°žé ãæå³ããŸãã
-ã·ã§ãŒã¢ãŒã ã¢ãŒã
䜿çšãã衚瀺ã¢ãŒããèšå®ããŸãã å©çšå¯èœãªå€ ã¢ãŒã ã«ã¯æ¬¡ã®å€ããããŸã:
0, ãããª
ãããªã衚瀺ãã
1, 波浪
ãªãŒãã£ãªãŠã§ãŒãã衚瀺ãã
2, rdft
RDFTã䜿çšããŠå¯èŽåšæ³¢æ°åž¯åã衚瀺ããïŒïŒéïŒå®é¢æ£ããŒãªãšå€æïŒ
ããã©ã«ãå€ã¯ãvideoãã§ãããããªãååšããªããåçã§ããªãå Žåããrdftãã¯
èªåçã«éžæãããŸãã
ããŒãæŒããšãå©çšå¯èœãªè¡šç€ºã¢ãŒããã€ã³ã¿ã©ã¯ãã£ãã«åãæ¿ããããšãã§ããŸã w.
-vf ãã£ã«ã¿ã°ã©ã
ã§æå®ããããã£ã«ã¿ãŒã°ã©ããäœæããŸã ãã£ã«ã¿ã°ã©ã ããã䜿çšããŠãããªã¹ããªãŒã ããã£ã«ã¿ãªã³ã°ããŸãã
ãã£ã«ã¿ã°ã©ã ã¹ããªãŒã ã«é©çšãããã£ã«ã¿ãŒã°ã©ãã®èª¬æã§ããã
åäžã®ãããªå ¥åãšåäžã®ãããªåºåã ãã£ã«ã¿ã°ã©ãã§ã¯ãå ¥åã¯
ã©ãã«ãinãã«é¢é£ä»ããããã©ãã«ãoutããžã®åºåã ffmpegãåç §ããŠãã ãã-
ãã£ã«ã¿ã°ã©ãã®æ§æã®è©³çŽ°ã«ã€ããŠã¯ããã£ã«ã¿ã®ããã¥ã¢ã«ãåç §ããŠãã ããã
ãã®ãã©ã¡ãŒã¿ãŒãè€æ°åæå®ããŠãæå®ãããã©ã¡ãŒã¿ãŒã埪ç°ãããããšãã§ããŸã
ããŒãæŒããŠè¡šç€ºã¢ãŒããšäžç·ã«ãã£ã«ã¿ãŒã°ã©ã w.
-af ãã£ã«ã¿ã°ã©ã
ãã£ã«ã¿ã°ã©ã å ¥åãªãŒãã£ãªã«é©çšãããã£ã«ã¿ãŒã°ã©ãã®èª¬æã§ãã 䜿çš
ãªãã·ã§ã³ã-filtersãã䜿çšããŠã䜿çšå¯èœãªãã¹ãŠã®ãã£ã«ã¿ãŒïŒãœãŒã¹ãšã·ã³ã¯ãå«ãïŒã衚瀺ããŸãã
-i å ¥åãã¡ã€ã«
èªã å ¥åãã¡ã€ã«.
é«æ©èœ ãªãã·ã§ã³
-pix_fmt 圢åŒã§ã¢ãŒã«ã€ããããããžã§ã¯ããä¿åããŸãïŒ
ãã¯ã»ã«ãã©ãŒããããèšå®ããŸãã ãã®ãªãã·ã§ã³ã¯éæšå¥šã«ãªãããã©ã€ããŒããªãã·ã§ã³ãåªå ãããŸããè©ŠããŠã¿ãŠãã ãã
-pixel_formatã
-çµ±èš
ããã€ãã®åççµ±èšãå°å·ããŸããç¹ã«ãã¹ããªãŒã ã®ç¶ç¶æéãã³ãŒããã¯ã衚瀺ããŸã
ãã©ã¡ãŒã¿ãã¹ããªãŒã å ã®çŸåšã®äœçœ®ãããã³ãªãŒãã£ãª/ãããªã®åæ
ããªããã ããã©ã«ãã§ãªã³ã«ãªã£ãŠããŸããæ瀺çã«ç¡å¹ã«ããã«ã¯ãã-nostatsããæå®ããå¿ èŠããããŸãã
-é«é
ä»æ§ã«æºæ ããŠããªãæé©åã
-genpts
ptsãçæããŸãã
- åæ type
ãã¹ã¿ãŒã¯ããã¯ããªãŒãã£ãªïŒ "type = audio"ïŒããããªïŒ "type = video"ïŒããŸãã¯å€éšã«èšå®ããŸã
ïŒ "type = ext"ïŒã ããã©ã«ãã¯ãªãŒãã£ãªã§ãã ãã¹ã¿ãŒã¯ããã¯ã¯ããªãŒãã£ãªãããªãå¶åŸ¡ããããã«äœ¿çšãããŸã
åæã ã»ãšãã©ã®ã¡ãã£ã¢ãã¬ãŒã€ãŒã¯ãªãŒãã£ãªããã¹ã¿ãŒã¯ããã¯ãšããŠäœ¿çšããŸãããå Žåã«ãã£ãŠã¯
ïŒã¹ããªãŒãã³ã°ãŸãã¯é«å質ã®æŸéïŒãããå€æŽããå¿ èŠããããŸãã ãã®ãªãã·ã§ã³ã¯
äž»ã«ãããã°ç®çã§äœ¿çšãããŸãã
-ast audio_stream_specifier
æå®ãããã¹ããªãŒã æå®åã䜿çšããŠãç®çã®ãªãŒãã£ãªã¹ããªãŒã ãéžæããŸãã ã¹ããªãŒã
æå®åã«ã€ããŠã¯ã Stream æå®å ç« ã ãã®ãªãã·ã§ã³ããªãå Žå
æå®ãããšããæé«ã®ããªãŒãã£ãªã¹ããªãŒã ããã§ã«éžæãããŠããããã°ã©ã ã§éžæãããŸã
ãããªã¹ããªãŒã ã
-vst video_stream_specifier
æå®ãããã¹ããªãŒã æå®åã䜿çšããŠãç®çã®ãããªã¹ããªãŒã ãéžæããŸãã ã¹ããªãŒã
æå®åã«ã€ããŠã¯ã Stream æå®å ç« ã ãã®ãªãã·ã§ã³ããªãå Žå
æå®ãããšããæè¯ã®ããããªã¹ããªãŒã ãéžæãããŸãã
-sst subject_stream_specifier
æå®ãããã¹ããªãŒã æå®åã䜿çšããŠãç®çã®åå¹ã¹ããªãŒã ãéžæããŸãã ã¹ããªãŒã
æå®åã«ã€ããŠã¯ã Stream æå®å ç« ã ãã®ãªãã·ã§ã³ããªãå Žå
æå®ããããæé«ã®ãåå¹ã¹ããªãŒã ã¯ããã§ã«ã®ããã°ã©ã ã§éžæãããŠããŸã
éžæãããããªãŸãã¯ãªãŒãã£ãªã¹ããªãŒã ã
-èªåçµäº
ãããªã®åçãçµäºãããçµäºããŸãã
-exitonkeydown
ããããã®ããŒãæŒããããçµäºããŸãã
-exitonmousedown
ããŠã¹ãã¿ã³ãæŒããããçµäºããŸãã
-ã³ãŒããã¯ïŒã¡ãã£ã¢æå®å ã³ãŒããã¯å
ã«ãã£ãŠèå¥ãããã¹ããªãŒã ã«ç¹å®ã®ãã³ãŒããŒã®å®è£ ã匷å¶ããŸã ã¡ãã£ã¢æå®å,
ããã¯ãå€ãaãïŒãªãŒãã£ãªïŒããvãïŒãããªïŒãããã³ãsããµãã¿ã€ãã«ãæ³å®ã§ããŸãã
-ã³ãŒãã㯠ã³ãŒããã¯å
ç¹å®ã®ãªãŒãã£ãªãã³ãŒããŒã匷å¶ããŸãã
-vã³ãŒãã㯠ã³ãŒããã¯å
ç¹å®ã®ãããªãã³ãŒããŒã匷å¶ããŸãã
-scodec ã³ãŒããã¯å
ç¹å®ã®åå¹ãã³ãŒããŒã匷å¶ããŸãã
-èªåå転
ãã¡ã€ã«ã®ã¡ã¿ããŒã¿ã«åŸã£ãŠãããªãèªåçã«å転ããŸãã ããã©ã«ãã§æå¹ã«ãªã£ãŠããŸãã
-èªåå転ãªã ç¡å¹ã«ããŸãã
-ãã¬ãŒã ãããã
ãããªãåæããŠããªãå Žåã¯ããããªãã¬ãŒã ãããããããŸãã ãã¹ã¿ãŒã¯ããã¯ã
ãããªã«èšå®ãããŠããŸããã ãã®ãªãã·ã§ã³ã䜿çšããŠããã¹ãŠã®ãã¹ã¿ãŒã¯ããã¯ã®ãã¬ãŒã ãããããæå¹ã«ããŸã
ãœãŒã¹ãäœ¿çš -noframedrop ç¡å¹ã«ããŸãã
-infbuf
å ¥åãããã¡ãµã€ãºãå¶éããªãã§ãã ãããå ¥åããã§ããã ãå€ãã®ããŒã¿ãèªã¿åããŸãã
åºæ¥ãã ãæ©ãã ããŒã¿ããããããããå¯èœæ§ã®ãããªã¢ã«ã¿ã€ã ã¹ããªãŒã ã§ã¯ãããã©ã«ãã§æå¹ã«ãªã£ãŠããŸã
æéå ã«èªãŸãªãå Žåã ãã®ãªãã·ã§ã³ã䜿çšããŠããã¹ãŠã®å ¥åã«å¯ŸããŠç¡éãããã¡ãæå¹ã«ããŸãã
-noinfbuf ç¡å¹ã«ããŸãã
äžæ¹ã åç
q, ESC
çµäºããã
f ãã«ã¹ã¯ãªãŒã³åãæ¿ãã
p, SPC
äžæåæ¢ããã
a çŸåšã®ããã°ã©ã ã®ãªãŒãã£ãªãã£ã³ãã«ã埪ç°ãããŸãã
v ãããªãã£ã³ãã«ã埪ç°ãããŸãã
t çŸåšã®çªçµã®åå¹ãã£ã³ãã«ã埪ç°ãããŸãã
c ãµã€ã¯ã«ããã°ã©ã ã
w ãããªãã£ã«ã¿ãŒãŸãã¯ã·ã§ãŒã¢ãŒãã埪ç°ãããŸãã
s 次ã®ãã¬ãŒã ã«é²ã¿ãŸãã
ã¹ããªãŒã ããŸã äžæåæ¢ãããŠããªãå Žåã¯äžæåæ¢ãã次ã®ãããªãã¬ãŒã ã«ç§»åããŠãäžæåæ¢ããŸãã
å·Šå³
åŸæ¹/åæ¹ã«10ç§ã·ãŒã¯ããŸãã
ã¢ããããŠã³
åŸæ¹/åæ¹ã«1åéã·ãŒã¯ããŸãã
ããŒãž ããŠã³/ããŒãž up
å/次ã®ç« ãæ¢ããŠãã ããã ãŸãã¯ãã£ãã¿ãŒããªãå ŽååŸæ¹/åæ¹ã«ã·ãŒã¯
10åã
ããŠã¹ ã¯ãªãã¯
å¹ ã®ç«¯æ°ã«å¯Ÿå¿ãããã¡ã€ã«å ã®ããŒã»ã³ããŒãžãæ±ããŸãã
æ§æ
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãFFmpegã©ã€ãã©ãªãšããŒã«ã§äœ¿çšãããæ§æãšåœ¢åŒã«ã€ããŠèª¬æããŸãã
åŒçš & éãã
FFmpegã¯ãæ瀺çã«æå®ãããŠããªãéãã次ã®åŒçšãšãšã¹ã±ãŒãã®ã¡ã«ããºã ãæ¡çšããŠããŸãã
次ã®ã«ãŒã«ãé©çšãããŸãã
· ' & \ ç¹æ®æåã§ãïŒããããåŒçšç¬Šãšãšã¹ã±ãŒãã«äœ¿çšãããŸãïŒã ã®
ãããã«å ããŠãç¹å®ã®ãã®ã«å¿ããŠä»ã®ç¹æ®æåããããããããŸãã
ãšã¹ã±ãŒããšã¯ã©ãŒãã䜿çšãããæ§æã
ã»ç¹æ®æåã®åã« \.
ã»ã§å²ãŸãããã¹ãŠã®æå '' 解æãããæååã«æåéãå«ãŸããŸãã NS
åŒçšæå ' ããèªäœãåŒçšããããšã¯ã§ããªãã®ã§ãåŒçšãéããŠ
ãããéããã
ã»å é ãšæ«å°Ÿã®ç©ºçœã¯ããšã¹ã±ãŒããŸãã¯åŒçšç¬Šã§å²ãŸããŠããªãéããããåé€ãããŸãã
解æãããæååã
ã³ãã³ãã©ã€ã³ãŸãã¯ã³ãã³ãã©ã€ã³ã䜿çšããå Žåã¯ãXNUMXçªç®ã®ã¬ãã«ã®ãšã¹ã±ãŒããè¿œå ããå¿ èŠãããå Žåãããããšã«æ³šæããŠãã ããã
æ¡çšãããã·ã§ã«èšèªã®æ§æã«äŸåããã¹ã¯ãªããã
ã§å®çŸ©ãããŠããé¢æ°ãav_get_tokenã libavutil / avstring.h ããŒã¯ã³ã®è§£æã«äœ¿çšã§ããŸã
äžã§å®çŸ©ãããã«ãŒã«ã«åŸã£ãŠåŒçšãŸãã¯ãšã¹ã±ãŒããããŸãã
ããŒã« ããŒã«/ ffescape FFmpegãœãŒã¹ããªãŒã§èªåçã«åŒçšãŸãã¯
ã¹ã¯ãªããå ã®æååããšã¹ã±ãŒãããŸãã
äŸ
ã»ã 'ãç¹æ®æåãå«ãæååãCrimed'Amourãããšã¹ã±ãŒãããŸãã
ç¯çœªd \ 'ã¢ã ãŒã«
ã»äžèšã®æååã«ã¯åŒçšç¬Šãå«ãŸããŠãããããåŒçšç¬Šã§å²ãå Žåã¯ã 'ãããšã¹ã±ãŒãããå¿ èŠããããŸãã
'Crime d' \ '' Amour '
ã»åŒçšç¬Šã䜿çšããŠå é ãŸãã¯æ«å°Ÿã®ç©ºçœãå«ããŸãã
'ãã®æååã¯ç©ºçœã§éå§ããã³çµäºããŸã'
ã»ãšã¹ã±ãŒããšåŒçšã¯äžç·ã«æ··åããããšãã§ããŸãïŒ
'æåå' \ 'string \' 'ã¯æåå'
ã»ãªãã©ã«ãå«ãã \ ãšã¹ã±ãŒããŸãã¯åŒçšã®ããããã䜿çšã§ããŸãã
'cïŒ\ foo'ã¯cïŒ\\ fooãšæžãããšãã§ããŸã
æ¥ä»
åãå ¥ããããæ§æã¯æ¬¡ã®ãšããã§ãã
[ïŒYYYY-MM-DD | YYYYMMDDïŒ[T | t | ]]ïŒïŒHHïŒMMïŒSS [.m ...]]]ïŒ|ïŒHHMMSS [.m ...]]]ïŒïŒ[Z]
ä»
å€ããnowãã®å ŽåãçŸåšã®æéãããããŸãã
Zãè¿œå ãããŠããªãéããæéã¯çŸå°æéã§ããè¿œå ãããŠããå ŽåãUTCãšããŠè§£éãããŸãã ã®å Žå
year-month-dayã®éšåã¯æå®ãããŠããŸããããçŸåšã®year-month-dayãåããŸãã
Time ãã¥ã¬ãŒã·ã§ã³
æéãè¡šãããã«åãå ¥ããããæ§æã¯XNUMXã€ãããŸãã
[-] [ ïŒ] ïŒ [ã ...]
HH æéæ°ãè¡šãã MM æ倧2æ¡ã®åæ°ãããã³
SS æ倧2æ¡ã®ç§æ°ã NS m æåŸã«XNUMXé²æ°ãè¡šããŸã
ã®å€ SS.
or
[-] + [ã ...]
S ãªãã·ã§ã³ã®å°æ°éšåã䜿çšããŠãç§æ°ãè¡šããŸã m.
ã©ã¡ãã®åŒã§ãããªãã·ã§ã³ - è² ã®æéã瀺ããŸãã
äŸ
次ã®äŸã¯ãã¹ãŠæå¹ãªæéã§ãã
55 55 seconds
12:03:45
12æé03å45ç§
23.189
23.189 seconds
ãã㪠ãµã€ãº
ãœãŒã¹ãããªã®ãµã€ãºãæå®ããŸããããã¯ããã©ãŒã ã®æååã®å ŽåããããŸãã å¹ xé«ãããŸãã¯
ãµã€ãºã®ç¥ç§°ã®ååã
次ã®ç¥èªãèªèãããŸãã
NTSC
720x480
ãã« 720x576
qntsc
352x240
qpal
352x288
sntsc
640x480
å²ãã
768x576
æ ç»
352x240
NTSCãã£ã«ã
352x240
ã¹ã¯ã·ã
128x96
qcif
176x144
cif 352x288
4cif
704x576
16cif
1408x1152
qqvga
160x120
qvga
320x240
VGA 640x480
VGA
800x600
xga 1024x768
ãŠã¬
1600x1200
qxga
2048x1536
sxga
1280x1024
qsxga
2560x2048
hsxga
5120x4096
ãã
852x480
wxga
1366x768
wsxga
1600x1024
ãŠãŒã¬
1920x1200
ãŠã©ãã«
2560x1600
wqsxga
3200x2048
wquxga
3840x2400
wsxga
6400x4096
ãŠã¬
7680x4800
cg 320x200
EGA 640x350
hd480
852x480
hd720
1280x720
hd1080
1920x1080
2k 2048x1080
2kãã©ãã
1998x1080
2kã¹ã³ãŒã
2048x858
4k 4096x2160
4kãã©ãã
3996x2160
4kã¹ã³ãŒã
4096x1716
Nhd 640x360
HQVGA
240x160
wqvga
400x240
fwqvga
432x240
é«è§£å床
480x320
QHD 960x540
2kdci
2048x1080
4kdci
4096x2160
ããŒhd2160
3840x2160
ããŒhd4320
7680x4320
ãã㪠ç
XNUMXç§ãããã«çæããããã¬ãŒã æ°ãšããŠè¡šããããããªã®ãã¬ãŒã ã¬ãŒããæå®ããŸãã
次ã®åœ¢åŒã®æååã§ããå¿ èŠããããŸã ãã¬ãŒã ã¬ãŒã_çªå·/ãã¬ãŒã ã¬ãŒã_ãã³ãæŽæ°ã
æµ®åå°æ°ç¹æ°ãŸãã¯æå¹ãªãããªãã¬ãŒã ã¬ãŒãã®ç¥èªã
次ã®ç¥èªãèªèãããŸãã
NTSC
30000/1001
ãã« 25/1
qntsc
30000/1001
qpal
25/1
sntsc
30000/1001
å²ãã
25/1
æ ç»
24/1
NTSCãã£ã«ã
24000/1001
æ¯
æ¯çã¯ãåŒãšããŠããŸãã¯æ¬¡ã®åœ¢åŒã§è¡šãããšãã§ããŸãã åå:åæ¯.
ç¡éïŒ1/0ïŒãŸãã¯è² ã®å€ã®æ¯çã¯æå¹ãšèŠãªãããããã次ã®ããã«ããå¿ èŠãããããšã«æ³šæããŠãã ããã
ãããã®å€ãé€å€ããå Žåã¯ãæ»ãå€ã確èªããŠãã ããã
æªå®çŸ©ã®å€ã¯ãã0ïŒ0ãã®æååã䜿çšããŠè¡šãããšãã§ããŸãã
è²
以äžã§å®çŸ©ãããŠããè²ã®ååïŒå€§æåãšå°æåãåºå¥ããªãäžèŽïŒãŸãã¯
ã[0x |ïŒ] RRGGBB [AA]ãã·ãŒã±ã³ã¹ããã®åŸã«@ãšãã¢ã«ãã¡ãè¡šãæååãç¶ãå ŽåããããŸãã
ã³ã³ããŒãã³ãã
ã¢ã«ãã¡ã³ã³ããŒãã³ãã¯ãã0xããšããã«ç¶ãXNUMXé²æ°ãŸãã¯ãŸãã¯
äžéæ床ã®å€ãè¡šã0.0ã1.0ã®XNUMXé²æ°ïŒ0x00 or 0.0
å®å šã«éæã§ããããšãæå³ããŸã 0xff or 1.0 å®å šã«äžéæïŒã ã¢ã«ãã¡ã³ã³ããŒãã³ãã
æå®ãããŠããŸãã 0xff æ³å®ãããŸãã
æåå ã©ã³ãã ã©ã³ãã ãªè²ã«ãªããŸãã
次ã®è²ã®ååãèªèãããŸãã
ã¢ãªã¹ãã«ãŒ
0xF0F8FF
ã¢ã³ãã£ãŒã¯ãã¯ã€ã
0xFAEBD7
ã¢ã¯ã¢
0x00FFFF
ã¢ã¯ã¢ããªã³
0x7FFFD4
Azure
0xF0FFFF
ããŒãžã¥
0xF5F5DC
ãã¹ã¯
0xFFE4C4
ãã©ãã¯
0x000000
ãã©ã³ããã¢ãŒã¢ã³ã
0xFFEBCD
é
0x0000FF
é玫è²
0x8A2BE2
ãã©ãŠã³
0xA52A2A
burlywood
0xDEB887
ã«ããããã«ãŒ
0x5F9EA0
ã·ã£ã«ããªã¥ãŒãº
0x7FFF00
ãã§ã³ã¬ãŒã
0xD2691E
ã³ãŒã©ã«
0xFF7F50
ã³ãŒã³ãã©ã¯ãŒãã«ãŒ
0x6495ED
Cornsilk
0xFFF8DC
ççŽ
0xDC143C
ã·ã¢ã³
0x00FFFF
æ¿çŽº
0x00008B
ããŒã¯ã·ã¢ã³
0x008B8B
ããŒã¯ãŽãŒã«ãã³ããã
0xB8860B
æç°è²
0xA9A9A9
æ¿ãç·è²
0x006400
ããŒã¯ã«ãŒã
0xBDB76B
ããŒã¯ããŒã³ã¿
0x8B008B
ããŒã¯ãªãªãŒãã°ãªãŒã³
0x556B2F
ããŒã¯ãªã¬ã³ãž
0xFF8C00
ããŒã¯ãªãŒããã
0x9932CC
æèµ€è²
0x8B0000
ããŒã¯ãµãŒã¢ã³
0xE9967A
ããŒã¯ã·ãŒã°ãªãŒã³
0x8FBC8F
ããŒã¯ã¹ã¬ãŒããã«ãŒ
0x483D8B
DarkSlateGray
0x2F4F4F
ããŒã¯ã¿ãŒã³ã€ãº
0x00CED1
ããŒã¯ãã€ãªã¬ãã
0x9400D3
æ·±ããã³ã¯
0xFF1493
DeepSkyBlue
0x00BFFF
DimGray
0x696969
ããžã£ãŒãã«ãŒ
0x1E90FF
èç«ã¬ã³ã¬
0ÃB22222
ãããŒã©ã«ãã¯ã€ã
0xFFFAF0
ç·ã®æ£®æ
0x228B22
ãã¯ã·ã¢
0xFF00FF
ã²ã€ã³ãºãã
0xDCDCDC
ãŽãŒã¹ããã¯ã€ã
0xF8F8FF
ãŽãŒã«ã
0xFFD700
ãŽãŒã«ãã³ããã
0xDAA520
ã°ã¬ãŒ
0x808080
ã°ãªãŒã³
0x008000
é»ç·
0xADFF2F
çé²
0xF0FFF0
ãããã³ã¯
0xFF69B4
ã€ã³ãã£ã¢ã³ã¬ãã
0xCD5C5C
ã€ã³ãžãŽ
0x4B0082
象ç
0xFFFFF0
ã«ãŒã
0xF0E68C
ã©ãã³ããŒ
0xE6E6FA
ã©ãã³ããŒãã©ãã·ã¥
0xFFF0F5
èçç·
0x7CFC00
ã¬ã¢ã³ã·ãã©ã³
0xFFFACD
ã©ã€ããã«ãŒ
0xADD8E6
LightCoral
0xF08080
ã©ã€ãã·ã¢ã³
0xE0FFFF
å ãŽãŒã«ãã³ãããé»è²
0xFAFAD2
ã©ã€ãã°ãªãŒã³
0x90EE90
ã©ã€ãã°ã¬ãŒ
0xD3D3D3
ã©ã€ããã³ã¯
0xFFB6C1
ã©ã€ããµãŒã¢ã³
0xFFA07A
LightSeaGreen
0x20B2AA
LightSkyBlue
0x87CEFA
LightSlateGray
0x778899
LightSteelBlue
0xB0C4DE
æããé»è²
0xFFFFE0
ã©ã€ã
0x00FF00
ã©ã€ã ã°ãªãŒã³
0x32CD32
ãªãã³
0xFAF0E6
ããŒã³ã¿
0xFF00FF
ãã«ãŒã³
0x800000
äžã¢ã¯ã¢ããªã³
0x66CDAA
ããã£ã¢ã ãã«ãŒ
0x0000CD
ããã£ã¢ã ãªãŒããã
0xBA55D3
ããã£ã¢ã ããŒãã«
0x9370D8
ããã£ã¢ã ã·ãŒã°ãªãŒã³
0x3CB371
MediumSlateBlue
0x7B68EE
ããã£ã¢ã ã¹ããªã³ã°ã°ãªãŒã³
0x00FA9A
ããã£ã¢ã ã¿ãŒã³ã€ãº
0x48D1CC
ããã£ã¢ã ãã€ãªã¬ããã¬ãã
0xC71585
ããããã€ããã«ãŒ
0x191970
ãã³ãã¯ãªãŒã
0xF5FFFA
ãã¹ãã£ããŒãº
0xFFE4E1
ã¢ã«ã·ã³
0xFFE4B5
ããããã¯ã€ã
0xFFããã
ãã€ããŒ
0x000080
ãªãŒã«ãã¬ãŒã¹
0xFDF5E6
ãªãªãŒã
0x808000
Olivedrab
0x6B8E23
ãªã¬ã³ãž
0xFFA500
ãªã¬ã³ãžã¬ãã
0xFF4500
è
0xDA70D6
ããŒã«ãŽãŒã«ãã³ããã
0xEEE8AA
palegreen
0x98FB98
æ·¡ãã¿ãŒã³ã€ãº
0xAEEEE
ããŒã«ãã€ãªã¬ããã¬ãã
0xD87093
ããã€ã€ãã€ãã
0xFFEFD5
ããŒããã
0xFFDAB9
ãã«ãŒ
0xCD853F
ãã³ã¯
0xFFC0CB
ãã©ã
0xDDA0DD
ããŠããŒãã«ãŒ
0xB0E0E6
ããŒãã«
0x800080
ã¬ãã 0xFF0000
ããŒãžãŒãã©ãŠã³
0xBC8F8F
ãã€ã€ã«ãã«ãŒ
0x4169E1
Saddlebrown
0x8B4513
ãµãŒã¢ã³
0xFA8072
SandyBrown
0xF4A460
æµ·ç·
0x2E8B57
ã·ãŒã·ã§ã«
0xFFF5EE
ã·ãšã
0xA0522D
ã·ã«ããŒ
0xC0C0C0
空è²
0x87CEEB
ã¹ã¬ãŒããã«ãŒ
0x6A5ACD
ã¹ã¬ãŒãã°ã¬ãŒ
0x708090
éª
0xFFFAFA
ã¹ããªã³ã°ã°ãªãŒã³
0x00FF7F
ã¹ããŒã«ãã«ãŒ
0x4682B4
(ãã£ãã¢ã³ã»ã¿ã³) 0xD2B48C
ãã£ãŒã«
0x008080
ã¢ã¶ã
0xD8BFD8
ããã
0xFF6347
ã¿ãŒã³ã€ãº
0x40E0D0
ãã€ãªã¬ãã
0xEE82EE
å°éºŠ
0xF5DEB3
ãã¯ã€ã
0xFFFFFF
çœãç
0xF5F5F5
ã€ãšããŒ
0xFFFF00
é»ç·
0x9ACD32
ãã£ãã« ã¬ã€ã¢ãŠã
ãã£ãã«ã¬ã€ã¢ãŠãã¯ããã«ããã£ãã«å ã®ãã£ãã«ã®ç©ºéé 眮ãæå®ããŸã
ãªãŒãã£ãªã¹ããªãŒã ã ãã£ãã«ã¬ã€ã¢ãŠããæå®ããããã«ãFFmpegã¯ç¹å¥ãªæ§æãå©çšããŸãã
以äžã®è¡šã«ç€ºãããã«ãåã ã®ãã£ãã«ã¯IDã§èå¥ãããŸãã
FL åæ¹å·ŠåŽ
FR æ£é¢å³
FC ããã³ãã»ã³ã¿ãŒ
LFE äœé »åºŠ
BL å·ŠåŸã
BR å³ã«æ»ã
FLC ããã³ãå·Šäžå€®
FRC äžéå³æŽŸ
BC ããã¯ã»ã³ã¿ãŒ
SL å·ŠåŽ
SR å³åŽ
TC ãããã»ã³ã¿ãŒ
TFL å·Šäž
TFC ãããããã³ãã»ã³ã¿ãŒ
TFR å³äž
TBL å·Šäž
æªå® ãããããã¯ã»ã³ã¿ãŒ
TBR å³äž
DL å·ŠããŠã³ããã¯ã¹
DR å³ããŠã³ããã¯ã¹
WL å·Šã«åºã
WR å³ã«åºã
SDL çå·Šãå²ã
SDR çŽæ¥å³ãå²ã
LFE2
äœåšæ³¢2
æšæºã®ãã£ãã«ã¬ã€ã¢ãŠãæ§æã¯ã次ã®èå¥åã䜿çšããŠæå®ã§ããŸãã
ã¢ã
FC
ã¹ãã¬ãª
FL + FR
2.1 FL + FR + LFE
3.0 FL + FR + FC
3.0ïŒæ»ãïŒ
FL + FR + BC
4.0 FL + FR + FC + BC
ã¯ã¯ãã
FL + FR + BL + BR
ã¯ã¯ããïŒãµã€ãïŒ
FL + FR + SL + SR
3.1 FL + FR + FC + LFE
5.0 FL + FR + FC + BL + BR
5.0ïŒãµã€ãïŒ
FL + FR + FC + SL + SR
4.1 FL + FR + FC + LFE + BC
5.1 FL + FR + FC + LFE + BL + BR
5.1ïŒãµã€ãïŒ
FL + FR + FC + LFE + SL + SR
6.0 FL + FR + FC + BC + SL + SR
6.0(ããã³ã)
FL + FR + FLC + FRC + SL + SR
å è§
FL + FR + FC + BL + BR + BC
6.1 FL + FR + FC + LFE + BC + SL + SR
6.1 FL + FR + FC + LFE + BL + BR + BC
6.1(ããã³ã)
FL + FR + LFE + FLC + FRC + SL + SR
7.0 FL + FR + FC + BL + BR + SL + SR
7.0(ããã³ã)
FL + FR + FC + FLC + FRC + SL + SR
7.1 FL + FR + FC + LFE + BL + BR + SL + SR
7.1ïŒã¯ã€ãïŒ
FL + FR + FC + LFE + BL + BR + FLC + FRC
7.1ïŒã¯ã€ããµã€ãïŒ
FL + FR + FC + LFE + FLC + FRC + SL + SR
å «è§åœ¢
FL + FR + FC + BL + BR + BC + SL + SR
ããŠã³ããã¯ã¹
DL + DR
ã«ã¹ã¿ã ãã£ãã«ã¬ã€ã¢ãŠãã¯ãã+ããŸãã¯ã|ãã§åºåã£ãäžé£ã®çšèªãšããŠæå®ã§ããŸãã
åçšèªã¯æ¬¡ã®ããã«ãªããŸãã
ã»æšæºãã£ãã«ã¬ã€ã¢ãŠãã®ååïŒäŸïŒ ã¢ã, ã¹ãã¬ãª, 4.0, ã¯ã¯ãã, 5.0ãªã©ïŒ
ã»åäžãã£ãã«ã®ååïŒäŸïŒ FL, FR, FC, LFEãªã©ïŒ
ã»ãã£ãã«ã®æ°ïŒXNUMXé²æ°ïŒããªãã·ã§ã³ã§ãcããç¶ããããã©ã«ããçæãããŸãã
ãã®æ°ã®ãã£ãã«ã®ãã£ãã«ã¬ã€ã¢ãŠãïŒé¢æ°ãåç §ïŒ
"av_get_default_channel_layout"ïŒ
ã»ã0xãã§å§ãŸãXNUMXé²æ°ã®ãã£ãã«ã¬ã€ã¢ãŠããã¹ã¯ïŒã®ãAV_CH_ *ããã¯ããåç §ïŒ
libavutil / channel_layout.h.
libavutilããŒãžã§ã³53以éãæ«å°Ÿã®æåãcãã§çªå·ãæå®ããŸãã
ãã£ãã«ãå¿ èŠã«ãªããŸããããã£ãã«ã¬ã€ã¢ãŠããã¹ã¯ã¯æ¬¡ã®ããã«æå®ããããšãã§ããŸãã
XNUMXé²æ°ïŒãcããåŸã«ç¶ããªãå Žåã®ã¿ïŒã
ã§å®çŸ©ãããŠããé¢æ°ãav_get_channel_layoutããåç §ããŠãã ããã libavutil / channel_layout.h.
è¡šçŸ è©äŸ¡
ç®è¡åŒãè©äŸ¡ãããšããFFmpegã¯å éšæ°åŒãšããªã¥ãšãŒã¿ãŒã䜿çšããŸãã
ãéããŠå®è£ libavutil / eval.h ã€ã³ã¿ãã§ãŒã¹ã
åŒã«ã¯ãåé ãäºé æŒç®åãå®æ°ãããã³é¢æ°ãå«ããããšãã§ããŸãã
XNUMXã€ã®è¡šçŸ åŒ1 & åŒ2 çµã¿åãããŠå¥ã®è¡šçŸã圢æããããšãã§ããŸã "åŒ1;åŒ2".
åŒ1 & åŒ2 ãé çªã«è©äŸ¡ãããæ°ããåŒã¯æ¬¡ã®å€ã«è©äŸ¡ãããŸãã
åŒ2.
次ã®äºé æŒç®åã䜿çšã§ããŸãïŒ "+"ã "-"ã "*"ã "/"ã "^"ã
次ã®åé æŒç®åã䜿çšã§ããŸãïŒ "+"ã "-"ã
次ã®æ©èœã䜿çšã§ããŸãã
absïŒxïŒ
ã®çµ¶å¯Ÿå€ãèšç®ãã x.
acosïŒxïŒ
ã®ã¢ãŒã¯ã³ãµã€ã³ãèšç®ãã x.
asinïŒxïŒ
ã®ã¢ãŒã¯ãµã€ã³ãèšç®ãã x.
atanïŒxïŒ
ã®éæ£æ¥ãèšç®ãã x.
betweenïŒxã å æ倧ïŒ
次ã®å Žåã¯1ãè¿ããŸã x ãã倧ãããçãã å ããã³ä»¥äž ããã¯ã¹ã0
ãããªããšã
bitandïŒxã y)
bitorïŒxã y)
ãããåäœã®èšç®ããã³/ãŸãã¯æŒç® x & y.
ã®è©äŸ¡çµæ x & y å®è¡åã«æŽæ°ã«å€æãããŸã
ãããæŒç®ã
æŽæ°ãžã®å€æãšæµ®åå°æ°ç¹ãžã®å€æã®äž¡æ¹ãå¯èœã§ããããšã«æ³šæããŠãã ãã
粟床ã倱ããŸãã å€æ°ïŒéåžžã¯2 ^ 53ããã³
倧ããïŒã
ceilïŒexprïŒ
åŒã®å€ãäžžããŸã åŒ æãè¿ãæŽæ°ãŸã§äžåãã äŸãã°ã
ãceilïŒ1.5ïŒãã¯ã2.0ãã§ãã
clipïŒxã å æ倧ïŒ
ã®å€ãè¿ã x éã§ã¯ãªãã å & ããã¯ã¹.
cosïŒxïŒ
ã®äœåŒŠãèšç®ãã x.
coshïŒxïŒ
ã®åæ²ç·ã³ãµã€ã³ãèšç®ããŸã x.
eqïŒxã y)
次ã®å Žåã¯1ãè¿ããŸã x & y åçã§ããããã以å€ã®å Žåã¯0ã§ãã
expïŒxïŒ
ã®ææ°ãèšç®ãã x ïŒåºæ°ãeãããªã€ã©ãŒã®æ°ïŒã
ããã¢ïŒexprïŒ
åŒã®å€ãäžžããŸã åŒ æãè¿ãæŽæ°ã«äžåãã«ã äŸãã°ã
ãfloorïŒ-1.5ïŒãã¯ã-2.0ãã§ãã
ã¬ãŠã¹ïŒxïŒ
ã®ã¬ãŠã¹é¢æ°ãèšç®ãã xããexpïŒ-x * x / 2ïŒ/ sqrtïŒ2 * PIïŒãã«å¯Ÿå¿ããŸãã
gcdïŒxã y)
ã®æå€§å ¬çŽæ°ãè¿ã x & yã äž¡æ¹ã®å Žå x & y 0ãŸãã¯ãããããŸãã¯äž¡æ¹
ããŒãæªæºã®å Žåãåäœã¯å®çŸ©ãããŠããŸããã
gtïŒxã y)
次ã®å Žåã¯1ãè¿ããŸã x ãã倧ãã yããã以å€ã®å Žåã¯0ã
gteïŒxã y)
次ã®å Žåã¯1ãè¿ããŸã x ãã倧ãããçãã yããã以å€ã®å Žåã¯0ã
hypotïŒxã y)
ãã®é¢æ°ã¯ãåãååã®Cé¢æ°ã«äŒŒãŠããŸãã ãsqrtïŒx*x +
y*yïŒ "ã蟺ã®é·ããçŽè§äžè§åœ¢ã®æ蟺ã®é·ã x & y,
ãŸãã¯ãã€ã³ãã®è·é¢ïŒx, yïŒåç¹ããã
ifïŒxã y)
è©äŸ¡ããŸã xãããã³çµæããŒã以å€ã®å Žåã¯ãã®è©äŸ¡ã®çµæãè¿ããŸãã y,
ãã以å€ã®å Žåã¯0ãè¿ããŸãã
ifïŒxã y, z)
è©äŸ¡ããŸã xãçµæããŒã以å€ã®å Žåã¯ãã®è©äŸ¡çµæãè¿ããŸãã yãããã§ãªããã°
ã®è©äŸ¡çµæ z.
ifnotïŒxã y)
è©äŸ¡ããŸã xãããã³çµæããŒãã®å Žåãã®è©äŸ¡ã®çµæãè¿ããŸãã yãæ»ã
ãã以å€ã®å Žåã¯0ã
ifnotïŒxã y, z)
è©äŸ¡ããŸã xãçµæããŒãã®å Žåãã®è©äŸ¡çµæãè¿ããŸãã yããã以å€ã®å Žåã¯
ã®è©äŸ¡çµæ z.
isinfïŒxïŒ
次ã®å Žåã¯1.0ãè¿ããŸã x ã¯+/- INFINITYããã以å€ã®å Žåã¯0.0ã§ãã
isnanïŒxïŒ
次ã®å Žåã¯1.0ãè¿ããŸã x NANããã以å€ã®å Žåã¯0.0ã§ãã
ldïŒvarïŒ
å éšå€æ°ã®å€ã«æ°å€ãããŒãããŸã VARã以åã«ä¿åããã
stïŒVAR, åŒïŒã ãã®é¢æ°ã¯ãããŒããããå€ãè¿ããŸãã
logïŒxïŒ
ã®èªç¶å¯Ÿæ°ãèšç®ããŸã x.
ltïŒxã y)
次ã®å Žåã¯1ãè¿ããŸã x ããå°ãã yããã以å€ã®å Žåã¯0ã
lteïŒxã y)
次ã®å Žåã¯1ãè¿ããŸã x 以äžã§ãã yããã以å€ã®å Žåã¯0ã
maxïŒxã y)
éã®æ倧å€ãè¿ããŸã x & y.
minïŒxã y)
éã®æ倧å€ãè¿ããŸã x & y.
modïŒxã y)
ã®é€ç®ã®äœããèšç®ããŸã x by y.
notïŒexprïŒ
次ã®å Žåã¯1.0ãè¿ããŸã åŒ ã¯ãŒãããã以å€ã®å Žåã¯0.0ã§ãã
powïŒxã y)
ã®åãèšç®ãã x é«ã yããïŒxïŒ^ïŒyïŒã "
printïŒtïŒ
printïŒtã l)
åŒã®å€ãåºåããŸã t ãã°ã¬ãã«ã§ lã å Žå l æå®ãããŠããªãå Žåã¯ããã©ã«ã
ãã°ã¬ãã«ã䜿çšãããŸãã å°å·ãããåŒã®å€ãè¿ããŸãã
tããã°ã¬ãã«lã§åºåããŸã
ã©ã³ãã ïŒxïŒ
0.0ãã1.0ã®éã®ç䌌ã©ã³ãã å€ãè¿ããŸãã x å éšã®ã€ã³ããã¯ã¹ã§ã
ã·ãŒã/ç¶æ ãä¿åããããã«äœ¿çšãããå€æ°ã
rootïŒexprã æ倧ïŒ
é¢æ°ãã§è¡šãããå ¥åå€ãèŠã€ããŸã åŒ åŒæ°ä»ã ld(0) is
éé0ã®0ããããã¯ã¹.
ã®è¡šçŸ åŒ é£ç¶é¢æ°ã瀺ãå¿ èŠããããŸããããã§ãªãå Žåãçµæã¯æªå®çŸ©ã§ãã
ld(0) é¢æ°ã®å ¥åå€ãè¡šãããã«äœ¿çšãããŸããã€ãŸãã
åŒã¯ãããŸããŸãªå ¥åå€ã䜿çšããŠè€æ°åè©äŸ¡ãããŸãã
åŒã¯ãä»ããŠã¢ã¯ã»ã¹ã§ããŸã ldïŒ0ïŒã åŒã0ãšè©äŸ¡ããããšã
察å¿ããå ¥åå€ãè¿ãããŸãã
sinïŒxïŒ
ã®ãµã€ã³ãèšç®ãã x.
åºçïŒxïŒ
ã®åæ²ç·æ£åŒŠãèšç®ããŸã x.
sqrtïŒexprïŒ
ã®å¹³æ¹æ ¹ãèšç®ããŸã åŒã ããã¯ãïŒåŒïŒ^ã5 "ã
squishïŒxïŒ
åŒã1 /ïŒ1 + expïŒ4 * xïŒïŒããèšç®ããŸãã
stïŒvarã exprïŒ
åŒã®å€ãæ ŒçŽããŸã åŒ å éšå€æ°ã§ã VAR ãæå®ããŸã
å€ãæ ŒçŽããå€æ°ã®çªå·ã0ããXNUMXãŸã§ã®ç¯å²ã®å€ã§ãã
9.ãã®é¢æ°ã¯ãå éšå€æ°ã«æ ŒçŽãããŠããå€ãè¿ããŸãã 泚ãå€æ°
çŸåšãåŒéã§å ±æãããŠããŸããã
tanïŒxïŒ
ã®æ¥ç·ãèšç®ãã x.
tanhïŒxïŒ
ã®åæ²ç·æ¥ç·ãèšç®ããŸã x.
ãã€ã©ãŒïŒexprã x)
ãã€ã©ãŒïŒexprã x, idïŒ
ã§ãã€ã©ãŒçŽæ°ãè©äŸ¡ãã xããldïŒidïŒããè¡šãåŒãäžãããã-th
0ã§ã®é¢æ°ã®å°é¢æ°ã
ç³»åãåæããªãå Žåãçµæã¯æªå®çŸ©ã§ãã
ldïŒidïŒ ã®åŸ®å次æ°ãè¡šãããã«äœ¿çšãããŸã åŒãã€ãŸããäžãããã
åŒã¯ãããŸããŸãªå ¥åå€ã䜿çšããŠè€æ°åè©äŸ¡ãããŸãã
åŒã¯ãldïŒidïŒããä»ããŠã¢ã¯ã»ã¹ã§ããŸãã ããã id ãæå®ãããŠããªãå Žåã0ãæ³å®ãããŸãã
0ã§ã¯ãªãyã«å°é¢æ°ãããå ŽåããtaylorïŒexprãxyïŒãã¯æ¬¡ã®ããã«ãªãå¯èœæ§ãããããšã«æ³šæããŠãã ããã
äžå€ã
æé(0)
çŸåšã®ïŒãŠã©ãŒã«ã¯ããã¯ïŒæéãç§åäœã§è¿ããŸãã
truncïŒexprïŒ
åŒã®å€ãäžžããŸã åŒ ãŒãããæãè¿ãæŽæ°ã«åãã£ãŠã äŸãã°ã
ãtruncïŒ-1.5ïŒãã¯ã-1.0ãã§ãã
whileïŒcondã exprïŒ
åŒãè©äŸ¡ãã åŒ åŒã æ¡ä»¶ ã¯ãŒã以å€ã§ãããå€ãè¿ããŸã
æåŸã® åŒ è©äŸ¡ããŸãã¯NANã®å Žå æ¡ä»¶ åžžã«åœã§ããã
次ã®å®æ°ã䜿çšã§ããŸãã
PI åäœåæ¿ã®é¢ç©ãçŽ3.14
E EXPïŒ1ïŒïŒãªã€ã©ãŒã®æ°ïŒãçŽ2.718
PHI é»éæ¯ïŒ1+å¹³æ¹æ ¹ïŒ5ïŒïŒ/ 2ãçŽ1.618
åŒã®å€ããŒã以å€ã®å ŽåãåŒããçããšèŠãªããããšä»®å®ãããšã次ã®ç¹ã«æ³šæããŠãã ããã
ã*ãã¯ANDã®ããã«æ©èœããŸã
ã+ãã¯ORã®ããã«æ©èœããŸã
ããšãã°ãæ§æïŒ
ifïŒA AND BïŒthen C
以äžãšåçã§ãã
ifïŒA * BãCïŒ
Cã³ãŒãã§ã¯ãåé é¢æ°ãšäºé é¢æ°ã®ãªã¹ããæ¡åŒµããå®çŸ©ããããšãã§ããŸã
èªèãããå®æ°ãããã«ãããåŒã§äœ¿çšã§ããããã«ãªããŸãã
è©äŸ¡è ã¯ãåœéåäœç³»ã®æ¥é èŸãèªèããŸãã 'i'ãè¿œå ãããå Žå
ãã¬ãã£ãã¯ã¹ã®åŸã«ã代ããã«1024ã®çŽ¯ä¹ã«åºã¥ããã€ããªãã¬ãã£ãã¯ã¹ã䜿çšãããŸã
1000ã®çŽ¯ä¹ããBãã®æ¥å°ŸèŸã¯å€ã«8ãæããaã®åŸã«è¿œå ã§ããŸãã
åäœæ¥é èŸãŸãã¯åç¬ã§äœ¿çšãããŸãã ããã«ãããããšãã°ãKBãããMiBãããGãããBãã次ã®ããã«äœ¿çšã§ããŸãã
çªå·ã®æ¥å°ŸèŸã
å©çšå¯èœãªåœéã·ã¹ãã ãã¬ãã£ãã¯ã¹ã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
10ãš2ã®å¯Ÿå¿ãã环ä¹ã
y 10 ^ -24 / 2 ^ -80
z 10 ^ -21 / 2 ^ -70
a 10 ^ -18 / 2 ^ -60
f 10 ^ -15 / 2 ^ -50
p 10 ^ -12 / 2 ^ -40
n 10 ^ -9 / 2 ^ -30
u 10 ^ -6 / 2 ^ -20
m 10 ^ -3 / 2 ^ -10
c 10 ^ -2
d 10 ^ -1
h 10 ^ 2
k 10 ^ 3/2 ^ 10
K 10 ^ 3/2 ^ 10
M 10 ^ 6/2 ^ 20
G 10 ^ 9/2 ^ 30
T 10 ^ 12/2 ^ 40
P 10 ^ 15/2 ^ 40
E 10 ^ 18/2 ^ 50
Z 10 ^ 21/2 ^ 60
Y 10 ^ 24/2 ^ 70
OPENCL OPTIONS
FFmpegã "--enable-opencl"ã§èšå®ãããŠããå Žåã次ã®ãªãã·ã§ã³ãèšå®ã§ããŸãã
ã°ããŒãã«OpenCLã³ã³ããã¹ãã
ãµããŒããããŠãããªãã·ã§ã³ã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
ãã«ããªãã·ã§ã³
ç»é²æžã¿ã«ãŒãã«ã®ã³ã³ãã€ã«ã«äœ¿çšãããã«ããªãã·ã§ã³ãèšå®ããŸãã
åç §ãOpenCLä»æ§ããŒãžã§ã³ïŒ1.2第5.6.4ç« ããåç §ããŠãã ããã
ãã©ãããã©ãŒã IDX
OpenCLã³ãŒããå®è¡ãããã©ãããã©ãŒã ã®ã€ã³ããã¯ã¹ãéžæããŸãã
æå®ããã€ã³ããã¯ã¹ã¯ãããã€ã¹ãªã¹ãå ã®ã€ã³ããã¯ã¹ã®XNUMXã€ã§ããå¿ èŠããããŸãã
ãffmpeg-opencl_benchããŸãã¯ãav_opencl_get_device_listïŒïŒãã§ååŸãããŸãã
ããã€ã¹ID
OpenCLã³ãŒãã®å®è¡ã«äœ¿çšãããããã€ã¹ã®ã€ã³ããã¯ã¹ãéžæããŸãã
æå®ããã€ã³ããã¯ã¹ã¯ãããã€ã¹ãªã¹ãå ã®ã€ã³ããã¯ã¹ã®XNUMXã€ã§ããå¿ èŠããããŸãã
ãffmpeg-opencl_benchããŸãã¯ãav_opencl_get_device_listïŒïŒãã§ååŸãããŸãã
ã³ãŒââãã㯠OPTIONS
libavcodecã¯ããã¹ãŠã®ãšã³ã³ãŒããŒãš
ãã³ãŒããŒã ããã«ãåã³ãŒããã¯ã¯ãç¹å®ã®ãããããã©ã€ããŒããªãã·ã§ã³ããµããŒãããå ŽåããããŸãã
ç¹å®ã®ã³ãŒããã¯ã«å¯ŸããŠã
ã°ããŒãã«ãªãã·ã§ã³ã¯ãç¹å®ã®çš®é¡ã®ã³ãŒããã¯ã«ã®ã¿åœ±é¿ããå Žåãããã
ç¡æå³ã§ããããä»ã®äººã«ç¡èŠãããŠãããããæå®ããããã®ã®æå³ã«æ³šæããå¿ èŠããããŸã
ãªãã·ã§ã³ã ãŸããäžéšã®ãªãã·ã§ã³ã¯ããã³ãŒããŸãã¯ãšã³ã³ãŒãã®ã¿ãç®çãšããŠããŸãã
ãªãã·ã§ã³ã¯ã-ãæå®ããŠèšå®ã§ããŸãããªãã·ã§ã³ å€ FFmpegããŒã«ã§ããŸãã¯ãèšå®ããããšã«ãã£ãŠ
ãAVCodecContextããªãã·ã§ã³ã§æ瀺çã«å€ãæå®ãããã libavutil / opt.h ã®API
ããã°ã©ã ã«ãã䜿çšã
ãµããŒããããŠãããªãã·ã§ã³ã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
b æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãªããããª)
ãããã¬ãŒããããã/ç§ã§èšå®ããŸãã ããã©ã«ãå€ã¯200Kã§ãã
ab æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãª)
ãªãŒãã£ãªãããã¬ãŒããèšå®ããŸãïŒããã/ç§åäœïŒã ããã©ã«ãå€ã¯128Kã§ãã
bt æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãããªã®ãããã¬ãŒã蚱容å€ãèšå®ããŸãïŒããã/ç§åäœïŒã 1ãã¹ã¢ãŒãã§ã¯ããããã¬ãŒã蚱容å€ã¯
ã¬ãŒãã³ã³ãããŒã«ãç®æšã®å¹³åãããã¬ãŒãå€ããã©ãã ãéžè±ãããã ãã®
æå°/æ倧ãããã¬ãŒããšã¯é¢ä¿ãããŸããã èæ§ãäžãããããšæªåœ±é¿ããããŸã
å質ã«ã€ããŠã
ãã©ã° ãã©ã° (ãã³ãŒã/ãšã³ã³ãŒãããªãŒãã£ãªããããªãåå¹)
æ±çšãã©ã°ãèšå®ããŸãã
å¯èœãªå€ïŒ
mv4 ãã¯ããããã¯ïŒmpeg4ïŒã«ããXNUMXã€ã®åããã¯ãã«ã䜿çšããŸãã
ã¯ãã«
1/4ãã«ã¢ãŒã·ã§ã³è£æ£ã䜿çšããŸãã
ã«ãŒã
ã«ãŒããã£ã«ã¿ãŒã䜿çšããŸãã
qã¹ã±ãŒã«
åºå®qscaleã䜿çšããŸãã
GMC gmcã䜿çšããŸãã
mv0 åžžã«mv = <0,0>ã§mbãè©ŠããŠãã ããã
å ¥å_ä¿åæžã¿
pass1
ãã¡ãŒã¹ããã¹ã¢ãŒãã§å éš2ãã¹ã¬ãŒãã³ã³ãããŒã«ã䜿çšããŸãã
pass2
ã»ã«ã³ããã¹ã¢ãŒãã§å éš2ãã¹ã¬ãŒãã³ã³ãããŒã«ã䜿çšããŸãã
ã°ã¬ãŒ
ã°ã¬ãŒã¹ã±ãŒã«ã®ã¿ããã³ãŒã/ãšã³ã³ãŒãããŸãã
ãšãã¥ãšããž
ãšããžãæç»ããªãã§ãã ããã
psnr
ãšã³ã³ãŒãäžã«error [ïŒ]å€æ°ãèšå®ããŸãã
åãæšãŠ
NAQ é©å¿éååãæ£èŠåããŸãã
ã€ã«ãã¯ã
ã€ã³ã¿ãŒã¬ãŒã¹DCTã䜿çšããŸãã
äœé 延
äœé 延ã匷å¶ããŸãã
ã°ããŒãã«ããããŒ
ãã¹ãŠã®ããŒãã¬ãŒã ã§ã¯ãªããextradataã«ã°ããŒãã«ããããŒãé 眮ããŸãã
ãããæ£ç¢º
ãã©ãããã©ãŒã ããã«ããããã³æéã«äŸåããªãããŒã¿ã®ã¿ãæžã蟌ã¿ãŸãã ïŒïŒIïŒDCTãé€ãïŒã ãã®
ãã¡ã€ã«ãšããŒã¿ã®ãã§ãã¯ãµã ãåçŸå¯èœã§ããããã©ãããã©ãŒã éã§äžèŽããããšãä¿èšŒããŸãã
ãã®äž»ãªçšéã¯ååž°ãã¹ãã§ãã
ã¢ã€ã㯠H263ã®é«åºŠãªã€ã³ãã©ã³ãŒãã£ã³ã°/ mpeg4acäºæž¬ãé©çšããŸãã
cbp éæšå¥šã§ãã代ããã«mpegvideoãã©ã€ããŒããªãã·ã§ã³ã䜿çšããŠãã ããã
qprd
éæšå¥šã§ãã代ããã«mpegvideoãã©ã€ããŒããªãã·ã§ã³ã䜿çšããŠãã ããã
ã€ã«ã¡
ã€ã³ã¿ãŒã¬ãŒã¹ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³ãé©çšããŸãã
cgop
éããgopã䜿çšããŸãã
ç§_ã¡ãœãã æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³æ¹åŒãèšå®ããŸãã
å¯èœãªå€ïŒ
ãŒã
ãŒãã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³ïŒæéïŒ
ãã«
ãã«ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³ïŒæãé ãïŒ
epz
EPZSã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³ïŒããã©ã«ãïŒ
ESA esaã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³ïŒå¥åãã«ïŒ
ã€ã°
ããµã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³
æ¥ diaã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³ïŒepzsã®ãšã€ãªã¢ã¹ïŒ
ãã° ãã°ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³
ããŒã
phodsã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³
x1 X1ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³
16é²æ³ XNUMXé²ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³
ããŒã ãããšãã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³
ãããã
iterã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³
è¿œå ããŒã¿ãµã€ãº æŽæ°
ãšã¯ã¹ãã©ããŒã¿ãµã€ãºãèšå®ããŸãã
ã¿ã€ã ããŒã¹ åçç㪠æ°
ã³ãŒããã¯ã®ã¿ã€ã ããŒã¹ãèšå®ããŸãã
ããã¯ããã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ãã«é¢ããåºæ¬çãªæéã®åäœïŒç§åäœïŒã§ãã
è¡šãããŸãã åºå®fpsã³ã³ãã³ãã®å Žåãã¿ã€ã ããŒã¹ã¯ã1 / frame_rateãããã³ã¿ã€ã ã¹ã¿ã³ãã§ããå¿ èŠããããŸã
å¢åã¯åãããã«1ã§ããå¿ èŠããããŸãã
g æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ç»åãµã€ãºã®ã°ã«ãŒããèšå®ããŸãã ããã©ã«ãå€ã¯12ã§ãã
ar æŽæ° (ãã³ãŒã/ãšã³ã³ãŒãããªãŒãã£ãª)
ãªãŒãã£ãªãµã³ããªã³ã°ã¬ãŒããèšå®ããŸãïŒHzåäœïŒã
ac æŽæ° (ãã³ãŒã/ãšã³ã³ãŒãããªãŒãã£ãª)
ãªãŒãã£ãªãã£ã³ãã«ã®æ°ãèšå®ããŸãã
ã«ãããªã æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãª)
ã«ãããªã垯åå¹ ãèšå®ããŸãã
ãã¬ãŒã ãµã€ãº æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãª)
ãªãŒãã£ãªãã¬ãŒã ãµã€ãºãèšå®ããŸãã
æåŸãé€ãéä¿¡ãããåãã¬ãŒã ã«ã¯ãæ£ç¢ºã«frame_sizeãµã³ãã«ãå«ãŸããŠããå¿ èŠããããŸãã
ãã£ãã«ã ã³ãŒããã¯ã«CODEC_CAP_VARIABLE_FRAME_SIZEãèšå®ãããŠããå Žåã¯ã0ã«ãªãå¯èœæ§ããããŸãããã®å Žå
ãã¬ãŒã ãµã€ãºã¯å¶éãããŠããŸããã äžå®ã瀺ãããã«ããã€ãã®ãã³ãŒããŒã«ãã£ãŠèšå®ãããŸã
ãã¬ãŒã ãµã€ãºã
ãã¬ãŒã çªå· æŽæ°
ãã¬ãŒã çªå·ãèšå®ããŸãã
é ããã æŽæ°
qcomp ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãããªéåååšã¹ã±ãŒã«å§çž®ïŒVBRïŒãèšå®ããŸãã ã®å®æ°ãšããŠäœ¿çšãããŸã
ã¬ãŒãå¶åŸ¡åŒã ããã©ã«ãã®rc_eqã®æšå¥šç¯å²ïŒ0.0-1.0ã
ã¯ãã©ãŒ ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãããªéåååšã®ã¹ã±ãŒã«ãã©ãŒïŒVBRïŒãèšå®ããŸãã
qmin æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
æå°ãããªéåååšã¹ã±ãŒã«ïŒVBRïŒãèšå®ããŸãã -1ãã69ã®éã«å«ããå¿ èŠããããŸããããã©ã«ãå€
2ã§ãã
qmax æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
æ倧ãããªéåååšã¹ã±ãŒã«ïŒVBRïŒãèšå®ããŸãã -1ãã1024ã®éã«å«ããå¿ èŠããããŸããããã©ã«ã
å€ã¯31ã§ãã
ã¯ãã£ã æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
éåååšã¹ã±ãŒã«ïŒVBRïŒéã®æ倧差ãèšå®ããŸãã
bf æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
éBãã¬ãŒã éã®Bãã¬ãŒã ã®æ倧æ°ãèšå®ããŸãã
-1ãã16ãŸã§ã®æŽæ°ã§ããå¿ èŠããããŸãã0ã¯ãBãã¬ãŒã ãç¡å¹ã«ãªã£ãŠããããšãæå³ããŸãã å€ã®å Žå
-1ã䜿çšãããšããšã³ã³ãŒããŒã«å¿ããŠèªåå€ãéžæãããŸãã
ããã©ã«ãå€ã¯0ã§ãã
b_qfactor ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
Pãã¬ãŒã ãšBãã¬ãŒã ã®éã«qpä¿æ°ãèšå®ããŸãã
rc_æŠç¥ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã¬ãŒãå¶åŸ¡æ¹æ³ãèšå®ããŸãã
b_æŠç¥ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
I / P / Bãã¬ãŒã ããéžæããæŠç¥ãèšå®ããŸãã
ps æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
RTPãã€ããŒããµã€ãºããã€ãåäœã§èšå®ããŸãã
mv_bits æŽæ°
ããããŒããã æŽæ°
i_tex_bits æŽæ°
p_tex_bits æŽæ°
i_count æŽæ°
p_count æŽæ°
ã¹ãããåæ° æŽæ°
ãã®ä»ã®ããã æŽæ°
ãã¬ãŒã ããã æŽæ°
ã³ãŒããã¯ã¿ã° æŽæ°
ãã° ãã©ã° (ãã³ãŒãããããª)
ãšã³ã³ãŒãã®ãã°ãèªåæ€åºãããªãåé¿çã
å¯èœãªå€ïŒ
AUTODETECT
old_msmpeg4
ããã€ãã®å€ãlavcã§çæãããmsmpeg4v3ãã¡ã€ã«ïŒèªåæ€åºãªãïŒ
xvid_ilace
Xvidã€ã³ã¿ãŒã¬ãŒã¹ãã°ïŒfourcc == XVIXã®å Žåã¯èªåæ€åºïŒ
ump4
ïŒfourcc == UMP4ã®å Žåã¯èªåæ€åºïŒ
ããã£ã³ã°ãªã
ããã£ã³ã°ãã°ïŒèªåæ€åºïŒ
amv
ac_vlc
éæ³ãªvlcãã°ïŒfourccããšã«èªåæ€åºïŒ
qpel_chroma
std_qpel
å€ãæšæºqpelïŒXNUMXcc /ããŒãžã§ã³ããšã«èªåæ€åºïŒ
qpel_chroma2
direct_blocksize
direct-qpel-blocksizeãã°ïŒXNUMXcc /ããŒãžã§ã³ããšã«èªåæ€åºïŒ
ãšããž
ãšããžããã£ã³ã°ã®ãã°ïŒXNUMXcc /ããŒãžã§ã³ããšã«èªåæ€åºïŒ
hpel_chroma
dc_clip
ms ãã€ã¯ããœããã®å£ãããã³ãŒããŒã®ããŸããŸãªãã°ãåé¿ããŸãã
åãæšãŠã
ãã©ã³ã±ãŒãããããã¬ãŒã
ã¬ãªã æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
èŒåºŠã®åäžä¿æ°é€å»ãããå€ãèšå®ããŸãïŒè² ã®å€ã
DCä¿æ°ãèæ ®ããŠãã ããïŒã
ã»ãªã æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã¯ãããã³ã¹ã®åäžä¿æ°é€å»ãããå€ãèšå®ããŸãïŒè² ã®å€ã
DCä¿æ°ãèæ ®ããŠãã ããïŒ
å³æ Œãª æŽæ° (ãã³ãŒã/ãšã³ã³ãŒãããªãŒãã£ãªããããª)
åºæºã«å³å¯ã«åŸãæ¹æ³ãæå®ããŸãã
å¯èœãªå€ïŒ
éåžžã«
ä»æ§ãŸãã¯åç §ãœãããŠã§ã¢ã®å€ããããå³å¯ãªããŒãžã§ã³ã«å³å¯ã«æºæ ãã
å³æ Œãª
ã©ã®ãããªçµæãçããŠããä»æ§ã®ãã¹ãŠã«å³å¯ã«æºæ ããŸã
éåžžã®
éå ¬åŒ
éå ¬åŒã®æ¡åŒµãèš±å¯ãã
å®éšç
æšæºåãããŠããªãå®éšçãªãã®ãå®éšçãªãã®ãèš±å¯ããïŒæªå®æ/äœæ¥äž
é²æç¶æ³/ååã«ãã¹ããããŠããªãïŒãã³ãŒããŒãšãšã³ã³ãŒããŒã 泚ïŒå®éšçãªãã³ãŒããŒã¯
ã»ãã¥ãªãã£äžã®ãªã¹ã¯ããããŸããä¿¡é Œã§ããªãå ¥åããã³ãŒãããããã«ããã䜿çšããªãã§ãã ããã
b_qoffset ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
Pãã¬ãŒã ãšBãã¬ãŒã ã®éã«QPãªãã»ãããèšå®ããŸãã
ãšã©ãŒæ€åº ãã©ã° (ãã³ãŒãããªãŒãã£ãªããããª)
ãšã©ãŒæ€åºãã©ã°ãèšå®ããŸãã
å¯èœãªå€ïŒ
crccheck
åã蟌ãŸããCRCã確èªãã
ãããã¹ããªãŒã
ãããã¹ããªãŒã ä»æ§ã®éžè±ãæ€åºãã
ãããã¡
äžé©åãªãããã¹ããªãŒã é·ãæ€åºãã
ççºãã
ãã€ããŒãšã©ãŒæ€åºã§ãã³ãŒããäžæ¢ãã
ç¡èŠãã_ãšã©ãŒ
ãã³ãŒããšã©ãŒãç¡èŠãããã³ãŒããç¶è¡ããŸãã ããã¯ã次ã®å Žåã«äŸ¿å©ã§ãã
ãããªã®ã³ã³ãã³ããåæãããããã£ãŠãé¢ä¿ãªããã¹ãŠããã³ãŒãããå¿ èŠããããŸã
äœã ãã®ãªãã·ã§ã³ã§ã¯ã次ã®å Žåã«èŠãããåç»ã«ã¯ãªããŸããã
ãšã©ãŒãã
泚ææ·±ã
ä»æ§ã«éåããå®éã«ã¯ãšã©ãŒãšããŠèŠãããŠããªããã®ãèæ ®ããŠãã ãã
æºæ ãã
ãã¹ãŠã®ä»æ§ã®éæºæ ããšã©ãŒãšèŠãªããŸã
ç©æ¥µçãª
æ£åžžãªãšã³ã³ãŒããŒãå®è¡ããŠã¯ãªããªãããšããšã©ãŒãšèŠãªããŸã
has_b_frames æŽæ°
ãããã¯æŽå æŽæ°
mpeg_quant æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
H.263ã®ä»£ããã«MPEGéåååšã䜿çšããŠãã ããã
ã¹ããã·ã¥ ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
éåååšãqminãšqmaxã®éã«ä¿ã€æ¹æ³ïŒ0 =ã¯ãªããã1 =埮åå¯èœã䜿çš
é¢æ°ïŒã
rc_qmod_amp ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
å®éšçãªéåååšã®å€èª¿ãèšå®ããŸãã
rc_qmod_freq æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
å®éšçãªéåååšã®å€èª¿ãèšå®ããŸãã
rc_override_count æŽæ°
rc_eq æåå (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã¬ãŒãå¶åŸ¡åŒãèšå®ããŸãã åŒãèšç®ãããšãã¯ãæšæºã«å ããŠ
ãåŒã®è©äŸ¡ãã®ã»ã¯ã·ã§ã³ã§å®çŸ©ãããŠããé¢æ°ã次ã®é¢æ°ã¯æ¬¡ã®ãšããã§ãã
䜿çšå¯èœïŒbits2qpïŒbitsïŒãqp2bitsïŒqpïŒã ãŸãã次ã®å®æ°ã䜿çšã§ããŸãã
iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex
avgPPTex avgBPTexavgTexã
æ倧ã¬ãŒã æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãªããããª)
æ倧ãããã¬ãŒã蚱容å€ãèšå®ããŸãïŒããã/ç§åäœïŒã bufsizeãèšå®ããå¿ èŠããããŸãã
æå°ã¬ãŒã æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãªããããª)
æå°ãããã¬ãŒã蚱容å€ãèšå®ããŸãïŒããã/ç§åäœïŒã CBRãšã³ã³ãŒãã®èšå®ã«æã圹ç«ã¡ãŸãã ã§ã
ãã以å€ã®å Žåã¯ã»ãšãã©åœ¹ã«ç«ã¡ãŸããã
ãããµã€ãº æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãªããããª)
ã¬ãŒãå¶åŸ¡ãããã¡ãµã€ãºãèšå®ããŸãïŒãããåäœïŒã
rc_buf_aggressivity ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
çŸåšã¯åœ¹ã«ç«ããªãã
i_qfactor ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
Pãã¬ãŒã ãšIãã¬ãŒã ã®éã«QPä¿æ°ãèšå®ããŸãã
i_qoffset ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
Pãã¬ãŒã ãšIãã¬ãŒã ã®éã«QPãªãã»ãããèšå®ããŸãã
rc_init_cplx ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
1ãã¹ãšã³ã³ãŒãã£ã³ã°ã®åæã®è€éããèšå®ããŸãã
DCT æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
DCTã¢ã«ãŽãªãºã ãèšå®ããŸãã
å¯èœãªå€ïŒ
ãªãŒã
é©åãªãã®ãèªåéžæããŸãïŒããã©ã«ãïŒ
éã
é«éæŽæ°
intå æ£ç¢ºãªæŽæ°
MMX
ã¢ã«ãã£ããã¯
ãã¡ãŒã³
æµ®åå°æ°ç¹AANDCT
ã«ããã¹ã¯ ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
æããé åãäžçšåºŠã®é åããã匷ãå§çž®ããŸãã
tcplx_ãã¹ã¯ ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
æéèšç®éãã¹ãã³ã°ãèšå®ããŸãã
scplx_mask ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
空éè€é床ãã¹ãã³ã°ãèšå®ããŸãã
p_ãã¹ã¯ ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã€ã³ã¿ãŒãã¹ãã³ã°ãèšå®ããŸãã
ããŒã¯ãã¹ã¯ ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
äžçšåºŠã®é åããã匷ãæãé åãå§çž®ããŸãã
ããããŸã æŽæ° (ãã³ãŒã/ãšã³ã³ãŒãããããª)
IDCTå®è£ ãéžæããŸãã
å¯èœãªå€ïŒ
ãªãŒã
intå
ã·ã³ãã«ãª
ã·ã³ãã«
ã·ã³ãã«ãªãŒã
åçŽãªIDCTãšäºææ§ã®ããIDCTãèªåçã«éžæããŸã
ã¢ãŒã
ã¢ã«ãã£ããã¯
sh4
ã·ã³ãã«ã¢ãŒã
ã·ã³ãã«ã¢ãŒã v5te
ã·ã³ãã«ã¢ãŒã v6
ã·ã³ãã«ããªã³
ã·ã³ãã«ã¢ã«ãã¡
ipp
xvidmmx
ãã¡ã¢ã
æµ®åå°æ°ç¹AANIDCT
lice_count æŽæ°
ec ãã©ã° (ãã³ãŒãããããª)
ãšã©ãŒã³ã³ã·ãŒã«ã¡ã³ãæŠç¥ãèšå®ããŸãã
å¯èœãªå€ïŒ
æšæž¬_mvs
å埩åããã¯ãã«ïŒMVïŒæ€çŽ¢ïŒé ãïŒ
ãããã¯ã解é€ãã
æå·ããMBã«ã¯åŒ·åãªéãããã¯ãã£ã«ã¿ãŒã䜿çšããŸã
奜æ_ã€ã³ã¿ãŒ
çŸåšã®ãã¬ãŒã ã§ã¯ãªããåã®ãã¬ãŒã ããã®äºæž¬ãåªå ãã
ã³ãŒãåãµã³ãã«ãããã®ãããæ° æŽæ°
æé£ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
äºæž¬æ¹æ³ãèšå®ããŸãã
å¯èœãªå€ïŒ
å·Š
é£è¡æ©
äžå€®å€
åŽé¢ åççãª æ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãµã³ãã«ã®ã¢ã¹ãã¯ãæ¯ãèšå®ããŸãã
debug ãã©ã° (ãã³ãŒã/ãšã³ã³ãŒãããªãŒãã£ãªããããªãåå¹)
ç¹å®ã®ãããã°æ å ±ãåºåããŸãã
å¯èœãªå€ïŒ
ãã¯ã
ç»åæ å ±
rc ã¬ãŒãå¶åŸ¡
ãããã¹ããªãŒã
mb_type
ãã¯ããããã¯ïŒMBïŒã¿ã€ã
qp ãããã¯ããšã®éååãã©ã¡ãŒã¿ãŒïŒQPïŒ
mv åããã¯ãã«
dct_coeff
ç·ã®ã¡ã¿ããŒã¿
次ã®ãã¬ãŒã ãGoPããŸãã¯ç¹å®ã®æéã®è€éãã®ã¡ã¿ããŒã¿ã衚瀺ããŸãã
ã¹ããã
ã¹ã¿ãŒãã³ãŒã
PTS
er ãšã©ãŒèªè
mmco
ã¡ã¢ãªç®¡çå¶åŸ¡æäœïŒH.264ïŒ
ãã°
vis_qp
éååãã©ã¡ãŒã¿ãŒïŒQPïŒãèŠèŠåããQPãäœãã»ã©ç·ããã£ãè²ã«ãªããŸã
vis_mb_type
ãããã¯ã¿ã€ããèŠèŠåãã
ãããã¡
ç»åãããã¡ã®å²ãåœãŠ
ã¹ã¬ãããªãã¬ãŒã·ã§ã³
ã¹ã¬ããæäœ
ãã ã¯
åãè£åãã¹ããããã
ããºã æŽæ° (ãã³ãŒãããããª)
åããã¯ãã«ïŒMVïŒãèŠèŠåããŸãã
ãã®ãªãã·ã§ã³ã¯éæšå¥šã§ãã代ããã«codecviewãã£ã«ã¿ãŒãåç §ããŠãã ããã
å¯èœãªå€ïŒ
pf Pãã¬ãŒã ã®åæ¹äºæž¬MV
bf Bãã¬ãŒã ã®åæ¹äºæž¬MV
bb Bãã¬ãŒã ã®åŸæ¹äºæž¬MV
CMP æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãã«ãã«ããŒæ¯èŒæ©èœãèšå®ããŸãã
å¯èœãªå€ïŒ
æ²ãã 絶察差ã®åèšãé«éïŒããã©ã«ãïŒ
SSE äºä¹èª€å·®ã®åèš
å
絶察ã¢ãããŒã«å€æãããå·®ã®åèš
DCT 絶察DCTå€æãããå·®ã®åèš
psnr
éåå誀差ã®XNUMXä¹ã®åèšïŒåé¿ãäœå質ïŒ
ããã ãããã¯ã«å¿ èŠãªãããæ°
rd ã¬ãŒãæªã¿æé©ãé ã
ãŒã
0
VSAD
絶察åçŽå·®ã®åèš
vsse
åçŽæ¹åã®å·®ã®XNUMXä¹ã®åèš
ã³ã»
å·®ã®äºä¹åãä¿åãããã€ãº
w53 5/3ãŠã§ãŒãã¬ãããéªã§ã®ã¿äœ¿çš
w97 9/7ãŠã§ãŒãã¬ãããéªã§ã®ã¿äœ¿çš
dctmax
圩床
ãµãã³ã³ã æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãµããã«ããŒæ¯èŒæ©èœãèšå®ããŸãã
å¯èœãªå€ïŒ
æ²ãã 絶察差ã®åèšãé«éïŒããã©ã«ãïŒ
SSE äºä¹èª€å·®ã®åèš
å
絶察ã¢ãããŒã«å€æãããå·®ã®åèš
DCT 絶察DCTå€æãããå·®ã®åèš
psnr
éåå誀差ã®XNUMXä¹ã®åèšïŒåé¿ãäœå質ïŒ
ããã ãããã¯ã«å¿ èŠãªãããæ°
rd ã¬ãŒãæªã¿æé©ãé ã
ãŒã
0
VSAD
絶察åçŽå·®ã®åèš
vsse
åçŽæ¹åã®å·®ã®XNUMXä¹ã®åèš
ã³ã»
å·®ã®äºä¹åãä¿åãããã€ãº
w53 5/3ãŠã§ãŒãã¬ãããéªã§ã®ã¿äœ¿çš
w97 9/7ãŠã§ãŒãã¬ãããéªã§ã®ã¿äœ¿çš
dctmax
圩床
mbcmp æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãã¯ããããã¯æ¯èŒæ©èœãèšå®ããŸãã
å¯èœãªå€ïŒ
æ²ãã 絶察差ã®åèšãé«éïŒããã©ã«ãïŒ
SSE äºä¹èª€å·®ã®åèš
å
絶察ã¢ãããŒã«å€æãããå·®ã®åèš
DCT 絶察DCTå€æãããå·®ã®åèš
psnr
éåå誀差ã®XNUMXä¹ã®åèšïŒåé¿ãäœå質ïŒ
ããã ãããã¯ã«å¿ èŠãªãããæ°
rd ã¬ãŒãæªã¿æé©ãé ã
ãŒã
0
VSAD
絶察åçŽå·®ã®åèš
vsse
åçŽæ¹åã®å·®ã®XNUMXä¹ã®åèš
ã³ã»
å·®ã®äºä¹åãä¿åãããã€ãº
w53 5/3ãŠã§ãŒãã¬ãããéªã§ã®ã¿äœ¿çš
w97 9/7ãŠã§ãŒãã¬ãããéªã§ã®ã¿äœ¿çš
dctmax
圩床
ildctcmp æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã€ã³ã¿ãŒã¬ãŒã¹dctæ¯èŒæ©èœãèšå®ããŸãã
å¯èœãªå€ïŒ
æ²ãã 絶察差ã®åèšãé«éïŒããã©ã«ãïŒ
SSE äºä¹èª€å·®ã®åèš
å
絶察ã¢ãããŒã«å€æãããå·®ã®åèš
DCT 絶察DCTå€æãããå·®ã®åèš
psnr
éåå誀差ã®XNUMXä¹ã®åèšïŒåé¿ãäœå質ïŒ
ããã ãããã¯ã«å¿ èŠãªãããæ°
rd ã¬ãŒãæªã¿æé©ãé ã
ãŒã
0
VSAD
絶察åçŽå·®ã®åèš
vsse
åçŽæ¹åã®å·®ã®XNUMXä¹ã®åèš
ã³ã»
å·®ã®äºä¹åãä¿åãããã€ãº
w53 5/3ãŠã§ãŒãã¬ãããéªã§ã®ã¿äœ¿çš
w97 9/7ãŠã§ãŒãã¬ãããéªã§ã®ã¿äœ¿çš
dctmax
圩床
çŽåŸãµã€ãº æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³çšã®ãã€ã€ã¢ã³ãã®ã¿ã€ããšãµã€ãºãèšå®ããŸãã
last_pred æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
åã®ãã¬ãŒã ããã®ã¢ãŒã·ã§ã³äºæž¬åã®éãèšå®ããŸãã
ãã¬ã¹ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³ãèšå®ããŸãã
ããªã«ã³ã æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³æ¯èŒæ©èœãèšå®ããŸãã
å¯èœãªå€ïŒ
æ²ãã 絶察差ã®åèšãé«éïŒããã©ã«ãïŒ
SSE äºä¹èª€å·®ã®åèš
å
絶察ã¢ãããŒã«å€æãããå·®ã®åèš
DCT 絶察DCTå€æãããå·®ã®åèš
psnr
éåå誀差ã®XNUMXä¹ã®åèšïŒåé¿ãäœå質ïŒ
ããã ãããã¯ã«å¿ èŠãªãããæ°
rd ã¬ãŒãæªã¿æé©ãé ã
ãŒã
0
VSAD
絶察åçŽå·®ã®åèš
vsse
åçŽæ¹åã®å·®ã®XNUMXä¹ã®åèš
ã³ã»
å·®ã®äºä¹åãä¿åãããã€ãº
w53 5/3ãŠã§ãŒãã¬ãããéªã§ã®ã¿äœ¿çš
w97 9/7ãŠã§ãŒãã¬ãããéªã§ã®ã¿äœ¿çš
dctmax
圩床
pre_dia_size æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³ã®ããªãã¹çšã«ãã€ã€ã¢ã³ãã®ã¿ã€ããšãµã€ãºãèšå®ããŸãã
ãµã㯠æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãµããã«ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³ã®å質ãèšå®ããŸãã
dtg_active_format æŽæ°
ç§_ç¯å² æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
éçã¢ãŒã·ã§ã³ãã¯ãã«ç¯å²ãèšå®ããŸãïŒDivXãã¬ãŒã€ãŒã®å Žåã¯1023ïŒã
ã€ãã¢ã¹ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã€ã³ãã©ã¯ã©ã³ããã€ã¢ã¹ãèšå®ããŸãã
ãã€ã¢ã¹ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
éåéãã€ã¢ã¹ãèšå®ããŸãã
color_table_id æŽæ°
ã°ããŒãã«å質 æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãªããããª)
ã³ãŒã㌠æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
å¯èœãªå€ïŒ
VLC å¯å€é·ã³ãŒããŒ/ãããã³ã³ãŒããŒ
ac ç®è¡ã³ãŒããŒ
ç çïŒãšã³ã³ãŒããªãïŒ
rle ã©ã³ã¬ã³ã°ã¹ã³ãŒããŒ
ããã¬ãŒã
ããã¬ãŒãããŒã¹ã®ã³ãŒããŒ
ã³ã³ããã¹ã æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã³ã³ããã¹ãã¢ãã«ãèšå®ããŸãã
lice_flags æŽæ°
xvmc_acceleration æŽæ°
MBD æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãã¯ããããã¯æ±ºå®ã¢ã«ãŽãªãºã ãèšå®ããŸãïŒé«å質ã¢ãŒãïŒã
å¯èœãªå€ïŒ
ã·ã³ãã«ãª
mbcmpã䜿çšïŒããã©ã«ãïŒ
ããã
䜿çšãããããæ°ãæãå°ãªã
rd ãã¹ãã¬ãŒãæªã¿ã䜿çšãã
stream_codec_tag æŽæ°
sc_threshold æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã·ãŒã³å€æŽã®ãããå€ãèšå®ããŸãã
æå° æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
æå°ã©ã°ã¬ã³ãžä¿æ°ïŒVBRïŒãèšå®ããŸãã
å€Lmax æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
æ倧ã©ã°ã¬ã³ãžä¿æ°ïŒVBRïŒãèšå®ããŸãã
nr æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãã€ãºãªãã¯ã·ã§ã³ãèšå®ããŸãã
rc_init_occupancy æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãã³ãŒããéå§ããåã«rcãããã¡ã«ããŒãããå¿ èŠã®ãããããæ°ãèšå®ããŸãã
ãã©ã°2 ãã©ã° (ãã³ãŒã/ãšã³ã³ãŒãããªãŒãã£ãªããããª)
å¯èœãªå€ïŒ
éãã§ã
ä»æ§ã«æºæ ããŠããªãã¹ããŒãã¢ããã®ããªãã¯ãèš±å¯ããŸãã
ã¹ãŽãã
éæšå¥šã§ãã代ããã«mpegvideoãã©ã€ããŒããªãã·ã§ã³ã䜿çšããŠãã ããã
ããŒã¢ãŠã
ãããã¹ããªãŒã ãšã³ã³ãŒãã£ã³ã°ãã¹ãããããŸãã
ç¡èŠããäœç©
spsããã®ããªãã³ã°æ å ±ãç¡èŠããŸãã
ããŒã«ã«ããããŒ
ãšã¯ã¹ãã©ããŒã¿ã§ã¯ãªãããã¹ãŠã®ããŒãã¬ãŒã ã«ã°ããŒãã«ããããŒãé 眮ããŸãã
ãã£ã³ã¯
ãã¬ãŒã ããŒã¿ã¯è€æ°ã®ãã£ã³ã¯ã«åå²ãããå ŽåããããŸãã
ãã¹ãŠè¡šç€ºãã
æåã®ããŒãã¬ãŒã ã®åã«ãã¹ãŠã®ãã¬ãŒã ã衚瀺ããŸãã
ã¹ãããã
éæšå¥šã§ãã代ããã«mpegvideoãã©ã€ããŒããªãã·ã§ã³ã䜿çšããŠãã ããã
ãšã¯ã¹ããŒã_mvs
ã¢ãŒã·ã§ã³ãã¯ãã«ããã¬ãŒã ãµã€ãããŒã¿ã«ãšã¯ã¹ããŒãããŸãïŒãAV_FRAME_DATA_MOTION_VECTORSããåç §ïŒã
ããããµããŒãããã³ãŒããã¯ã®å Žåã ãåç §ããŠãã ãã doc / examples / export_mvs.c.
ãšã©ãŒ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
å質 æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
éæšå¥šã§ãã代ããã«mpegvideoãã©ã€ããŒããªãã·ã§ã³ã䜿çšããŠãã ããã
ã¹ã¬ãã æŽæ° (ãã³ãŒã/ãšã³ã³ãŒãããããª)
å¯èœãªå€ïŒ
ãªãŒã
ããªãã®æ°ã®ã¹ã¬ãããæ€åºãã
me_threshold æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³ã®ãããå€ãèšå®ããŸãã
mb_threshold æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãã¯ããããã¯ã®ãããå€ãèšå®ããŸãã
dc æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
intra_dc_precisionãèšå®ããŸãã
nsew æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
nsseã®éã¿ãèšå®ããŸãã
ã¹ãããããã æŽæ° (ãã³ãŒãããããª)
ã¹ãããããããã¯ããããã¯è¡ã®æ°ãäžçªäžã«èšå®ããŸãã
ã¹ãããããã æŽæ° (ãã³ãŒãããããª)
ã¹ãããããããã¯ããããã¯è¡ã®æ°ãäžéšã«èšå®ããŸãã
ãããã£ãŒã« æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãªããããª)
å¯èœãªå€ïŒ
æªç¥ã®
aac_main
aac_low
aac_ssr
aac_ltp
aac_he
aac_he_v2
aac_ld
aac_eld
mpeg2_aac_low
mpeg2_aac_he
mpeg4_sp
mpeg4_core
mpeg4_ã¡ã€ã³
mpeg4_asp
dts
dts_es
dts_96_24
dts_hd_hra
dts_hd_ma
ã¬ãã« æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãªããããª)
å¯èœãªå€ïŒ
æªç¥ã®
äœè§£å床 æŽæ° (ãã³ãŒãããªãŒãã£ãªããããª)
1 = 1 / 2ã2 = 1 / 4ã3 = 1/8ã®è§£å床ã§ãã³ãŒãããŸãã
ã¹ããããããå€ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãã¬ãŒã ã¹ããããããå€ãèšå®ããŸãã
ã¹ãããä¿æ° æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãã¬ãŒã ã¹ãããä¿æ°ãèšå®ããŸãã
ã¹ããã_exp æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãã¬ãŒã ã¹ãããææ°ãèšå®ããŸãã è² ã®å€ã¯ã察å¿ããå€ãšåãããã«åäœããŸã
ã¹ã³ã¢ãæ£èŠåãããŠããããšãé€ããŠãæ£ã®ãã®ã æ£ã®å€ã¯äž»ã«ååšããŸã
äºææ§ã®çç±ãããããŸã圹ã«ç«ã¡ãŸããã
ã¹ãããcmp æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãã¬ãŒã ã¹ãããæ¯èŒæ©èœãèšå®ããŸãã
å¯èœãªå€ïŒ
æ²ãã 絶察差ã®åèšãé«éïŒããã©ã«ãïŒ
SSE äºä¹èª€å·®ã®åèš
å
絶察ã¢ãããŒã«å€æãããå·®ã®åèš
DCT 絶察DCTå€æãããå·®ã®åèš
psnr
éåå誀差ã®XNUMXä¹ã®åèšïŒåé¿ãäœå質ïŒ
ããã ãããã¯ã«å¿ èŠãªãããæ°
rd ã¬ãŒãæªã¿æé©ãé ã
ãŒã
0
VSAD
絶察åçŽå·®ã®åèš
vsse
åçŽæ¹åã®å·®ã®XNUMXä¹ã®åèš
ã³ã»
å·®ã®äºä¹åãä¿åãããã€ãº
w53 5/3ãŠã§ãŒãã¬ãããéªã§ã®ã¿äœ¿çš
w97 9/7ãŠã§ãŒãã¬ãããéªã§ã®ã¿äœ¿çš
dctmax
圩床
ããŒããŒãã¹ã¯ ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
å¢çã«è¿ããã¯ããããã¯ã®éåååšãå¢ãããŸãã
ã ãã«ãã³ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
æå°ãã¯ããããã¯ã©ã°ã¬ã³ãžãã¡ã¯ã¿ãŒïŒVBRïŒãèšå®ããŸãã
mblmax æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
æ倧ãã¯ããããã¯ã©ã°ã¬ã³ãžãã¡ã¯ã¿ãŒïŒVBRïŒãèšå®ããŸãã
ã¡ã㯠æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ã¢ãŒã·ã§ã³ãšã¹ãã£ã¡ãŒã·ã§ã³ã®ãããã¬ãŒãããã«ãã£è£æ£ãèšå®ããŸãïŒ1.0 = 256ïŒã
ã¹ãããã«ãŒããã£ã«ã¿ãŒ æŽæ° (ãã³ãŒãããããª)
ã¹ããã_idct æŽæ° (ãã³ãŒãããããª)
ã¹ããããã¬ãŒã æŽæ° (ãã³ãŒãããããª)
ãªãã·ã§ã³ã§éžæãããã¬ãŒã ã¿ã€ãã«å¿ããŠãã³ãŒããŒå»æ£åŠçãè¡ããŸã
ã®å€ã§ãã
ã¹ãããã«ãŒããã£ã«ã¿ãŒ ãã¬ãŒã ã«ãŒããã£ã«ã¿ãªã³ã°ãã¹ããããã ã¹ããã_idct ãã¬ãŒã ãã¹ãããããŸã
IDCT /ééååã ã¹ããããã¬ãŒã ãã³ãŒããã¹ãããããŸãã
å¯èœãªå€ïŒ
ãªã
ãã¬ãŒã ãç Žæ£ããŸããã
ããã©ã«ã
0ãµã€ãºã®ãã¬ãŒã ã®ãããªåœ¹ã«ç«ããªããã¬ãŒã ãç Žæ£ããŸãã
ãã¬ã
ãã¹ãŠã®éåç §ãã¬ãŒã ãç Žæ£ããŸãã
ããã£ãŒã«
ãã¹ãŠã®åæ¹åãã¬ãŒã ãç Žæ£ããŸãã
ããŒããŒ
ããŒãã¬ãŒã ãé€ããã¹ãŠã®ãã¬ãŒã ãç Žæ£ããŸãã
ã ãã¹ãŠã®ãã¬ãŒã ãç Žæ£ããŸãã
ããã©ã«ãå€ã¯ ããã©ã«ã.
å ¥æãªãã¡ã€ã³ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
åæ¹åãã¯ããããã¯ã§äœ¿çšãããXNUMXã€ã®åããã¯ãã«ã調æŽããŸãã
brd_scale æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
åçãªBãã¬ãŒã 決å®ã®ããã®ããŠã³ã¹ã±ãŒã«ãã¬ãŒã ã
keyint_min æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
IDRãã¬ãŒã éã®æå°ééãèšå®ããŸãã
ãã³ã æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
åãè£åãæ€èšããããã®åç §ãã¬ãŒã ãèšå®ããŸãã
ã¯ãããªãã»ãã æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
èŒåºŠããã®åœ©åºŠqpãªãã»ãããèšå®ããŸãã
ãã¬ãªã¹ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãªããããª)
ã¬ãŒãæªã¿æé©éååãèšå®ããŸãã
sc_factor æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãã¬ãŒã ããšã«qscaleãæããå€ãèšå®ããscene_change_scoreã«è¿œå ããŸãã
mv0_threshold æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
b_sensitivevity æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
b_frame_strategy1ã®æ床ã調æŽããŸãã
å§çž®ã¬ãã« æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãªããããª)
min_prediction_order æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãª)
max_prediction_order æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãª)
timecode_frame_start æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
éãããããã¬ãŒã 圢åŒã§ãGOPã¿ã€ã ã³ãŒããã¬ãŒã ã®éå§çªå·ãèšå®ããŸãã
ãªã¯ãšã¹ããã£ã³ãã« æŽæ° (ãã³ãŒãããªãŒãã£ãª)
å¿ èŠãªãªãŒãã£ãªãã£ã³ãã«æ°ãèšå®ããŸãã
raw_sample ãããã®ãããæ° æŽæ°
ãã£ã³ãã«ã¬ã€ã¢ãŠã æŽæ° (ãã³ãŒã/ãšã³ã³ãŒãããªãŒãã£ãª)
å¯èœãªå€ïŒ
request_channel_layout æŽæ° (ãã³ãŒãããªãŒãã£ãª)
å¯èœãªå€ïŒ
rc_max_vbv_use ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
rc_min_vbv_use ãããŒã (ãšã³ã³ãŒãã£ã³ã°ããããª)
ãã¬ãŒã ãããã®ãã£ãã¯æ° æŽæ° (ãã³ãŒã/ãšã³ã³ãŒãããªãŒãã£ãªããããª)
color_primaries æŽæ° (ãã³ãŒã/ãšã³ã³ãŒãããããª)
color_trc æŽæ° (ãã³ãŒã/ãšã³ã³ãŒãããããª)
è²ç©ºé æŽæ° (ãã³ãŒã/ãšã³ã³ãŒãããããª)
è²ã®ç¯å² æŽæ° (ãã³ãŒã/ãšã³ã³ãŒãããããª)
å ¥åãã©ã¡ãŒã¿ãšããŠäœ¿çšãããå Žåãããã¯ãã³ãŒããžã®ãã³ããšããŠæ©èœããŸãã
å ¥åããããŸãã
ã¯ãããµã³ãã«ã®å Žæ æŽæ° (ãã³ãŒã/ãšã³ã³ãŒãããããª)
ãã°ã¬ãã«ãªãã»ãã æŽæ°
ãã°ã¬ãã«ã®ãªãã»ãããèšå®ããŸãã
ã¹ã©ã€ã¹ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããããª)
䞊ååããããšã³ã³ãŒãã£ã³ã°ã§äœ¿çšãããã¹ã©ã€ã¹ã®æ°ã
ã¹ã¬ããã®çš®é¡ ãã©ã° (ãã³ãŒã/ãšã³ã³ãŒãããããª)
䜿çšãããã«ãã¹ã¬ããæ¹åŒãéžæããŸãã
æŽ»çš ãã¬ãŒã ã¹ã¬ããããšã«XNUMXãã¬ãŒã ãã€ãã³ãŒãé 延ãå¢å ããããã
å°æ¥ã®ãã¬ãŒã ãæäŸããããšã¯ã§ããŸããããã䜿çšããã¹ãã§ã¯ãããŸããã
å¯èœãªå€ïŒ
ã¹ã©ã€ã¹
XNUMXã€ã®ãã¬ãŒã ã®è€æ°ã®éšåãäžåºŠã«ãã³ãŒãããŸãã
ã¹ã©ã€ã¹ã䜿çšãããã«ãã¹ã¬ããã¯ããããªãã¹ã©ã€ã¹ã§ãšã³ã³ãŒããããŠããå Žåã«ã®ã¿æ©èœããŸãã
ãã¬ãŒã
äžåºŠã«è€æ°ã®ãã¬ãŒã ããã³ãŒãããŸãã
ããã©ã«ãå€ã¯ ã¹ã©ã€ã¹+ãã¬ãŒã .
ãªãŒãã£ãªãµãŒãã¹ã®çš®é¡ æŽæ° (ãšã³ã³ãŒãã£ã³ã°ããªãŒãã£ãª)
ãªãŒãã£ãªãµãŒãã¹ã¿ã€ããèšå®ããŸãã
å¯èœãªå€ïŒ
ma ã¡ã€ã³ãªãŒãã£ãªãµãŒãã¹
ef ãšãã§ã¯ã
vi èŠèŠé害
hi Konnekt èŽèŠéãã
di ãã€ã¢ãã°
co 解説
em ç·æ¥
vo ãã€ã¹ãªãŒããŒ
ka Karaoke
request_sample_fmt ãµã³ãã«fmt (ãã³ãŒãããªãŒãã£ãª)
ãµã³ãã«ãã©ãŒãããã®ãªãŒãã£ãªãã³ãŒããŒãèšå®ããããšããå§ãããŸãã ããã©ã«ãå€ã¯ãnoneãã§ãã
pkt_timebase åçç㪠æ°
sub_charenc ãšã³ã³ãŒãã£ã³ã° (ãã³ãŒããåå¹)
å ¥ååå¹ã®æåãšã³ã³ãŒããèšå®ããŸãã
ãã£ãŒã«ããªãŒã㌠ãã£ãŒã«ããªãŒã㌠(ãããª)
ãããªã®ãã£ãŒã«ãé åºãèšå®/ãªãŒããŒã©ã€ãããŸãã å¯èœãªå€ïŒ
ããã°ã¬ãã·ã
ããã°ã¬ãã·ããããª
tt ã€ã³ã¿ãŒã¬ãŒã¹ãããªãæåã«ã³ãŒãåãããŠè¡šç€ºãããããããã£ãŒã«ã
bb ã€ã³ã¿ãŒã¬ãŒã¹ãããªãæåã«ã³ãŒãåãããŠè¡šç€ºãããäžéšãã£ãŒã«ã
tb ã€ã³ã¿ãŒã¬ãŒã¹ãããªãæåã«äžã«ã³ãŒãåãæåã«äžã«è¡šç€º
bt ã€ã³ã¿ãŒã¬ãŒã¹ãããªãäžãæåã«ã³ãŒãåãããäžãæåã«è¡šç€ºãããŸã
ã¹ãããã¢ã«ãã¡ æŽæ° (ãã³ãŒãããããª)
ã¢ã«ãã¡ïŒéæ床ïŒã®åŠçãç¡å¹ã«ããã«ã¯ã1ã«èšå®ããŸãã ããã¯æ¬¡ã®ããã«æ©èœããŸã ã°ã¬ãŒ ãã©ã°ãç«ãŠã
ã ãã©ã° ã¢ã«ãã¡ã®ä»£ããã«ã¯ããæ å ±ãã¹ããããããªãã·ã§ã³ã ããã©ã«ãã¯0ã§ãã
ã³ãŒããã¯_ãã¯ã€ããªã¹ã ãªã¹ã ( )
ãããã§åºåãããèš±å¯ããããã³ãŒããŒã®ãªã¹ãã ããã©ã«ãã§ã¯ããã¹ãŠãèš±å¯ãããŠããŸãã
ãã³ãã»ãã¬ãŒã¿ãŒ æåå ( )
ã¹ããªãŒã ã«é¢ããã³ãã³ãã©ã€ã³ã«åºåããããã£ãŒã«ããåºåãããã«äœ¿çšãããã»ãã¬ãŒã¿
ãã©ã¡ãŒã¿ãŒã ããšãã°ããã£ãŒã«ããæ¹è¡ãšã€ã³ãã³ãã§åºåãã«ã¯ã次ã®ããã«ããŸãã
ffprobe -dump_separator "
" -ç§ ã/ videos / matrixbench_mpeg2.mpg
ãã³ãŒããŒ
ãã³ãŒããŒã¯ããã«ãã¡ãã£ã¢ã¹ããªãŒã ã®ãã³ãŒããå¯èœã«ããFFmpegã§æ§æãããèŠçŽ ã§ãã
FFmpegãã«ããæ§æãããšããµããŒããããŠãããã¹ãŠã®ãã€ãã£ããã³ãŒããŒãæå¹ã«ãªããŸã
ãã£ãã©ã«ãã å€éšã©ã€ãã©ãªãå¿ èŠãšãããã³ãŒããŒã¯ã
察å¿ããã--enable-libããªãã·ã§ã³ã ã䜿çšããŠã䜿çšå¯èœãªãã¹ãŠã®ãã³ãŒããŒãäžèŠ§è¡šç€ºã§ããŸãã
ãªãã·ã§ã³ã--list-decodersããæ§æããŸãã
æ§æãªãã·ã§ã³ã--disable-decodersãã䜿çšããŠãã¹ãŠã®ãã³ãŒããŒãç¡å¹ã«ããããšãã§ããŸãã
ãªãã·ã§ã³ã--enable-decoder =ãã䜿çšããŠãåäžã®ãã³ãŒããŒãéžæçã«æå¹/ç¡å¹ã«ããŸãããã³ãŒã" /
"--disable-decoder =ãã³ãŒã".
ff *ããŒã«ã®ãªãã·ã§ã³ã-decodersãã¯ãæå¹ãªãã³ãŒããŒã®ãªã¹ãã衚瀺ããŸãã
VIDEO ãã³ãŒããŒ
çŸåšå©çšå¯èœãªãããªãã³ãŒãã®ããã€ãã®èª¬æã¯æ¬¡ã®ãšããã§ãã
Hevc
HEVC /H.265ãã³ãŒããŒã
æ³šïŒ ã¹ãããã«ãŒããã£ã«ã¿ãŒ ãªãã·ã§ã³ã¯ãã¬ãã«ããã¹ãŠãã§ã®ã¿æå¹ã§ãã
çãããª
çã®ãããªãã³ãŒãã
ãã®ãã³ãŒããŒã¯rawvideoã¹ããªãŒã ããã³ãŒãããŸãã
ãªãã·ã§ã³
top ããããã£ãŒã«ããã¡ãŒã¹ã
å ¥åãããªã®æ³å®ãã£ãŒã«ãã¿ã€ããæå®ããŸãã
-1 ãããªã¯ããã°ã¬ãã·ãã§ãããšèŠãªãããŸãïŒããã©ã«ãïŒ
0 ããã ãã£ãŒã«ããã¡ãŒã¹ããæ³å®ãããŸã
1 ããããã£ãŒã«ããã¡ãŒã¹ããæ³å®ãããŸã
AUDIO ãã³ãŒããŒ
çŸåšå©çšå¯èœãªãªãŒãã£ãªãã³ãŒãã®ããã€ãã®èª¬æã¯æ¬¡ã®ãšããã§ãã
ac3
AC-3ãªãŒãã£ãªãã³ãŒããŒã
ãã®ãã³ãŒããŒã¯ãATSC A / 52ïŒ2010ããã³ETSI TS 102 366ã®äžéšãããã³
ææžåãããŠããªãRealAudio3ïŒå¥ådnetïŒã
AC-3 ãã³ãŒã ãªãã·ã§ã³
-drc_scale å€
ãã€ãããã¯ã¬ã³ãžã¹ã±ãŒã«ãã¡ã¯ã¿ãŒã AC-3ããã®ãã€ãããã¯ã¬ã³ãžå€ã«é©çšããä¿æ°
ã¹ããªãŒã ã ãã®ä¿æ°ã¯ææ°é¢æ°çã«é©çšãããŸãã 3ã€ã®æ³šç®ãã¹ãã¹ã±ãŒã«ãã¡ã¯ã¿ãŒããããŸã
ç¯å²ïŒ
drc_scale == 0
DRCãç¡å¹ã«ãªã£ãŠããŸãã ãã«ã¬ã³ãžã®ãªãŒãã£ãªãçæããŸãã
0 < drc_scale <= 1
DRCãæå¹ã«ãªã£ãŠããŸãã ã¹ããªãŒã ã®DRCå€ã®äžéšãé©çšããŸãã ãªãŒãã£ãªåçã¯
ãã«ã¬ã³ãžãšãã«ã³ã³ãã¬ãã·ã§ã³ã®éã
drc_scale > 1
DRCãæå¹ã«ãªã£ãŠããŸãã drc_scaleãé察称ã«é©çšããŸãã 倧ããªé³ã¯å®å šã«å§çž®ãããŠããŸãã
ãããããªé³ã匷調ãããŸãã
FLAC
FLACãªãŒãã£ãªãã³ãŒããŒã
ãã®ãã³ãŒããŒã¯ãXiphããã®å®å šãªFLACä»æ§ãå®è£ ããããšãç®çãšããŠããŸãã
FLAC ãã³ãŒã ãªãã·ã§ã³
-use_buggy_lpc
é«ãlpcå€ãæã€ãã°ã®ããã¹ããªãŒã ãçæããããã«äœ¿çšãããlavcFLACãšã³ã³ãŒããŒïŒ
ããã©ã«ãå€ïŒã ãã®ãªãã·ã§ã³ã䜿çšãããšããã®ãããªã¹ããªãŒã ãæ£ãããã³ãŒãã§ããŸãã
ãã³ãŒãã«lavcã®å€ããã°ã®ããlpcããžãã¯ã䜿çšããŸãã
ffwaveã·ã³ã»
å éšæ³¢ã·ã³ã»ã¿ã€ã¶ãŒã
ãã®ãã³ãŒããŒã¯ãäºåå®çŸ©ãããã·ãŒã±ã³ã¹ã«åŸã£ãŠæ³¢åœ¢ãã¿ãŒã³ãçæããŸãã ãã®äœ¿çšã¯çŽç²ã«
å éšããã³ãããåãå ¥ããããŒã¿ã®åœ¢åŒã¯å ¬ã«ææžåãããŠããŸããã
ãªãã»ã«ã
libceltãã³ãŒããŒã©ãããŒã
libceltã䜿çšãããšãlibavcodecã¯XiphCELTè¶ äœé 延ãªãŒãã£ãªã³ãŒããã¯ããã³ãŒãã§ããŸãã å¿ èŠ
æ§æäžã®libceltããããŒãšã©ã€ãã©ãªãŒã®ååšã å¿ èŠããã
ã--enable-libceltãã䜿çšããŠãã«ããæ瀺çã«æ§æããŸãã
libgsm
libgsmãã³ãŒãã©ãããŒã
libgsmã䜿çšãããšãlibavcodecã¯GSMãã«ã¬ãŒããªãŒãã£ãªã³ãŒããã¯ããã³ãŒãã§ããŸãã ã®ååšãå¿ èŠã§ã
æ§æäžã®libgsmããããŒãšã©ã€ãã©ãªã æ瀺çã«æ§æããå¿ èŠããããŸã
ã--enable-libgsmãã䜿çšããŠãã«ãããŸãã
ãã®ãã³ãŒããŒã¯ãéåžžã®GSMãšMicrosoftã®ããªã¢ã³ãã®äž¡æ¹ããµããŒãããŸãã
ãªãã«ãã¯
libilbcãã³ãŒãã©ãããŒã
libilbcã䜿çšãããšãlibavcodecã¯ã€ã³ã¿ãŒãããäœãããã¬ãŒãã³ãŒããã¯ïŒiLBCïŒãªãŒãã£ãªã³ãŒããã¯ããã³ãŒãã§ããŸãã
æ§æäžã«libilbcããããŒãšã©ã€ãã©ãªãŒãååšããå¿ èŠããããŸãã å¿ èŠããã
ã--enable-libilbcãã䜿çšããŠãã«ããæ瀺çã«æ§æããŸãã
ãªãã·ã§ã³
次ã®ãªãã·ã§ã³ã¯ãlibilbcã©ãããŒã§ãµããŒããããŠããŸãã
é«ããŸã
1ã«èšå®ãããšããã³ãŒãããããªãŒãã£ãªã®æ¡åŒµãæå¹ã«ããŸããããã©ã«ãå€ã¯0ã§ãã
ïŒç¡å¹ïŒã
libopencore-amrnb
libopencore-amrnbãã³ãŒãã©ãããŒã
libopencore-amrnbã䜿çšãããšãlibavcodecã§Adaptive Multi-RateNarrowbandãªãŒãã£ãªããã³ãŒãã§ããŸã
ã³ãŒããã¯ã ããã䜿çšããã«ã¯ãlibopencore-amrnbããããŒãšã©ã€ãã©ãªãååšããå¿ èŠããããŸãã
æ§æã ãã«ããæ瀺çã«æ§æããå¿ èŠããããŸã
ã--enable-libopencore-amrnbãã
AMR-NBçšã®FFmpegãã€ãã£ããã³ãŒããŒãååšããããããŠãŒã¶ãŒã¯ãããªãã§AMR-NBããã³ãŒãã§ããŸã
ãšãããããã
libopencore-amrwb
libopencore-amrwbãã³ãŒãã©ãããŒã
libopencore-amrwbã䜿çšãããšãlibavcodecã§Adaptive Multi-RateWidebandãªãŒãã£ãªããã³ãŒãã§ããŸã
ã³ãŒããã¯ã ããã䜿çšããã«ã¯ãlibopencore-amrwbããããŒãšã©ã€ãã©ãªãååšããå¿ èŠããããŸãã
æ§æã ãã«ããæ瀺çã«æ§æããå¿ èŠããããŸã
ã--enable-libopencore-amrwbãã
AMR-WBçšã®FFmpegãã€ãã£ããã³ãŒããŒãååšããããããŠãŒã¶ãŒã¯ãããªãã§AMR-WBããã³ãŒãã§ããŸã
ãšãããããã
ãªããã¹
libopusãã³ãŒããŒã©ãããŒã
libopusã䜿çšãããšãlibavcodecã¯Opus Interactive AudioCodecããã³ãŒãã§ããŸãã ãå¿ èŠã§ã
æ§æäžã®libopusããããŒãšã©ã€ãã©ãªãŒã®ååšã æ瀺çã«ããå¿ èŠããããŸã
ã--enable-libopusãã䜿çšããŠãã«ããæ§æããŸãã
Opusçšã®FFmpegãã€ãã£ããã³ãŒããŒãååšããããããŠãŒã¶ãŒã¯ãã®ã©ã€ãã©ãªãªãã§Opusããã³ãŒãã§ããŸãã
åå¹ ãã³ãŒããŒ
DVãµã
ãªãã·ã§ã³
Compute_clut
-1 äžèŽããCLUTãã¹ããªãŒã ã«ãªãå Žåã¯ãclutãèšç®ããŸãã
0 CLUTãèšç®ããªãã§ãã ãã
1 åžžã«CLUTãèšç®ããã¹ããªãŒã ã§æäŸããããã®ããªãŒããŒã©ã€ãããŸãã
dvb_substream
dvbãµãã¹ããªãŒã ãéžæããããããã©ã«ãã®-1ã®å Žåã¯ãã¹ãŠã®ãµãã¹ããªãŒã ãéžæããŸãã
DVDãµã
ãã®ã³ãŒããã¯ã¯ãDVDã§äœ¿çšãããŠããããããããåå¹ããã³ãŒãããŸãã åãåå¹ãèŠã€ããããšãã§ããŸã
VobSubãã¡ã€ã«ãã¢ãšäžéšã®Matroskaãã¡ã€ã«ã
ãªãã·ã§ã³
ãã¬ãã
ããããããã§äœ¿çšãããã°ããŒãã«ãã¬ãããæå®ããŸãã VobSubã«ä¿åãããšããã¬ããã¯æ¬¡ã®ããã«ãªããŸãã
éåžžãã€ã³ããã¯ã¹ãã¡ã€ã«ã§æå®ãããŸãã Matroskaã§ã¯ããã¬ããã¯ã³ãŒããã¯ã«ä¿åãããŸã
VobSubãšåã圢åŒã®è¿œå ããŒã¿ã DVDã§ã¯ããã¬ããã¯IFOã«ä¿åãããŸã
ãã¡ã€ã«ã§ããããããã³ããããVOBãã¡ã€ã«ããèªã¿åãå Žåã¯äœ¿çšã§ããŸããã
ãã®ãªãã·ã§ã³ã®åœ¢åŒã¯ã16åã®24ãããXNUMXé²æ°ãå«ãæååã§ãã
ïŒ0xãã¬ãã£ãã¯ã¹ãªãïŒã³ãã§åºåãããŸããäŸïŒã0d00eeãee450dã101010ãeaeaeaã
0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, 7b2a0e, 0d950c, 0f007b, cf0dec,
cfa80cã7c127b "ã
ifo_ãã¬ãã
ã°ããŒãã«ãã¬ããã®ååŸå ã®IFOãã¡ã€ã«ãæå®ããŸãã ïŒå®éšçïŒ
force_subs_only
匷å¶ãšããŠããŒã¯ãããåå¹ãšã³ããªã®ã¿ããã³ãŒãããŸãã äžéšã®ã¿ã€ãã«ã«ã¯åŒ·å¶ããã³é匷å¶ããããŸã
åããã©ãã¯ã®åå¹ã ãã®ãã©ã°ã1ã«èšå®ãããšã匷å¶ããããŸãŸã«ãªããŸã
åå¹ã ããã©ã«ãå€ã¯0ã§ãã
libzvbi-ãã¬ããã¹ã
Libzvbiã䜿çšãããšãlibavcodecã¯DVBãã¬ããã¹ãããŒãžãšDVBãã¬ããã¹ãåå¹ããã³ãŒãã§ããŸãã
æ§æäžã«libzvbiããããŒãšã©ã€ãã©ãªãŒãååšããå¿ èŠããããŸãã å¿ èŠããã
ã--enable-libzvbiãã䜿çšããŠãã«ããæ瀺çã«æ§æããŸãã
ãªãã·ã§ã³
txt_ããŒãž
ãã³ãŒãããæåæŸéã®ããŒãžçªå·ã®ãªã¹ãã ç¹å¥ãª*æååã䜿çšããŠãã¹ãŠã«äžèŽãããããšãã§ããŸã
ããŒãžã æå®ãããªã¹ãã«äžèŽããªãããŒãžã¯åé€ãããŸãã ããã©ã«ãå€ã¯*ã§ãã
txt_chop_top
äžçªäžã®ãã¬ããã¹ãè¡ãç Žæ£ããŸãã ããã©ã«ãå€ã¯1ã§ãã
txt_format
ãã³ãŒããããåå¹ã®åœ¢åŒãæå®ããŸãã æåæŸéãã³ãŒããŒã¯
æåæŸéããŒãžããããããããŸãã¯åçŽãªããã¹ãã«ãã³ãŒãããã«ã¯ãããããããããã䜿çšããå¿ èŠããããŸãã
ç¹å®ã®ã°ã©ãã£ãã¯ãè²ãåçŽã«è¡šçŸã§ããªãããããã¬ããã¹ãããŒãž
æç« ã ã¢ããªã±ãŒã·ã§ã³ãåŠçã§ããå Žåã¯ããã¬ããã¹ãããŒã¹ã®åå¹ã«ãããã¹ããã䜿çšã§ããŸã
ã·ã³ãã«ãªããã¹ãããŒã¹ã®åå¹ã ããã©ã«ãå€ã¯ããããããã§ãã
txt_å·Š
çæãããããããããã®Xãªãã»ãããããã©ã«ãã¯0ã§ãã
txt_ããã
çæãããããããããã®Yãªãã»ãããããã©ã«ãã¯0ã§ãã
txt_chop_spaces
å é ãšæ«å°Ÿã®ã¹ããŒã¹ãåãåããçæãããããã¹ããã空ã®è¡ãåé€ããŸãã
ãã®ãªãã·ã§ã³ã¯ã空ã®ã¹ããŒã¹ãååšããå¯èœæ§ãããæåæŸéããŒã¹ã®åå¹ã«åœ¹ç«ã¡ãŸã
è¡ã®æåãŸãã¯æåŸã«ããŸãã¯ç©ºã®è¡ã
ããã«ãµã€ãºã®æåæŸéæåã«ããåå¹è¡ã ããã©ã«ãå€ã¯1ã§ãã
txt_duration
ãã³ãŒãããããã¬ããã¹ãããŒãžãŸãã¯åå¹ã®è¡šç€ºæéãããªç§åäœã§èšå®ããŸãã
ããã©ã«ãå€ã¯30000ãã€ãŸã30ç§ã§ãã
txt_éæ
çæããããã¬ããã¹ãããããããã®èæ¯ãéæã«ããŸãã ããã©ã«ãå€ã¯0ã§ã
ããã¯ãäžéæãªïŒé»ã®ïŒèæ¯ãæå³ããŸãã
ãããã¹ããªãŒã FILTERS
FFmpegãã«ããæ§æãããšããµããŒããããŠãããã¹ãŠã®ãããã¹ããªãŒã ãã£ã«ã¿ãŒãæå¹ã«ãªããŸãã
ãã£ãã©ã«ãã æ§æãªãã·ã§ã³ã--list-bsfsãã䜿çšããŠã䜿çšå¯èœãªãã¹ãŠã®ãã®ããªã¹ãã§ããŸãã
æ§æãªãã·ã§ã³ã--disable-bsfsãã䜿çšããŠããã¹ãŠã®ãããã¹ããªãŒã ãã£ã«ã¿ãŒãç¡å¹ã«ã§ããŸãã
ãªãã·ã§ã³ã--enable-bsf = BSFãã䜿çšããŠãããã¹ããªãŒã ãã£ã«ã¿ãŒãéžæçã«æå¹ã«ãããã次ã®ããšãã§ããŸã
ãªãã·ã§ã³ã--disable-bsf = BSFãã䜿çšããŠãç¹å®ã®ãããã¹ããªãŒã ãã£ã«ã¿ãŒãç¡å¹ã«ããŸãã
ff *ããŒã«ã®ãªãã·ã§ã³ã-bsfsãã¯ããµããŒããããŠãããã¹ãŠã®ãããã¹ããªãŒã ã®ãªã¹ãã衚瀺ããŸã
ãã«ãã«å«ãŸãããã£ã«ã¿ãŒã
ff *ããŒã«ã«ã¯ãã¹ããªãŒã ããšã«é©çšããã-bsfãªãã·ã§ã³ããããã«ã³ãåºåãã®ãªã¹ããååŸããŸãã
ãã£ã«ã¿ããã®ãã©ã¡ãŒã¿ã¯ãã=ãã®åŸã®ãã£ã«ã¿åã®åŸã«ç¶ããŸãã
ffmpeg -i INPUT -cïŒv copy -bsfïŒv filter1 [= opt1 = str1 / opt2 = str2] [ãfilter2] OUTPUT
以äžã¯ãçŸåšå©çšå¯èœãªãããã¹ããªãŒã ãã£ã«ã¿ãŒã®èª¬æã§ãã
ãã©ã¡ãŒã¿ïŒããå ŽåïŒã
aac_adtstoasc
MPEG-2 / 4 AACADTSãMPEG-4ãªãŒãã£ãªåºæã®æ§æãããã¹ããªãŒã ãã£ã«ã¿ãŒã«å€æããŸãã
ãã®ãã£ã«ã¿ã¯ãMPEG-4 / 2ADTSããããŒããMPEG-4AudioSpecificConfigãäœæããåé€ããŸã
ADTSããããŒã
ããã¯ãããšãã°ãAACã¹ããªãŒã ãçã®ADTSAACã³ã³ãããã
FLVãŸãã¯MOV / MP4ãã¡ã€ã«ã
ã ã·ã£ã ã·ã£é£ã¹ã
ãã±ããã®çµããã«ãããŒãããã£ã³ã°ãåé€ããŸãã
ãã³ã_ãšã¯ã¹ãã©
ãã£ã«ã¿ãªã³ã°ããããã±ããã®å é ã«extradataãè¿œå ããŸãã
è¿œå ã®åŒæ°ã¯ããã£ã«ã¿ãªã³ã°ãããã±ãããæå®ããŸãã ããã¯åãå ¥ããŸã
å€ïŒ
a ãã¹ãŠã®ããŒãã±ããã«extradataãè¿œå ããŸããã ããŒã«ã«ããã㌠ã¯ã ãã©ã°2 ã³ãŒââããã¯
ã³ã³ããã¹ããã£ãŒã«ã
k ãã¹ãŠã®ããŒãã±ããã«extradataãè¿œå ããŸã
e ãã¹ãŠã®ãã±ããã«extradataãè¿œå ããŸã
æå®ãããŠããªãå Žåããããæ³å®ãããŸã k.
ããšãã°ã次ã®ããã« ffmpeg ã³ãã³ãã¯ã°ããŒãã«ããããŒã匷å¶ããŸãïŒãããã£ãŠãå人ãç¡å¹ã«ããŸã
ãlibx264ããšã³ã³ãŒããŒã«ãã£ãŠçæãããH.264ãã±ããã®ãã±ããããããŒïŒããããããä¿®æ£ããŸã
extradataã«æ ŒçŽãããŠããããããŒãããŒãã±ããã«è¿œå ããããšã«ããã次ã®ããã«ãªããŸãã
ffmpeg -i INPUT -map 0 -flagsïŒv + global_header -cïŒv libx264 -bsfïŒv dump_extra out.ts
h264_mp4toannexb
H.264ãããã¹ããªãŒã ãé·ããã¬ãã£ãã¯ã¹ã¢ãŒãããéå§ã³ãŒããã¬ãã£ãã¯ã¹ã¢ãŒãã«å€æããŸãïŒ
ITU-TH.264ä»æ§ã®ä»é²Bã§å®çŸ©ãããŠããŸãïŒã
ããã¯ãäžéšã®ã¹ããªãŒãã³ã°åœ¢åŒãéåžžã¯MPEG-2ãã©ã³ã¹ããŒãã¹ããªãŒã 圢åŒã§å¿ èŠã§ãã
ïŒãmpegtsãïŒã
ããšãã°ãH.4ã¹ããªãŒã ãå«ãMP264ãã¡ã€ã«ãmpegts圢åŒã«ãªããã¯ã¹ããã«ã¯ ffmpeg,
次ã®ã³ãã³ãã䜿çšã§ããŸãã
ffmpeg -i INPUT.mp4 -codec copy -bsfïŒv h264_mp4toannexb OUTPUT.ts
imxdump
MOVã«åãŸããFinal CutProãã³ãŒãã§äœ¿çšã§ããããã«ãããã¹ããªãŒã ãå€æŽããŸãã ãã®
ãã£ã«ã¿ã¯mpeg2videoã³ãŒããã¯ã«ã®ã¿é©çšãããFinal Cut Pro7ã«ã¯å¿ èŠãªãå¯èœæ§ããããŸãã
é©åãªæ°ãã -ã¿ã°ïŒv.
ããšãã°ã30MB /ç§ã®NTSCIMXãMOVã«ãªããã¯ã¹ããã«ã¯ã次ã®ããã«ããŸãã
ffmpeg -i input.mxf -c copy -bsfïŒv imxdump -tagïŒv mx3n output.mov
mjpeg2jpeg
MJPEG / AVI1ãã±ãããå®å šãªJPEG / JFIFãã±ããã«å€æããŸãã
MJPEGã¯ãåãããªãã¬ãŒã ãæ¬è³ªçã«JPEGç»åã§ãããããªã³ãŒããã¯ã§ãã The
åã ã®ãã¬ãŒã ã¯ãããšãã°æ¬¡ã®æ¹æ³ã§æ倱ãªãæœåºã§ããŸãã
ffmpeg -i ../some_mjpeg.avi -cïŒv copy frame_ïŒ d.jpg
æ®å¿µãªããããããã®ãã£ã³ã¯ã¯DHTã»ã°ã¡ã³ãããªããããäžå®å šãªJPEGç»åã§ãã
ãã³ãŒãã«å¿ èŠã§ãã ããã®åŒçš
<http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml>:
2001幎ã«rec.video.desktopãã¥ãŒã¹ã°ã«ãŒãã«æžãããšã€ããªãŒã»ãªãŒã¯ããMJPEGããŸãã¯
å°ãªããšãMJPGfourccãæã€AVIã®MJPEGã¯ãåºå®ãããå¶éä»ãJPEGã§ã-ãããŠ
*çç¥*-ãããã³ããŒãã«ã JPEGã¯YCbCrè²ç©ºéã§ããå¿ èŠãããã4ïŒ2ïŒ2ã§ããå¿ èŠããããŸãã
ç®è¡ãŸãã¯ããã°ã¬ãã·ãã§ã¯ãªããåºæ¬çãªãããã³ç¬Šå·åã䜿çšããå¿ èŠããããŸãã ã ã ã ããªãã¯ç¢ºãã«ããããšãã§ããŸã
MJPEGãã¬ãŒã ãæœåºããéåžžã®JPEGãã³ãŒããŒã§ãã³ãŒãããŸããã
ãããã®åã«DHTã»ã°ã¡ã³ããè¿œå ããŸããããããªããšããã³ãŒããŒã¯è§£åããæ¹æ³ãããããŸããã
ããŒã¿ã å¿ èŠãªæ£ç¢ºãªè¡šã¯ãOpenDMLä»æ§ã«èšèŒãããŠããŸããã
ãã®ãããã¹ããªãŒã ãã£ã«ã¿ãŒã¯ãMJPEGã¹ããªãŒã ããæœåºããããã¬ãŒã ã®ããããŒã«ããããé©çšããŸã
ïŒAVI1ããããŒIDãæã¡ãDHTã»ã°ã¡ã³ãããªãïŒå®å šã«ä¿®é£ŸãããJPEGãçæãã
ç»åã
ffmpeg -i mjpeg-movie.avi -cïŒv copy -bsfïŒv mjpeg2jpeg frame_ïŒ d.jpg
exiftran -i -9 frame * .jpg
ffmpeg -i frame_ïŒ d.jpg -cïŒv copyrotated.avi
mjpega_dump_header
ã¢ããµã
mp3_header_decompress
mpeg4_unpack_bframes
DivXã¹ã¿ã€ã«ã®ããã¯ãããBãã¬ãŒã ã解åããŸãã
DivXã¹ã¿ã€ã«ã®ããã¯ãããBãã¬ãŒã ã¯æå¹ãªMPEG-4ã§ã¯ãªããå£ãããã®ã®åé¿çã«ãããŸããã§ãã
Windowsãµãã·ã¹ãã ã®ãããªã 圌ãã¯ããå€ãã®ã¹ããŒã¹ã䜿çšãããã€ããŒãªAVåæã®åé¡ãåŒãèµ·ããå¯èœæ§ãããã
ãã³ãŒãããCPUãã¯ãŒãå¢ããïŒãã¬ãŒã€ãŒã«è£æ£ããããã®ãã³ãŒããããç»åãã¥ãŒããªãå ŽåïŒ
ãã±ããã¹ã¿ã€ã«ããšã«2,0,2,0ãã¬ãŒã ïŒãæšæºã®ã³ã³ããã«ã³ããŒãããšåé¡ãçºçããŸã
mp4ãmpeg-ps / tsã®ããã«ãMPEG-4ãã³ãŒããŒã¯ãããããã³ãŒãã§ããªãå¯èœæ§ãããããã§ãã
æå¹ãªMPEG-4ã§ã¯ãããŸããã
ããšãã°ãDivXã¹ã¿ã€ã«ã®ããã¯ãããBãã¬ãŒã ãæã€MPEG-4ã¹ããªãŒã ãå«ãAVIãã¡ã€ã«ãä¿®æ£ããã«ã¯
ffmpegã次ã®ã³ãã³ãã䜿çšã§ããŸãã
ffmpeg -i INPUT.avi -codec copy -bsfïŒv mpeg4_unpack_bframes OUTPUT.avi
ãã€ãº
ã³ã³ãããæå·ããããšãªãããã±ããã®å 容ãæå·ããŸãã ãã¡ãžã³ã°ãŸãã¯
ãšã©ãŒã®å埩å/é èœæ§ã®ãã¹ãã
ãã©ã¡ãŒã¿ïŒæ°å€æååããã®å€ã¯ãåºåãã€ãã®é »åºŠã«é¢é£ããŠããŸãã
å€æŽãããŸããã ãããã£ãŠã0以äžã®å€ã¯çŠæ¢ãããŠãããå€ãå°ããã»ã©å€ããªããŸãã
é »ç¹ãªãã€ããå€æŽãããŸãã1ã¯ãã¹ãŠã®ãã€ããå€æŽãããããšãæå³ããŸãã
ffmpeg -i INPUT -c copy -bsf noise [= 1] output.mkv
ãã¹ãŠã®ãã€ãã«å€æŽãé©çšããŸãã
è¿œå ã®åé€
FORMAT OPTIONS
libavformatã©ã€ãã©ãªã¯ããã¹ãŠã®
ãã«ããã¬ã¯ãµãšããã«ããã¬ã¯ãµã ããã«ãåãã«ããã¬ã¯ãµãŸãã¯ããã«ããã¬ã¯ãµã¯ããããããã©ã€ããŒãããµããŒãããå ŽåããããŸã
ãã®ã³ã³ããŒãã³ãã«åºæã®ãªãã·ã§ã³ã
ãªãã·ã§ã³ã¯ã-ãæå®ããŠèšå®ã§ããŸãããªãã·ã§ã³ å€ FFmpegããŒã«ã§ããŸãã¯ãèšå®ããããšã«ãã£ãŠ
ãAVFormatContextããªãã·ã§ã³ã§æ瀺çã«å€ãæå®ãããã libavutil / opt.h ã®API
ããã°ã©ã ã«ãã䜿çšã
ãµããŒããããŠãããªãã·ã§ã³ã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
ã¢ããªãã©ã° ãã©ã° (å ¥åºå)
å¯èœãªå€ïŒ
çŽæ¥
ãããã¡ãªã³ã°ãæžãããŸãã
ãããŒããµã€ãº æŽæ° ( )
ãããŒããµã€ãºããã€ãåäœã§èšå®ããŸããã€ãŸããã¹ããªãŒã ãååŸããããã«åæããããŒã¿ã®ãµã€ãºã§ãã
æ å ±ã å€ã倧ãããããšãããå€ãã®æ å ±ãæ€åºã§ããããã«ãªããŸãã
ã¹ããªãŒã ã«åæ£ãããŸãããé 延ãå¢å ããŸãã æŽæ°ä»¥äžã§ããå¿ èŠããããŸã
32ããã倧ãããããã©ã«ãã§ã¯5000000ã§ãã
ãã±ãããµã€ãº æŽæ° (åºå)
ãã±ãããµã€ãºãèšå®ããŸãã
ãã©ã° ãã©ã° (å ¥åºå)
ãã©ãŒããããã©ã°ãèšå®ããŸãã
å¯èœãªå€ïŒ
ã€ã°ãã
ã€ã³ããã¯ã¹ãç¡èŠããŸãã
ãã¡ã¹ãã·ãŒã¯
äžéšã®ãã©ãŒãããã§ã¯ãé«éã§ããäžæ£ç¢ºãªã·ãŒã¯ãæå¹ã«ããŸãã
ãžã§ã³ãã¹
PTSãçæããŸãã
ããã£ãªã³
æ£ç¢ºã«èšç®ã§ããæ¬ èœå€ãå ¥åããªãã§ãã ããã
ããŒã¹ãªã
AVParsersãç¡å¹ã«ããŸããããã«ãã+ nofillinããå¿ èŠã§ãã
ç¡èŠãã
DTSãç¡èŠããŸãã
ç Žæããç Žæ£
ç Žæãããã¬ãŒã ãç Žæ£ããŸãã
䞊ã¹æ¿ã
DTSã«ãã£ãŠåºåãã±ãããã€ã³ã¿ãŒãªãŒãããŠã¿ãŠãã ããã
ããŒããµã€ã
ãµã€ãããŒã¿ãããŒãžããªãã§ãã ããã
緯床
RTPMP4A-LATMãã€ããŒããæå¹ã«ããŸãã
ããŒãããã¡
ãªãã·ã§ã³ã®ãããã¡ãªã³ã°ã«ãã£ãŠå°å ¥ãããã¬ã€ãã³ã·ãåæžããŸã
ãããæ£ç¢º
ãã©ãããã©ãŒã ããã«ããããã³æéã«äŸåããªãããŒã¿ã®ã¿ãæžã蟌ã¿ãŸãã ããã«ããããã¡ã€ã«ã確å®ã«ãªããŸã
ããŒã¿ãã§ãã¯ãµã ã¯åçŸå¯èœã§ããããã©ãããã©ãŒã éã§äžèŽããŸãã ãã®äž»ãªçšé
ååž°ãã¹ãçšã§ãã
ã·ãŒã¯2 æŽæ° ( )
1ã«èšå®ãããŠããå ŽåããµããŒããããŠããå Žåãããã«ããã¬ã¯ãµã¬ãã«ã§éããŒãã¬ãŒã ãã·ãŒã¯ã§ããããã«ããŸããããã©ã«ã
0ã§ãã
åæããã æŽæ° ( )
å ¥åããããŒãããããã«åæããããã€ã¯ãç§æ°ãæå®ããŸãã ããé«ãå€ã¯
ããæ£ç¢ºãªæ å ±ã®æ€åºãå¯èœã«ããŸãããåŸ ã¡æéãé·ããªããŸãã ããã©ã«ãã¯
5,000,000ãã€ã¯ãç§= 5ç§ã
ã¯ãªããã㌠16é²æ° æåå ( )
埩å·åããŒãèšå®ããŸãã
ã€ã³ããã¯ã¹ã¡ã¢ãª æŽæ° ( )
ã¿ã€ã ã¹ã¿ã³ãã€ã³ããã¯ã¹ã«äœ¿çšãããæ倧ã¡ã¢ãªãèšå®ããŸãïŒã¹ããªãŒã ããšïŒã
rtbufsize æŽæ° ( )
ãªã¢ã«ã¿ã€ã ãã¬ãŒã ã®ãããã¡ãªã³ã°ã«äœ¿çšããæ倧ã¡ã¢ãªãèšå®ããŸãã
fdebug ãã©ã° (å ¥åºå)
ç¹å®ã®ãããã°æ å ±ãåºåããŸãã
å¯èœãªå€ïŒ
ts
æ倧é 延 æŽæ° (å ¥åºå)
æ倧ãã«ããã¬ã¯ãµãŸãã¯ããã«ããã¬ã¯ãµé 延ããã€ã¯ãç§åäœã§èšå®ããŸãã
fpsãããŒããµã€ãº æŽæ° ( )
fpsã®ãããŒãã«äœ¿çšãããã¬ãŒã æ°ãèšå®ããŸãã
audio_preload æŽæ° (åºå)
ãªãŒãã£ãªãã±ãããæ©æã«ã€ã³ã¿ãŒãªãŒããããã€ã¯ãç§ãèšå®ããŸãã
ãã£ã³ã¯ãã¥ã¬ãŒã·ã§ã³ æŽæ° (åºå)
åãã£ã³ã¯ã«ãã€ã¯ãç§ãèšå®ããŸãã
ãã£ã³ã¯ãµã€ãº æŽæ° (åºå)
åãã£ã³ã¯ã®ãµã€ãºããã€ãåäœã§èšå®ããŸãã
err_detectã f_err_detect ãã©ã° ( )
ãšã©ãŒæ€åºãã©ã°ãèšå®ããŸãã ãf_err_detectãã¯éæšå¥šã§ãããçµç±ã§ã®ã¿äœ¿çšããå¿ èŠããããŸã
ã ffmpeg ããŒã«ã
å¯èœãªå€ïŒ
crccheck
åã蟌ãŸããCRCã確èªããŸãã
ãããã¹ããªãŒã
ãããã¹ããªãŒã ä»æ§ã®éžè±ãæ€åºããŸãã
ãããã¡
äžé©åãªãããã¹ããªãŒã é·ãæ€åºããŸãã
ççºãã
ãã€ããŒãšã©ãŒæ€åºã§ãã³ãŒããäžæ¢ããŸãã
泚ææ·±ã
ä»æ§ã«éåããå®éã«ã¯èŠãããŠããªããã®ã
ãšã©ãŒãã
æºæ ãã
ãã¹ãŠã®ä»æ§ã®éæºæ ããšã©ãŒãšèŠãªããŸãã
ç©æ¥µçãª
æ£åžžãªãšã³ã³ãŒããŒããšã©ãŒãšããŠå®è¡ããŠã¯ãªããªãããšãèæ ®ããŠãã ããã
max_interleave_delta æŽæ° (åºå)
ã€ã³ã¿ãŒãªãŒãã®æ倧ãããã¡ãªã³ã°æéãèšå®ããŸãã æéã¯ã§è¡šãããŸã
ãã€ã¯ãç§ãããã©ã«ãã¯1000000ïŒ1ç§ïŒã§ãã
ãã¹ãŠã®ã¹ããªãŒã ãæ£ããã€ã³ã¿ãŒãªãŒããããããã«ããããã«ãlibavformatã¯ãããŸã§åŸ æ©ããŸã
å®éã«ãã±ãããæžã蟌ãåã«ãã¹ããªãŒã ããšã«å°ãªããšãXNUMXã€ã®ãã±ããããããŸãã
åºåãã¡ã€ã«ã äžéšã®ã¹ããªãŒã ãããŸã°ããã§ããå ŽåïŒã€ãŸããéã«å€§ããªã®ã£ãããããå Žå
é£ç¶ãããã±ããïŒãããã«ããéå°ãªãããã¡ãªã³ã°ãçºçããå¯èœæ§ããããŸãã
ãã®ãã£ãŒã«ãã¯ãæåã®ã¿ã€ã ã¹ã¿ã³ããšã®ã¿ã€ã ã¹ã¿ã³ãã®æ倧差ãæå®ããŸã
muxingãã¥ãŒã®æåŸã®ãã±ããããããè¶ ãããšãlibavformatããã±ãããåºåããŸãã
ãã¹ãŠã®ã¹ããªãŒã ã®ãã±ããããã¥ãŒã«å ¥ãããã©ããã«é¢ä¿ãªãã
0ã«èšå®ãããšãlibavformatã¯ã次ã®ãã±ãããã§ãããŸã§ãã±ããã®ãããã¡ãªã³ã°ãç¶è¡ããŸãã
ãããã¡ãªã³ã°ãããéã®æ倧ã¿ã€ã ã¹ã¿ã³ãã®éãã«é¢ä¿ãªããåã¹ããªãŒã
ãã±ããã
use_wall Clock_as_timestamps æŽæ° ( )
ã¿ã€ã ã¹ã¿ã³ããšããŠwallclockã䜿çšããŸãã
aim_negative_ts æŽæ° (åºå)
å¯èœãªå€ïŒ
ã¡ã€ã¯_ãã³ãã¬ãã£ã
ã¿ã€ã ã¹ã¿ã³ããã·ããããŠãè² ã§ãªãããã«ããŸãã ãŸããããã¯ã®ã¿åœ±é¿ããããšã«æ³šæããŠãã ãã
éå調ãªè² ã®ã¿ã€ã ã¹ã¿ã³ãã§ã¯ãªããå è¡ããè² ã®ã¿ã€ã ã¹ã¿ã³ãã
ã¡ã€ã¯ãŒã
æåã®ã¿ã€ã ã¹ã¿ã³ãã0ã«ãªãããã«ã¿ã€ã ã¹ã¿ã³ããã·ããããŸãã
ãªãŒã ïŒããã©ã«ãïŒ
ã¿ãŒã²ãããã©ãŒãããã§å¿ èŠãªå Žåã«ã·ãããæå¹ã«ããŸãã
ç¡å¹
ã¿ã€ã ã¹ã¿ã³ãã®ã·ãããç¡å¹ã«ããŸãã
ã·ãããæå¹ã«ãããšããã¹ãŠã®åºåã¿ã€ã ã¹ã¿ã³ããåãéã ãã·ãããããŸãã ãªãŒãã£ãªã
ãããªãåå¹ã®éåæåãšçžå¯Ÿçãªã¿ã€ã ã¹ã¿ã³ãã®éãã¯ä¿æãããŸã
ã·ããããªãã£ãå Žåãšæ¯èŒããŠã
Skip_initial_bytes æŽæ° ( )
1ã«èšå®ãããŠããå ŽåãããããŒãšãã¬ãŒã ãèªã¿åãåã«ã¹ããããããã€ãæ°ãèšå®ããŸããããã©ã«ãã¯
0.
æ£ãã_ts_ãªãŒããŒãã㌠æŽæ° ( )
1ã«èšå®ãããŠããå Žåãåäžã®ã¿ã€ã ã¹ã¿ã³ããªãŒããŒãããŒãä¿®æ£ããŸããããã©ã«ãã¯1ã§ãã
ãã©ãã·ã¥_ãã±ãã æŽæ° (åºå)
åãã±ããã®åŸã«ãåºã«ãªãI / Oã¹ããªãŒã ããã©ãã·ã¥ããŸãã ããã©ã«ã1ã¯ãããæå¹ã«ãã
åŸ ã¡æéãççž®ããå¹æã 0ã¯ãããç¡å¹ã«ããããã©ãŒãã³ã¹ããããã«åäžãããå¯èœæ§ããããŸã
ããå Žåã
åºå_ts_offset ãªãã»ãã (åºå)
åºåæéãªãã»ãããèšå®ããŸãã
ãªãã»ãã æéã®æå®ã§ããå¿ èŠããããŸãããåç §ããŠãã ããã ã Time ãã¥ã¬ãŒã·ã§ã³ in ã
ffmpeg-utils(1) ããã¥ã¢ã«.
ãªãã»ããã¯ããã«ããã¬ã¯ãµã«ãã£ãŠåºåã¿ã€ã ã¹ã¿ã³ãã«è¿œå ãããŸãã
æ£ã®ãªãã»ãããæå®ãããšã察å¿ããã¹ããªãŒã ãé 延ããŸãã
ã§æå®ãããæé ãªãã»ããã ããã©ã«ãå€ã¯0ã§ãïŒãªãã»ããããªãããšãæå³ããŸã
é©çšïŒã
ãã©ãŒããã_ãã¯ã€ããªã¹ã ãªã¹ã ( )
"ã"ã¯èš±å¯ãããããã«ããã¬ã¯ãµã®ãªã¹ããåé¢ããŸããã ããã©ã«ãã§ã¯ããã¹ãŠãèš±å¯ãããŠããŸãã
ãã³ãã»ãã¬ãŒã¿ãŒ æåå ( )
ã¹ããªãŒã ã«é¢ããã³ãã³ãã©ã€ã³ã«åºåããããã£ãŒã«ããåºåãããã«äœ¿çšãããã»ãã¬ãŒã¿
ãã©ã¡ãŒã¿ãŒã ããšãã°ããã£ãŒã«ããæ¹è¡ãšã€ã³ãã³ãã§åºåãã«ã¯ã次ã®ããã«ããŸãã
ffprobe -dump_separator "
" -ç§ ã/ videos / matrixbench_mpeg2.mpg
ãã©ãŒããã æµã æå®å
ãã©ãŒãããã¹ããªãŒã æå®åã䜿çšãããšãç¹å®ã®ã¹ããªãŒã ã«äžèŽããXNUMXã€ä»¥äžã®ã¹ããªãŒã ãéžæã§ããŸã
ããããã£ã
ã¹ããªãŒã æå®åã®å¯èœãªåœ¢åŒã¯æ¬¡ã®ãšããã§ãã
ã¹ããªãŒã ã€ã³ããã¯ã¹
ã¹ããªãŒã ããã®ã€ã³ããã¯ã¹ãšäžèŽãããŸãã
ã¹ããªãŒã ã¿ã€ã[:ã¹ããªãŒã ã€ã³ããã¯ã¹]
ã¹ããªãŒã ã¿ã€ã ã¯æ¬¡ã®ããããã§ãïŒãvãã¯ãããªããaãã¯ãªãŒãã£ãªããsãã¯åå¹ããdã
ããŒã¿ã®å Žåã¯ãtããæ·»ä»ãã¡ã€ã«ã®å Žåã¯ãtãã ããã ã¹ããªãŒã ã€ã³ããã¯ã¹ ãäžãããããšãããã¯äžèŽããŸã
ã¹ããªãŒã çªå· ã¹ããªãŒã ã€ã³ããã¯ã¹ ãã®ã¿ã€ãã®ã ãã以å€ã®å Žåã¯ããã®ãã¹ãŠã®ã¹ããªãŒã ã«äžèŽããŸã
ã¿ã€ãã
p:ããã°ã©ã ID[:ã¹ããªãŒã ã€ã³ããã¯ã¹]
If ã¹ããªãŒã ã€ã³ããã¯ã¹ ãäžãããããšãã¹ããªãŒã ãšçªå·ãäžèŽããŸã ã¹ããªãŒã ã€ã³ããã¯ã¹ ã»ã¯ã·ã§ã³ã«
IDã®ããã°ã©ã ããã°ã©ã IDã ãã以å€ã®å Žåã¯ãããã°ã©ã å ã®ãã¹ãŠã®ã¹ããªãŒã ã«äžèŽããŸãã
#ã¹ããªãŒã ID
ãã©ãŒãããåºæã®IDã§ã¹ããªãŒã ãç §åããŸãã
ã¹ããªãŒã æå®åã®æ£ç¢ºãªã»ãã³ãã£ã¯ã¹ã¯ã
ã§å®£èšããããavformat_match_stream_specifierïŒïŒãé¢æ° libavformat / avformat.h
ãããã
ããã¥ã¯ãµãŒ
ããã¥ã¯ãµãŒã¯FFmpegã§æ§æãããèŠçŽ ã§ããããã«ãã¡ãã£ã¢ã¹ããªãŒã ã
ç¹å®ã®çš®é¡ã®ãã¡ã€ã«ã
FFmpegãã«ããèšå®ãããšããµããŒããããŠãããã¹ãŠã®ããã«ããã¬ã¯ãµãããã©ã«ãã§æå¹ã«ãªããŸãã
æ§æãªãã·ã§ã³ã--list-demuxersãã䜿çšããŠã䜿çšå¯èœãªãã¹ãŠã®ãã®ããªã¹ãã§ããŸãã
æ§æãªãã·ã§ã³ã--disable-demuxersãã䜿çšããŠããã¹ãŠã®ããã«ããã¬ã¯ãµãç¡å¹ã«ã§ããŸãã
ãªãã·ã§ã³ã--enable-demuxer =ãã䜿çšããŠåäžã®ããã«ããã¬ã¯ãµãéžæçã«æå¹ã«ããŸãããã¥ã¯ãµãŒãããŸãã¯ç¡å¹ã«ãã
ãªãã·ã§ã³ã--disable-demuxer =ããã¥ã¯ãµãŒã.
ff *ããŒã«ã®ãªãã·ã§ã³ã-formatsãã¯ãæå¹ãªããã«ããã¬ã¯ãµã®ãªã¹ãã衚瀺ããŸãã
çŸåšå©çšå¯èœãªããã€ãã®ããã«ããã¬ã¯ãµã®èª¬æã¯æ¬¡ã®ãšããã§ãã
aa
Audible Format 2ã3ãããã³4ã®ããã«ããã¬ã¯ãµã
ãã®ããã«ããã¬ã¯ãµã¯ãAudible Format 2ã3ãããã³4ïŒ.aaïŒãã¡ã€ã«ãããã«ããã¬ã¯ãµããããã«äœ¿çšãããŸãã
ã¢ããã«http
AppleHTTPã©ã€ãã¹ããªãŒãã³ã°ããã«ããã¬ã¯ãµã
ãã®ããã«ããã¬ã¯ãµã¯ããã¹ãŠã®ããªã¢ã³ãã¹ããªãŒã ããã®ãã¹ãŠã®AVStreamã衚瀺ããŸãã idãã£ãŒã«ãã¯ã«èšå®ãããŸã
ãããã¬ãŒãããªã¢ã³ãã€ã³ããã¯ã¹çªå·ã AVStreamsã«ç Žæ£ãã©ã°ãèšå®ããïŒãaããæŒãïŒ
ãŸãã¯ffplayã®ãvãïŒãåŒã³åºãå ã¯å®éã«åä¿¡ããããªã¢ã³ãã¹ããªãŒã ã決å®ã§ããŸãã NS
ã¹ããªãŒã ãå±ããããªã¢ã³ãã®åèšãããã¬ãŒãã¯ãã¡ã¿ããŒã¿ããŒã§å©çšã§ããŸã
ãvariant_bitrateããšããååã
APNG
ã¢ãã¡ãŒã·ã§ã³åãããããŒã¿ãã«ãããã¯ãŒã¯ã°ã©ãã£ãã¯ã¹ããã«ããã¬ã¯ãµã
ãã®ããã«ããã¬ã¯ãµã¯ãAPNGãã¡ã€ã«ãããã«ããã¬ã¯ãµããããã«äœ¿çšãããŸãã PNG眲åãé€ããã¹ãŠã®ããããŒïŒãã ã
å«ãŸãªãïŒæåã®fcTLãã£ã³ã¯ã¯extradataãšããŠéä¿¡ãããŸãã ãã®åŸããã¬ãŒã ãåå²ãããŸã
XNUMXã€ã®fcTLãã£ã³ã¯éããŸãã¯æåŸã®fcTLãã£ã³ã¯ãšIENDãã£ã³ã¯éã®ãã¹ãŠã®ãã£ã³ã¯ãšããŠã
-ignore_loop ããŒã«
èšå®ãããŠããå Žåããã¡ã€ã«å ã®ã«ãŒãå€æ°ãç¡èŠããŸãã
-max_fps intå
0ç§ãããã®ãã¬ãŒã æ°ã§è¡šããæ倧ãã¬ãŒã ã¬ãŒãïŒå¶éãªãã®å Žåã¯XNUMXïŒã
-default_fps intå
ãã¡ã€ã«ã«äœãæå®ãããŠããªãå Žåã®ããã©ã«ãã®ãã¬ãŒã ã¬ãŒãïŒãã¬ãŒã /ç§ïŒïŒ0ã¯æå³
ã§ããã ãéãïŒã
ASF
Advanced SystemsFormatããã«ããã¬ã¯ãµã
ãã®ããã«ããã¬ã¯ãµã¯ãASFãã¡ã€ã«ãšMMSãããã¯ãŒã¯ã¹ããªãŒã ãããã«ããã¬ã¯ãµããããã«äœ¿çšãããŸãã
-no_resync_search ããŒã«
ç¹å®ã®ãªãã·ã§ã³ã®éå§ã³ãŒããæ¢ããŠååæãè©Šã¿ãªãã§ãã ããã
é£çµ
ä»®æ³é£çµã¹ã¯ãªããããã«ããã¬ã¯ãµã
ãã®ããã«ããã¬ã¯ãµã¯ãããã¹ããã¡ã€ã«ãããã¡ã€ã«ãšãã®ä»ã®ãã£ã¬ã¯ãã£ãã®ãªã¹ããèªã¿åããããããããã«ããã¬ã¯ãµããŸã
ãŸãã§åœŒãã®ãã¹ãŠã®ãã±ãããäžç·ã«æ··ãåãããããã®ããã«ã次ã ã«ã
ãã¡ã€ã«ã®ã¿ã€ã ã¹ã¿ã³ãã¯ãæåã®ãã¡ã€ã«ã0ããå§ãŸãã次ã®åãã¡ã€ã«ãå§ãŸãããã«èª¿æŽãããŸãã
ãã¡ã€ã«ã¯åã®ãã¡ã€ã«ãçµäºãããšããããå§ãŸããŸãã ããã¯ã°ããŒãã«ã«è¡ãããåå ãšãªãå¯èœæ§ãããããšã«æ³šæããŠãã ãã
ãã¹ãŠã®ã¹ããªãŒã ã®é·ãããŸã£ããåãã§ãªãå Žåã¯ã®ã£ãããçºçããŸãã
ãã¹ãŠã®ãã¡ã€ã«ã¯åãã¹ããªãŒã ïŒåãã³ãŒããã¯ãåãã¿ã€ã ããŒã¹ãªã©ïŒãæã£ãŠããå¿ èŠããããŸãã
åãã¡ã€ã«ã®æéã¯ã次ã®ãã¡ã€ã«ã®ã¿ã€ã ã¹ã¿ã³ãã調æŽããããã«äœ¿çšãããŸãã
æéãæ£ãããªãïŒãããã¬ãŒãã䜿çšããŠèšç®ãããããããŸãã¯ãã¡ã€ã«ã
ããšãã°ãåãæšãŠãããå ŽåïŒãã¢ãŒãã£ãã¡ã¯ããçºçããå¯èœæ§ããããŸãã ãdurationããã£ã¬ã¯ãã£ãã¯ã
åãã¡ã€ã«ã«ä¿åãããŠããæéãäžæžãããŸãã
æ§æ
ã¹ã¯ãªããã¯æ¡åŒµASCIIã®ããã¹ããã¡ã€ã«ã§ãXNUMXè¡ã«XNUMXã€ã®ãã£ã¬ã¯ãã£ãããããŸãã 空ã®è¡ã
'ïŒ'ã§å§ãŸãå é ã®ã¹ããŒã¹ãšè¡ã¯ç¡èŠãããŸãã 次ã®ãã£ã¬ã¯ãã£ãã¯
èªèãããïŒ
"ãã¡ã€ã« path"
èªã¿åããã¡ã€ã«ãžã®ãã¹ã ç¹æ®æåãšã¹ããŒã¹ã¯åèšå·ã§ãšã¹ã±ãŒãããå¿ èŠããããŸã
ãŸãã¯äžéåŒçšç¬Šã
以éã®ãã¹ãŠã®ãã¡ã€ã«é¢é£ã®ãã£ã¬ã¯ãã£ãã¯ããã®ãã¡ã€ã«ã«é©çšãããŸãã
ãffconcat ããŒãžã§ã³ 1.0 "
ã¹ã¯ãªããã®çš®é¡ãšããŒãžã§ã³ãç¹å®ããŸãã ãŸãã å®å šãª ããå Žåã¯1ãžã®ãªãã·ã§ã³
ããã©ã«ãã¯-1ã§ãã
FFmpegã«ãã©ãŒããããèªåçã«èªèãããã«ã¯ããã®ãã£ã¬ã¯ãã£ããæ£ç¢ºã«è¡šç€ºãããå¿ èŠããããŸã
ã¹ã¯ãªããã®æåã®è¡ã«ãã®ãŸãŸïŒäœåãªã¹ããŒã¹ããã€ãé ããŒã¯ã¯ãããŸããïŒã
"éé DUR"
ãã¡ã€ã«ã®æéã ãã®æ å ±ã¯ãã¡ã€ã«ããæå®ã§ããŸãã ãããæå®ãã
ããã§ã¯ããã¡ã€ã«ã®æ å ±ãå©çšã§ããªãå Žåã«ãããå¹ççãŸãã¯åœ¹ç«ã€å ŽåããããŸã
ãŸãã¯æ£ç¢ºã
ãã¹ãŠã®ãã¡ã€ã«ã«æéãèšå®ãããŠããå Žåãå šäœãã·ãŒã¯ããããšãå¯èœã§ã
é£çµããããããªã
ãã€ã³ãã€ã³ã ã¿ã€ã ã¹ã¿ã³ã"
ãã¡ã€ã«ã®ãã€ã³ãã§ã ããã«ããã¬ã¯ãµããã¡ã€ã«ãéããšãå³åº§ã«
æå®ãããã¿ã€ã ã¹ã¿ã³ãã ãã¹ãŠã®ã¹ããªãŒã ãæ£åžžã«è¡šç€ºã§ããããã«ã·ãŒã¯ãè¡ãããŸã
ã€ã³ãã€ã³ãã§ã
ãã®ãã£ã¬ã¯ãã£ãã¯ããã¬ãŒã å ã³ãŒããã¯ã§ã¯æé©ã«æ©èœããŸããããã¯ããã¬ãŒã å ã³ãŒããã¯ã§ã¯ãªãããã§ãã
éåžžãå®éã®ã€ã³ãã€ã³ããšãã³ãŒããããã³ã³ãã³ãã®åã«è¿œå ã®ãã±ãããååŸããŸã
ã»ãšãã©ã®å Žåãã€ã³ãã€ã³ãã®åã«ããã¬ãŒã ãå«ãŸããŸãã
ãã¡ã€ã«ããšã«ããã¡ã€ã«ã€ã³ãã€ã³ãã®åã®ãã±ããã®ã¿ã€ã ã¹ã¿ã³ãã¯
ãã¡ã€ã«ã®èšç®ãããéå§ã¿ã€ã ã¹ã¿ã³ãïŒæåã®ãã¡ã€ã«ã®å Žåã¯è² ïŒãããã³
ãã¡ã€ã«ã®æéïŒãdurationããã£ã¬ã¯ãã£ãã§æå®ãããŠããªãå ŽåïŒãççž®ãããŸã
æå®ãããã€ã³ãã€ã³ãã«åºã¥ããŸãã
æå®ãããã€ã³ãã€ã³ãããåã®æœåšçãªãã±ããã®ããããã±ããã®ã¿ã€ã ã¹ã¿ã³ãã¯
XNUMXã€ã®é£çµããããã¡ã€ã«éã®éãªãã
ãã¢ãŠããã€ã³ã ã¿ã€ã ã¹ã¿ã³ã"
ãã¡ã€ã«ã®ã¢ãŠããã€ã³ãã ããã«ããã¬ã¯ãµãã§æå®ããããã³ãŒãã¿ã€ã ã¹ã¿ã³ãã«éãããšã
ã¹ããªãŒã ã®ãããããããã¯ãã¡ã€ã«ã®çµããã®ç¶æ ãšããŠãããåŠçããçŸåšã®ãã¹ãããããŸã
ãããŠããã¹ãŠã®ã¹ããªãŒã ããã®æ®ãã®ãã¹ãŠã®ãã±ããã
ã¢ãŠããã€ã³ãã¯æä»çã§ããã€ãŸããããã«ããã¬ã¯ãµã¯ãã±ãããåºåããŸããã
ã¢ãŠããã€ã³ã以äžã®ã¿ã€ã ã¹ã¿ã³ãããã³ãŒãããŸãã
ãã®ãã£ã¬ã¯ãã£ãã¯ããã¹ãŠã®ã¹ããªãŒã ãååšãããã¬ãŒã å ã³ãŒããã¯ããã³ãã©ãŒãããã§æé©ã«æ©èœããŸãã
ãã£ãããšã€ã³ã¿ãŒãªãŒããããŠããŸãã éã€ã³ãã©ãã¬ãŒã ã³ãŒããã¯ã®å Žåãéåžžã¯è¿œå ã®ã³ãŒããã¯ãååŸããŸã
ã¢ãŠããã€ã³ãã®åŸã«ãã¬ãŒã³ããŒã·ã§ã³ã¿ã€ã ã¹ã¿ã³ãããããã±ããããããã£ãŠãã³ãŒããããã³ã³ãã³ãã¯
ã»ãšãã©ã®å Žåãã¢ãŠããã€ã³ãã®åŸã«ãã¬ãŒã ãå«ãŸããŠããŸãã ã¹ããªãŒã ãã¿ã€ãã§ãªãå Žå
ã€ã³ã¿ãŒãªãŒããããå Žåãã¢ãŠããã€ã³ãã®åã«ãã¹ãŠã®ã¹ããªãŒã ãããã¹ãŠã®ãã±ãããååŸã§ããªãå ŽåããããŸãã
ã¢ãŠããã€ã³ããŸã§ãæãæ©ãã¹ããªãŒã ã®ã¿ããã³ãŒãã§ããå¯èœæ§ããããŸãã
ãã¡ã€ã«ã®æéïŒãdurationããã£ã¬ã¯ãã£ãã§æå®ãããŠããªãå ŽåïŒã¯æ¬¡ã®ããã«ãªããŸã
æå®ãããã¢ãŠããã€ã³ãã«åºã¥ããŠåæžãããŸãã
"file_packet_metadata key = value"
ãã¡ã€ã«ã®ãã±ããã®ã¡ã¿ããŒã¿ã æå®ããã¡ã¿ããŒã¿ããã¡ã€ã«ããšã«èšå®ãããŸã
ãã±ããã ãã®ãã£ã¬ã¯ãã£ããè€æ°åæå®ããŠãè€æ°ã®ã¡ã¿ããŒã¿ãè¿œå ã§ããŸã
ãšã³ããªãŒã
"ã¹ããªãŒã "
ä»®æ³ãã¡ã€ã«ã«ã¹ããªãŒã ãå°å ¥ããŸãã åŸç¶ã®ãã¹ãŠã®ã¹ããªãŒã é¢é£ã®ãã£ã¬ã¯ãã£ã
æåŸã«å°å ¥ãããã¹ããªãŒã ã«é©çšãããŸãã äžéšã®ã¹ããªãŒã ããããã£ã¯ã次ã®ããã«èšå®ããå¿ èŠããããŸã
ãµããã¡ã€ã«å ã®äžèŽããã¹ããªãŒã ãèå¥ã§ããããã«ããŸãã ã§ã¹ããªãŒã ãå®çŸ©ãããŠããªãå Žå
ã¹ã¯ãªããã§ã¯ãæåã®ãã¡ã€ã«ããã®ã¹ããªãŒã ãã³ããŒãããŸãã
"exact_stream_id id"
ã¹ããªãŒã ã®IDãèšå®ããŸãã ãã®ãã£ã¬ã¯ãã£ããæå®ãããŠããå Žåã
ãµããã¡ã€ã«å ã®å¯Ÿå¿ããIDã䜿çšãããŸãã ããã¯ãMPEG-PSã§ç¹ã«åœ¹ç«ã¡ãŸã
ïŒVOBïŒãã¡ã€ã«ãã¹ããªãŒã ã®é åºãä¿¡é Œã§ããŸããã
ãªãã·ã§ã³
ãã®ããã«ããã¬ã¯ãµã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
å®å šãª
1ã«èšå®ãããšãå®å šã§ãªããã¡ã€ã«ãã¹ãæåŠããŸãã ããã§ãªãå Žåããã¡ã€ã«ãã¹ã¯å®å šã§ãããšèŠãªãããŸã
ãããã³ã«ä»æ§ãå«ã¿ãçžå¯Ÿçã§ããããã¹ãŠã®ã³ã³ããŒãã³ãã«ã¯ã®ã¿ãå«ãŸããŸã
ããŒã¿ãã«æåã»ããã®æåïŒæåãæ°åãããªãªããã¢ã³ããŒã¹ã³ã¢ãããã³
ãã€ãã³ïŒã§ãããã³ã³ããŒãã³ãã®å é ã«ããªãªãã¯ãããŸããã
0ã«èšå®ãããšãä»»æã®ãã¡ã€ã«åãåãå ¥ããããŸãã
ããã©ã«ãã¯-1ã§ããã©ãŒããããèªåçã«ãããŒããããå Žåã¯1ã«çžåœãã0ã«çžåœããŸãã
ãããªããšã
auto_convert
1ã«èšå®ãããŠããå Žåã¯ããã±ããããŒã¿ã«å¯ŸããŠèªåå€æãå®è¡ããŠã¹ããªãŒã ãäœæããŠã¿ãŠãã ãã
é£çµå¯èœã ããã©ã«ãã¯1ã§ãã
çŸåšãå¯äžã®å€æã¯ãh264_mp4toannexbãããã¹ããªãŒã ãã£ã«ã¿ãŒãã«è¿œå ããããšã§ãã
MP264圢åŒã®H.4ã¹ããªãŒã ã ããã¯ç¹ã«è§£æ±ºçãããå Žåã«å¿ èŠã§ã
å€æŽã
FLV
Adobe Flash VideoFormatããã«ããã¬ã¯ãµã
ãã®ããã«ããã¬ã¯ãµã¯ãFLVãã¡ã€ã«ãšRTMPãããã¯ãŒã¯ã¹ããªãŒã ãããã«ããã¬ã¯ãµããããã«äœ¿çšãããŸãã
-flv_ã¡ã¿ããŒã¿ ããŒã«
onMetaDataé åã®å 容ã«åŸã£ãŠã¹ããªãŒã ãå²ãåœãŠãŸãã
libgme
Game Music Emuã©ã€ãã©ãªã¯ããããªã²ãŒã é³æ¥œãã¡ã€ã«ãšãã¥ã¬ãŒã¿ã®ã³ã¬ã¯ã·ã§ã³ã§ãã
èŠãhttp://code.google.com/p/game-music-emu/>詳现ã«ã€ããŠã¯ã
äžéšã®ãã¡ã€ã«ã«ã¯è€æ°ã®ãã©ãã¯ããããŸãã ããã«ããã¬ã¯ãµã¯ãããã©ã«ãã§æåã®ãã©ãã¯ãéžæããŸãã NS
ãã©ãã¯ã€ã³ããã¯ã¹ ãªãã·ã§ã³ã䜿çšããŠãå¥ã®ãã©ãã¯ãéžæã§ããŸãã ãã©ãã¯ã€ã³ããã¯ã¹ã¯0ããå§ãŸããŸãã
demuxerã¯ãã©ãã¯æ°ã次ã®ããã«ãšã¯ã¹ããŒãããŸã ãã©ã㯠ã¡ã¿ããŒã¿ãšã³ããªã
éåžžã«å€§ããªãã¡ã€ã«ã®å Žåã æ倧ãµã€ãº ãªãã·ã§ã³ã調æŽããå¿ èŠãããå ŽåããããŸãã
ãªãã¯ãŽã£
quviãããžã§ã¯ãã䜿çšããŠã€ã³ã¿ãŒããããµãŒãã¹ããã¡ãã£ã¢ãåçããŸãã
ããã«ããã¬ã¯ãµã¯ã 圢åŒã§ã¢ãŒã«ã€ããããããžã§ã¯ããä¿åããŸãïŒ ç¹å®ã®å質ãèŠæ±ãããªãã·ã§ã³ã ããã©ã«ãã§ã¯ã«èšå®ãããŠããŸã
æè¯.
èŠãhttp://quvi.sourceforge.net/>詳现ã«ã€ããŠã¯ã
ãã®ããã«ããã¬ã¯ãµãæå¹ã«ããã«ã¯ãFFmpegãã--enable-libquviãã§ãã«ãããå¿ èŠããããŸãã
GIF
ã¢ãã¡ãŒã·ã§ã³GIFããã«ããã¬ã¯ãµã
次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
min_delay
ãã¬ãŒã éã®æå°æå¹é 延ã0åã®XNUMXç§åäœã§èšå®ããŸãã ç¯å²ã¯XNUMXã
6000ãããã©ã«ãå€ã¯2ã§ãã
max_gif_é 延
ãã¬ãŒã éã®æ倧æå¹é 延ã0åã®XNUMXç§åäœã§èšå®ããŸãã ç¯å²ã¯XNUMXã
65535ãããã©ã«ãå€ã¯65535ïŒçŽXNUMXåïŒã§ãèš±å¯ãããæ倧å€ã¯
ä»æ§ã
ããã©ã«ã_é 延
ãã¬ãŒã éã®ããã©ã«ãã®é 延ã0åã®6000ç§åäœã§èšå®ããŸãã ç¯å²ã¯XNUMXãXNUMXã§ãã
ããã©ã«ãå€ã¯10ã§ãã
ç¡èŠã«ãŒã
GIFãã¡ã€ã«ã«ã¯ãç¹å®ã®åæ°ïŒãŸãã¯ç¡éã«ïŒã«ãŒãããæ å ±ãå«ããããšãã§ããŸãã
If ç¡èŠã«ãŒã ã1ã«èšå®ãããŠããå Žåãå ¥åããã®ã«ãŒãèšå®ã¯ç¡èŠããã
ã«ãŒãã¯çºçããŸããã 0ã«èšå®ãããšãã«ãŒããçºçããçªå·ã埪ç°ããŸã
GIFã«ãããšäœåºŠãã ããã©ã«ãå€ã¯1ã§ãã
ããšãã°ããªãŒããŒã¬ã€ãã£ã«ã¿ã䜿çšããŠãç¡éã«ã«ãŒãããGIFãå¥ã®ãããªã®äžã«é 眮ããŸãã
ffmpeg -i input.mp4 -ignore_loop 0 -i input.gif -filter_complex overlay = shortest = 1 out.mkv
äžèšã®äŸã§ã¯ããªãŒããŒã¬ã€ãã£ã«ã¿ãŒã®æçãªãã·ã§ã³ã䜿çšããŠ
æçã®å ¥åãã¡ã€ã«ã®é·ãã§ãããªãåºåããŸãããã®å Žåã¯ã å ¥å.mp4 as
ãã®äŸã®GIFã¯ç¡éã«ã«ãŒãããŸãã
image2
ç»åãã¡ã€ã«ã®ããã«ããã¬ã¯ãµã
ãã®ããã«ããã¬ã¯ãµã¯ããã¿ãŒã³ã§æå®ãããç»åãã¡ã€ã«ã®ãªã¹ãããèªã¿åããŸãã æ§æãš
ãã¿ãŒã³ã®æå³ã¯ãªãã·ã§ã³ã§æå®ãããŸã ãã¿ãŒã³ã¿ã€ã.
ãã¿ãŒã³ã«ã¯ã次ã®åœ¢åŒãèªåçã«å€å¥ããããã«äœ¿çšãããæ¥å°ŸèŸãå«ãŸããå ŽåããããŸãã
ãã¡ã€ã«ã«å«ãŸããç»åã
ãµã€ãºããã¯ã»ã«åœ¢åŒãããã³åç»åã®åœ¢åŒã¯ããã¹ãŠã®ç»åã§åãã§ããå¿ èŠããããŸãã
ã·ãŒã±ã³ã¹å ã®ãã¡ã€ã«ã
ãã®ããã«ããã¬ã¯ãµã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãã¬ãŒã ã¬ãŒã
ãããªã¹ããªãŒã ã®ãã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã©ã«ãã¯25ã§ãã
ã«ãŒã
1ã«èšå®ãããšãå ¥åãã«ãŒãããŸãã ããã©ã«ãå€ã¯0ã§ãã
ãã¿ãŒã³ã¿ã€ã
æäŸããããã¡ã€ã«åã®è§£éã«äœ¿çšããããã¿ãŒã³ã¿ã€ããéžæããŸãã
ãã¿ãŒã³ã¿ã€ã 次ã®ããããã®å€ãåãå ¥ããŸãã
ãªã
ãã¿ãŒã³ãããã³ã°ãç¡å¹ã«ããããããããªã«ã¯æå®ããããã®ã®ã¿ãå«ãŸããŸã
ç»åã ããã·ãŒã±ã³ã¹ãäœæããããªãå Žåã¯ããã®ãªãã·ã§ã³ã䜿çšããå¿ èŠããããŸã
è€æ°ã®ç»åãšãã¡ã€ã«åã«ç¹æ®ãªãã¿ãŒã³æåãå«ãŸããŠããå ŽåããããŸãã
ã·ãŒã±ã³ã¹
ã·ãŒã±ã³ã¹ãã¿ãŒã³ã¿ã€ããéžæããŸããããã¯ãã«ãã£ãŠã€ã³ããã¯ã¹ãä»ãããããã¡ã€ã«ã®ã·ãŒã±ã³ã¹ãæå®ããããã«äœ¿çšãããŸãã
é£çªã
ã·ãŒã±ã³ã¹ãã¿ãŒã³ã«ã¯ãæååãïŒ dããŸãã¯ãïŒ 0ããå«ããããšãã§ããŸãNd "ãããã¯
åãã¡ã€ã«åã®é£çªãè¡šãæåã®äœçœ®
ãã¿ãŒã³ã«äžèŽããŸãã ãã©ãŒã ããïŒ d0ãã®å ŽåNd "ã䜿çšãããæååã¯
åãã¡ã€ã«åã®æ°åã¯0ã§åãããã N 0ãåã蟌ãŸããæ¡ã®ç·æ°ã§ã
æ°ãè¡šããŸãã ãªãã©ã«æå 'ïŒ 'ããã¿ãŒã³ã§æå®ã§ããŸã
æååã%%ãã䜿çšããŸãã
ã·ãŒã±ã³ã¹ãã¿ãŒã³ã«ãïŒ dããŸãã¯ãïŒ 0ããå«ãŸããŠããå ŽåNd "ããã¡ã€ã«ã®æåã®ãã¡ã€ã«å
ãã¿ãŒã³ã§æå®ããããªã¹ãã«ã¯ãéã«å«ãŸããæ°å€ãå«ãŸããŠããå¿ èŠããããŸã
éå§çªå· & éå§çªå·+éå§çªå·ç¯å²-1ãããã³ä»¥äžã®ãã¹ãŠã®çªå·
ã·ãŒã±ã³ã·ã£ã«ã§ããå¿ èŠããããŸãã
ããšãã°ããã¿ãŒã³ãimg-ïŒ 03d.bmpãã¯ã
ãã©ãŒã img-001.bmp, img-002.bmpâŠâŠã img-010.bmpã NSã; ãã¿ãŒã³
"i %% m %% g-ïŒ d.jpg" Loading = "lazy"ã¯ããã©ãŒã ã®ãã¡ã€ã«åã®ã·ãŒã±ã³ã¹ãšäžèŽããŸã iïŒ mïŒ g-1.jpg,
iïŒ mïŒ g-2.jpgâŠâŠã iïŒ mïŒ g-10.jpg, etc.
ãã¿ãŒã³ã«ã¯å¿ ããããïŒ dããŸãã¯ãïŒ 0ããå«ãŸããŠããå¿ èŠã¯ãªãããšã«æ³šæããŠãã ããNd "ãäŸãã°
åäžã®ç»åãã¡ã€ã«ãå€æãã img.jpeg 次ã®ã³ãã³ãã䜿çšã§ããŸãã
ffmpeg -i img.jpeg img.png
å°ç
ã°ããã¯ã€ã«ãã«ãŒããã¿ãŒã³ã¿ã€ããéžæããŸãã
ãã®ãã¿ãŒã³ã¯ãglobïŒïŒããã¿ãŒã³ã®ããã«è§£éãããŸãã ããã¯ã次ã®å Žåã«ã®ã¿éžæã§ããŸã
libavformatã¯globbingããµããŒãããŠã³ã³ãã€ã«ãããŸããã
ã°ããã·ãŒã±ã³ã¹ ïŒéæšå¥šã æå¿ be é€å»ãããïŒ
æ··åã°ããã¯ã€ã«ãã«ãŒã/ã·ãŒã±ã³ã¹ãã¿ãŒã³ãéžæããŸãã
ã䜿çšã®ããŒãžã§ã³ã®libavformatãglobbingãµããŒãã䜿çšããŠã³ã³ãã€ã«ãããŠããå Žåãããã³
æå®ããããã¿ãŒã³ã«ã¯ããïŒ *ïŒ[] {}ãã®äžã«å°ãªããšãXNUMXã€ã®ã°ããã¡ã¿æåãå«ãŸããŠããŸãã
ãšã¹ã±ãŒããããŠããªããïŒ ããåã«ä»ããŠããå Žåããã¿ãŒã³ã¯ãglobïŒïŒããã¿ãŒã³ã®ããã«è§£éãããŸãã
ãã以å€ã®å Žåã¯ãã·ãŒã±ã³ã¹ãã¿ãŒã³ã®ããã«è§£éãããŸãã
ãã¹ãŠã®ã°ããç¹æ®æåãïŒ *ïŒ[] {}ãã®åã«ãïŒ ããä»ããå¿ èŠããããŸãã è±åºããã«ã¯
æåéãã®ãïŒ ãã¯ã%%ãã䜿çšããŸãã
ããšãã°ããã¿ãŒã³ãfoo-ïŒ *ãjpegãã¯ãæ¥é èŸãä»ãããã¹ãŠã®ãã¡ã€ã«åãšäžèŽããŸã
ãfoo-ãã§ã.jpegãã§çµäºãããfoo-ïŒ ïŒïŒ ïŒïŒ ïŒã jpegãã¯ãã¹ãŠã®
ãfoo-ãã§å§ãŸãããã®åŸã«XNUMXæåã®ã·ãŒã±ã³ã¹ãç¶ããã¡ã€ã«åãããã³
ã.jpegãã§çµäºããŸãã
ãã®ãã¿ãŒã³ã¿ã€ãã¯å»æ¢ããã å°ç & ã·ãŒã±ã³ã¹.
ããã©ã«ãå€ã¯ ã°ããã·ãŒã±ã³ã¹.
ãã¯ã»ã«åœ¢åŒ
èªã¿åãç»åã®ãã¯ã»ã«åœ¢åŒãèšå®ããŸãã æå®ãããŠããªãå Žåããã¯ã»ã«åœ¢åŒã¯
ã·ãŒã±ã³ã¹ã®æåã®ç»åãã¡ã€ã«ããæšæž¬ãããŸãã
éå§çªå·
èªã¿åããéå§ããç»åãã¡ã€ã«ãã¿ãŒã³ã«äžèŽãããã¡ã€ã«ã®ã€ã³ããã¯ã¹ãèšå®ããŸãã
ããã©ã«ãå€ã¯0ã§ãã
éå§çªå·ç¯å²
ã§æåã®ç»åãã¡ã€ã«ãæ¢ããšãã«ãã§ãã¯ããã€ã³ããã¯ã¹ééã®ç¯å²ãèšå®ããŸã
ããå§ãŸãã·ãŒã±ã³ã¹ éå§çªå·ã ããã©ã«ãå€ã¯5ã§ãã
ts_from_file
1ã«èšå®ãããšããã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ããç»åãã¡ã€ã«ã®å€æŽæå»ã«èšå®ãããŸãã ãäºæ¿ãã ãã
ã¿ã€ã ã¹ã¿ã³ãã®å調æ§ã¯æäŸãããŸããïŒç»åã¯ããããªãå Žåãšåãé åºã«ãªããŸã
ãªãã·ã§ã³ã ããã©ã«ãå€ã¯0ã§ãã2ã«èšå®ãããšããã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ããå€æŽã«èšå®ãããŸã
ããç§ã®ç²ŸåºŠã§ã®ç»åãã¡ã€ã«ã®æéã
ãããªãµã€ãº
èªã¿åãç»åã®ãããªãµã€ãºãèšå®ããŸãã æå®ãããŠããªãå Žåããããªãµã€ãºãæšæž¬ãããŸã
ã·ãŒã±ã³ã¹ã®æåã®ç»åãã¡ã€ã«ããã
äŸ
㻠䜿çšãã ffmpeg ãã¡ã€ã«ã·ãŒã±ã³ã¹å ã®ç»åãããããªãäœæãããã img-001.jpeg,
img-002.jpegã...ã10ç§ãããXNUMXãã¬ãŒã ã®å ¥åãã¬ãŒã ã¬ãŒããæ³å®ïŒ
ffmpeg -framerate 10 -i'img-ïŒ 03d.jpeg 'out.mkv
ã»äžèšãšåãã§ããã次ã®é åºã§ã€ã³ããã¯ã¹100ã®ãã¡ã€ã«ããèªã¿åãããšããå§ããŸãã
ffmpeg -framerate 10 -start_number 100 -i'img-ïŒ 03d.jpeg 'out.mkv
ã»ã*ãpngãloading = "lazy"ã°ãããã¿ãŒã³ã«äžèŽããç»åãèªã¿åããŸããããã¯ãã§çµäºãããã¹ãŠã®ãã¡ã€ã«ã§ãã
ã.pngãloading = "lazy"ãµãã£ãã¯ã¹ïŒ
ffmpeg -framerate 10 -pattern_type glob -i "* .png" Loading = "lazy" out.mkv
mov / mp4 / 3gp / Quicktme
Quicktime / MP4ããã«ããã¬ã¯ãµã
ãã®ããã«ããã¬ã¯ãµã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
æå¹å_drefs
å€éšãã©ãã¯ã®ããŒããæå¹ã«ããŸããããã©ã«ãã§ã¯ç¡å¹ã«ãªã£ãŠããŸãã ãããæå¹ã«ãããš
çè«çã«ã¯ãäžéšã®ãŠãŒã¹ã±ãŒã¹ã§æ å ±ãæŒæŽ©ããŸãã
use_absolute_path
絶察ãã¹ãä»ããå€éšãã©ãã¯ã®ããŒããèš±å¯ããŸããããã©ã«ãã§ã¯ç¡å¹ã«ãªã£ãŠããŸãã æå¹å
ããã¯ã»ãã¥ãªãã£ãªã¹ã¯ããããããŸãã ãœãŒã¹ãéã§ããããšãããã£ãŠããå Žåã«ã®ã¿æå¹ã«ããå¿ èŠããããŸã
æªæã®ããã
mpegt
MPEG-2ãã©ã³ã¹ããŒãã¹ããªãŒã ããã«ããã¬ã¯ãµã
ãã®ããã«ããã¬ã¯ãµã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ååæãµã€ãº
æ°ããåæãæ€çŽ¢ããããã®ãµã€ãºå¶éãèšå®ããŸãã ããã©ã«ãå€ã¯65536ã§ãã
fix_teletext_pts
æåæŸéãã±ããã®PTSããã³DTSå€ããããèšç®ãããã¿ã€ã ã¹ã¿ã³ãã§äžæžãããŸãã
æåæŸéã¹ããªãŒã ãå«ãŸããç Žæ£ãããªãæåã®ããã°ã©ã ã®PCRã
ããã©ã«ãå€ã¯1ã§ãããã¬ããã¹ããã±ããPTSããã³DTSãå¿ èŠãªå Žåã¯ããã®ãªãã·ã§ã³ã0ã«èšå®ããŸãã
æã€ããã®å€ã
ts_packetsize
çã®ãã±ãããµã€ãºããã€ãåäœã§äŒéããåºåãªãã·ã§ã³ã æ€åºãããçã®ãã±ããã衚瀺ãã
ãµã€ãºããŠãŒã¶ãŒãèšå®ããããšã¯ã§ããŸããã
scan_all_pmts
ãã¹ãŠã®PMTãã¹ãã£ã³ããŠçµåããŸãã å€ã¯-1ãã1ãŸã§ã®å€ã®æŽæ°ã§ãïŒ-1ã¯
èªåèšå®ã1ã¯æå¹ã0ã¯ç¡å¹ãæå³ããŸãïŒã ããã©ã«ãå€ã¯-1ã§ãã
çãããª
çã®ãããªããã«ããã¬ã¯ãµã
ãã®ããã«ããã¬ã¯ãµã䜿çšãããšãçã®ãããªããŒã¿ãèªã¿åãããšãã§ããŸãã ãæå®ããããããŒããªããã
æ³å®ããããããªãã©ã¡ãŒã¿ã®å ŽåããŠãŒã¶ãŒã¯ãããããã³ãŒãã§ããããã«ããããã«ããããæå®ããå¿ èŠããããŸã
ããŒã¿ãæ£ããã
ãã®ããã«ããã¬ã¯ãµã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãã¬ãŒã ã¬ãŒã
å ¥åãããªã®ãã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã©ã«ãå€ã¯25ã§ãã
ãã¯ã»ã«åœ¢åŒ
å ¥åãããªã®ãã¯ã»ã«ãã©ãŒããããèšå®ããŸãã ããã©ã«ãå€ã¯ãyuv420pãã§ãã
ãããªãµã€ãº
å ¥åãããªãµã€ãºãèšå®ããŸãã ãã®å€ã¯æ瀺çã«æå®ããå¿ èŠããããŸãã
ããšãã°ãrawvideoãã¡ã€ã«ãèªã¿åãã«ã¯ å ¥å.ç ã åçãããã®ãã¯ã»ã«ãã©ãŒããããæ³å®
ãrgb24ããã320x240ãã®ãããªãµã€ãºãããã³10ç§ãããXNUMXç»åã®ãã¬ãŒã ã¬ãŒãã䜿çšããã«ã¯ã
ã³ãã³ãïŒ
ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 input.raw
SBG
SBaGenã¹ã¯ãªããããã«ããã¬ã¯ãµã
ãã®ããã«ããã¬ã¯ãµã¯ãSBaGenã§äœ¿çšãããã¹ã¯ãªããèšèªãèªã¿åããŸãhttp://uazu.net/sbagen/>ãž
ãã€ããŒã©ã«ããŒãã»ãã·ã§ã³ãçæããŸãã SBGã¹ã¯ãªããã¯æ¬¡ã®ããã«ãªããŸãã
-SE
a: 300-2.5/3 440+4.5/0
b: 300-2.5/0 440+4.5/3
ãªãïŒ -
ä»==
+0ïŒ07ïŒ00 == b
+0ïŒ14ïŒ00 == a
+0ïŒ21ïŒ00 == b
+0ïŒ30ïŒ00ãªã
SBGã¹ã¯ãªããã¯ã絶察ã¿ã€ã ã¹ã¿ã³ããšçžå¯Ÿã¿ã€ã ã¹ã¿ã³ããæ··åšãããããšãã§ããŸãã ã¹ã¯ãªãããããããã®ã¿ã䜿çšããå Žå
絶察ã¿ã€ã ã¹ã¿ã³ãïŒã¹ã¯ãªããã®éå§æå»ãå«ãïŒãŸãã¯çžå¯Ÿã¿ã€ã ã¹ã¿ã³ãã®ã¿ããã®åŸ
ã¬ã€ã¢ãŠãã¯åºå®ãããŠãããå€æã¯ç°¡åã§ãã äžæ¹ãã¹ã¯ãªããã®å Žå
äž¡æ¹ã®çš®é¡ã®ã¿ã€ã ã¹ã¿ã³ããæ··åãã次㫠çŸåš çžå¯Ÿã¿ã€ã ã¹ã¿ã³ãã®åç §ã¯æ¬¡ã®ããã«ãªããŸã
ã¹ã¯ãªãããèªã¿åãããçŸåšã®æå»ãšã¹ã¯ãªããã®ã¬ã€ã¢ãŠãããååŸ
ãã®åç §ã«åŸã£ãŠåçµãããŸãã ã€ãŸããã¹ã¯ãªãããçŽæ¥ã§ããå Žå
åçãããšãå®éã®æéã¯ãµãŠã³ãã³ã³ãããŒã©ãŒã®çµ¶å¯Ÿã¿ã€ã ã¹ã¿ã³ããŸã§äžèŽããŸã
æèšã®ç²ŸåºŠã§ããããŠãŒã¶ãŒãäœããã®çç±ã§åçãäžæåæ¢ãããã·ãŒã¯ããããããšãåžžã«
ããã«å¿ããŠã·ããããŸããã
åå¹
ã«äœ¿çšãããJSONãã£ãã·ã§ã³http://www.ted.com/>.
TEDã¯ãã£ãã·ã§ã³ãžã®ãªã³ã¯ãæäŸããŠããŸããããããŒãžããæšæž¬ã§ããŸãã NS
file tools / bookmarklets.html FFmpegãœãŒã¹ããªãŒããå ¬éããããã¯ããŒã¯ã¬ãããå«ãŸããŠããŸã
ãããã
ãã®ããã«ããã¬ã¯ãµã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
å§ãŸãæé
TEDããŒã¯ã®éå§æéãããªç§åäœã§èšå®ããŸãã ããã©ã«ãã¯15000ïŒ15ç§ïŒã§ãã ã§ã
15ç§ãå«ãŸããŠããããããã£ãã·ã§ã³ãããŠã³ããŒãå¯èœãªãããªãšåæããããã«äœ¿çšãããŸã
ã€ã³ããã
äŸïŒãã£ãã·ã§ã³ãã»ãšãã©ã®ãã¬ãŒã€ãŒãç解ã§ãã圢åŒã«å€æããŸãã
ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-ja.srt
METADATA
FFmpegã¯ãã¡ãã£ã¢ãã¡ã€ã«ããåçŽãªUTF-8ã§ãšã³ã³ãŒããããINIã®ãããªããã¹ãã«ã¡ã¿ããŒã¿ããã³ãããããšãã§ããŸã
ãã¡ã€ã«ãäœæããã¡ã¿ããŒã¿muxer / demuxerã䜿çšããŠããŒããçŽããŸãã
ãã¡ã€ã«åœ¢åŒã¯æ¬¡ã®ãšããã§ãã
1.ãã¡ã€ã«ã¯ãããããŒãšãã»ã¯ã·ã§ã³ã«åå²ãããããã€ãã®ã¡ã¿ããŒã¿ã¿ã°ã§æ§æãããŸãã
ç¬èªã®ã©ã€ã³ã§ã
2.ããããŒã¯ ; FFMETADATA æååã®åŸã«ããŒãžã§ã³çªå·ïŒçŸåšã¯1ïŒãç¶ããŸãã
3.ã¡ã¿ããŒã¿ã¿ã°ã®åœ¢åŒã¯ key = value
4.ããããŒãã°ããŒãã«ã¡ã¿ããŒã¿ã«ç¶ãçŽåŸ
5.ã°ããŒãã«ã¡ã¿ããŒã¿ã®åŸã«ãã¹ããªãŒã ããš/ãã£ãã¿ãŒããšã®ã¡ã¿ããŒã¿ãæã€ã»ã¯ã·ã§ã³ãååšããå ŽåããããŸãã
6.ã»ã¯ã·ã§ã³ã¯ã倧æåã®ã»ã¯ã·ã§ã³åïŒSTREAMãŸãã¯CHAPTERïŒã§å§ãŸããŸãã
è§ãã£ãïŒ[, ]ïŒãããŠæ¬¡ã®ã»ã¯ã·ã§ã³ãŸãã¯ãã¡ã€ã«ã®çµããã§çµãããŸãã
7.ç« ã®ã»ã¯ã·ã§ã³ã®åé ã«ã次ã®ç®çã§äœ¿çšããããªãã·ã§ã³ã®ã¿ã€ã ããŒã¹ãããå ŽåããããŸãã
éå§/çµäºå€ã ããã¯åœ¢ã§ãªããã°ãªããŸãã ã¿ã€ã ããŒã¹=NUM/æ¥ããã§ã NUM & æ¥ ã¯æŽæ°ã§ãã
ã¿ã€ã ããŒã¹ãæ¬ èœããŠããå Žåãéå§/çµäºæéã¯ããªç§åäœã§ãããšèŠãªãããŸãã
次ã«ããã£ãã¿ãŒã»ã¯ã·ã§ã³ã«ã¯ããã£ãã¿ãŒã®éå§æå»ãšçµäºæå»ããã©ãŒã ã«å«ãŸããŠããå¿ èŠããããŸã =ã¹ã¿ãŒãNUM,
END =NUMããã§ã NUM ã¯æ£ã®æŽæ°ã§ãã
8.空ã®è¡ãšã§å§ãŸãè¡ ; or # ç¡èŠãããŸãã
9.ã¡ã¿ããŒã¿ããŒãŸãã¯ç¹æ®æåãå«ãå€ïŒ=, ;, #, \ ããã³æ¹è¡ïŒã¯
ããã¯ã¹ã©ãã·ã¥ã§ãšã¹ã±ãŒããã \.
10.ã¡ã¿ããŒã¿ã®ç©ºçœã«æ³šæããŠãã ããïŒäŸïŒ foo = ããŒïŒã¯ã®äžéšãšèŠãªãããŸã
ã¿ã°ïŒäžèšã®äŸã§ã¯ãããŒã¯ foo ãå€ã¯
ããŒ).
ffmetadataãã¡ã€ã«ã¯æ¬¡ã®ããã«ãªããŸãã
; FFMETADATA1
title = Bike \\ shed
;ããã¯ã³ã¡ã³ãã§ã
ã¢ãŒãã£ã¹ã= FFmpegãããŒã«ããŒã
[ç« ]
ã¿ã€ã ããŒã¹= 1/1000
START = 0
#chapterã¯0:01:00ã«çµäºããŸã
END = 60000
ã¿ã€ãã«=ç« \ïŒ1
[ã¹ããªãŒã ]
title = multi \
ã©ã€ã³
ffmetadata muxerãšdemuxerã䜿çšããããšã«ãããå ¥åããã¡ã¿ããŒã¿ãæœåºããããšãã§ããŸãã
ãã¡ã€ã«ãffmetadataãã¡ã€ã«ã«å€æããŠããããã¡ã€ã«ãåºåãã¡ã€ã«ã«ãã©ã³ã¹ã³ãŒãããŸãã
ffmetadataãã¡ã€ã«ãç·šéããŸããã
ã§ffmetadataãã¡ã€ã«ãæœåºãã ffmpeg 次ã®ããã«ãªããŸãïŒ
ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE
ç·šéããã¡ã¿ããŒã¿æ å ±ãFFMETADATAFILEãã¡ã€ã«ããåæ¿å ¥ããã«ã¯ã次ã®ããã«ããŸãã
ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec copy OUTPUT
ãããã³ã«
ãããã³ã«ã¯FFmpegã§æ§æãããèŠçŽ ã§ãããå¿ èŠãªãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãå¯èœã«ããŸã
ç¹å®ã®ãããã³ã«ã
FFmpegãã«ããèšå®ãããšããµããŒããããŠãããã¹ãŠã®ãããã³ã«ãããã©ã«ãã§æå¹ã«ãªããŸãã
æ§æãªãã·ã§ã³ã--list-protocolsãã䜿çšããŠã䜿çšå¯èœãªãã¹ãŠã®ãã®ããªã¹ãã§ããŸãã
æ§æãªãã·ã§ã³ã--disable-protocolsãã䜿çšããŠãã¹ãŠã®ãããã³ã«ãç¡å¹ã«ã§ããŸãã
ãªãã·ã§ã³ã--enable-protocol =ãã䜿çšããŠãããã³ã«ãéžæçã«æå¹ã«ããŸããããã³ã«"ããŸãã¯ããªããã§ãã
ãªãã·ã§ã³ã--disable-protocol =ãã䜿çšããŠç¹å®ã®ãããã³ã«ãç¡å¹ã«ããŸããããã³ã«".
ff *ããŒã«ã®ãªãã·ã§ã³ã-protocolsãã¯ããµããŒããããŠãããããã³ã«ã®ãªã¹ãã衚瀺ããŸãã
çŸåšå©çšå¯èœãªãããã³ã«ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
éåæ
å ¥åã¹ããªãŒã ã®éåæããŒã¿å ¥åã©ãããŒã
ããã¯ã°ã©ãŠã³ãã¹ã¬ããã«ããŒã¿ãå ¥åããŠãI / Oæäœãdemuxã¹ã¬ããããåãé¢ããŸãã
éåæïŒ
éåæïŒhttp://host/resource
asyncïŒcacheïŒhttp://host/resource
ãã«ãŒã¬ã€
BluRayãã¬ã€ãªã¹ããèªã¿ãŸãã
åãå ¥ãããããªãã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã
è§åºŠ
ãã«ãŒã¬ã€ã¢ã³ã°ã«
ç«
ãã£ãã¿ãŒãéå§ïŒ1 ... NïŒ
ãã¬ã€ãªã¹ã
èªã¿åããã¬ã€ãªã¹ãïŒBDMV / PLAYLIST / ?????ãmplsïŒ
äŸïŒ
/ mnt / blurayã«ããŠã³ããããBluRayããæé·ã®ãã¬ã€ãªã¹ããèªã¿åããŸãã
ãã«ãŒã¬ã€ïŒ/ mnt /ãã«ãŒã¬ã€
/ mnt / Blurayã«ããŠã³ããããBluRayãããã¬ã€ãªã¹ã2ã®è§åºŠ4ãèªã¿åãã第2ç« ããéå§ããŸãã
-ãã¬ã€ãªã¹ã4-è§åºŠ2-第2ç« ãã«ãŒã¬ã€ïŒ/ mnt /ãã«ãŒã¬ã€
ãã£ãã·ã¥
å ¥åã¹ããªãŒã ã®ãã£ãã·ã³ã°ã©ãããŒã
å ¥åã¹ããªãŒã ãäžæãã¡ã€ã«ã«ãã£ãã·ã¥ããŸãã ã©ã€ãã¹ããªãŒã ã«ã·ãŒã¯æ©èœããããããŸãã
ãã£ãã·ã¥ïŒ
é£çµ
ç©ççãªé£çµãããã³ã«ã
ãŠããŒã¯ãªãªãœãŒã¹ã§ãããã®ããã«ãå€ãã®ãªãœãŒã¹ãé çªã«èªãã§æ¢ããŸãã
ãã®ãããã³ã«ã§åãå ¥ããããURLã®æ§æã¯æ¬¡ã®ãšããã§ãã
concatïŒ | | ... |
ã³ã©ãã¬ãŒ URL1, URL2âŠâŠã URLN é£çµããããªãœãŒã¹ã®URLã§ãããããããã
ããããå¥åã®ãããã³ã«ãæå®ããŸãã
ããšãã°ãäžé£ã®ãã¡ã€ã«ãèªã¿åãå Žå åå²1.mpeg, åå²2.mpeg, åå²3.mpeg ã åçãã
次ã®ã³ãã³ãã䜿çšããŸãã
ffplay concatïŒsplit1.mpeg \ | split2.mpeg \ | split3.mpeg
æåã|ãããšã¹ã±ãŒãããå¿ èŠãããå Žåãããããšã«æ³šæããŠãã ããããã¯å€ãã®ã·ã§ã«ã«ãšã£ãŠç¹å¥ã§ãã
ã¯ãªãã
AESã§æå·åãããã¹ããªãŒã èªã¿åããããã³ã«ã
åãå ¥ãããããªãã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã
ã㌠æå®ãããXNUMXé²è¡šçŸããAES埩å·åããŒã®ãã€ããªãããã¯ãèšå®ããŸãã
iv æå®ãããXNUMXé²æ°ããAES埩å·ååæåãã¯ãã«ãã€ããªãããã¯ãèšå®ããŸã
è¡šçŸã
åãå ¥ããããURL圢åŒïŒ
æå·ïŒ
crypto +
ããŒã¿
URIã®ã€ã³ã©ã€ã³ããŒã¿ã èŠãhttp://en.wikipedia.org/wiki/Data_URI_scheme>.
ããšãã°ãã€ã³ã©ã€ã³ã§æå®ãããGIFãã¡ã€ã«ãå€æããã«ã¯ ffmpeg:
ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP///////////////ywAAAAACAAIAAADF0gEDLojDgdGiJdJqUX02iB4E8Q9jUMkADs=" smiley.png
file
ãã¡ã€ã«ã¢ã¯ã»ã¹ãããã³ã«ã
ãã¡ã€ã«ããã®èªã¿åããŸãã¯ãã¡ã€ã«ãžã®æžã蟌ã¿ã
ãã¡ã€ã«URLã®åœ¢åŒã¯æ¬¡ã®ãšããã§ãã
ãã¡ã€ã«ïŒ
ã³ã©ãã¬ãŒ ãã¡ã€ã«å èªã¿åããã¡ã€ã«ã®ãã¹ã§ãã
ãããã³ã«ãã¬ãã£ãã¯ã¹ãæããªãURLã¯ããã¡ã€ã«URLãšèŠãªãããŸãã å¿ããŠ
ãã«ããå é ã«ãã©ã€ãæåãä»ããWindowsãã¹ã®ãããªURL
ãŸãããã¡ã€ã«URLã§ãããšèŠãªãããŸãïŒéåžžãUNIXã©ã€ã¯ã®ãã«ãã§ã¯ããã§ã¯ãããŸããïŒ
ã·ã¹ãã ïŒã
ããšãã°ããã¡ã€ã«ããèªã¿åãã«ã¯ å ¥å.mpeg ã ffmpeg 次ã®ã³ãã³ãã䜿çšããŸãã
ffmpeg -i fileïŒinput.mpeg output.mpeg
ãã®ãããã³ã«ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
åãè©°ãã
1ã«èšå®ãããŠããå Žåãæžã蟌ã¿æã«æ¢åã®ãã¡ã€ã«ãåãæšãŠãŸããå€0ã¯ãåãæšãŠãé²ããŸãã
ããã©ã«ãå€ã¯1ã§ãã
ãããã¯åãã
I / Oæäœã®æ倧ãããã¯ãµã€ãºããã€ãåäœã§èšå®ããŸãã ããã©ã«ãå€ã¯ãINT_MAXãã§ãããã¯
ãã®çµæãèŠæ±ããããããã¯ãµã€ãºãå¶éãããŸããã ãã®å€ãé©åºŠã«äœãèšå®ãã
ãŠãŒã¶ãŒçµäºèŠæ±ã®åå¿æéãæ¹åããŸããããã¯ãäœéã®ãã¡ã€ã«ã«åœ¹ç«ã¡ãŸãã
äžã
FTP
FTPïŒãã¡ã€ã«è»¢éãããã³ã«ïŒã
FTPãããã³ã«ã䜿çšããŠããªã¢ãŒããªãœãŒã¹ããã®èªã¿åããŸãã¯ãªã¢ãŒããªãœãŒã¹ãžã®æžã蟌ã¿ã
次ã®æ§æãå¿ èŠã§ãã
ftpïŒ// [user [ïŒpassword] @] server [ïŒport] /path/to/remote/resource.mpeg
ãã®ãããã³ã«ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã¿ã€ã ã¢ãŠã
åºã«ãªãäœã¬ãã«ã§äœ¿çšããããœã±ããI / Oæäœã®ãã€ã¯ãç§åäœã§ã¿ã€ã ã¢ãŠããèšå®ããŸã
æè¡ã ããã©ã«ãã§ã¯-1ã«èšå®ãããŠããŸããããã¯ãã¿ã€ã ã¢ãŠããæå®ãããŠããªãããšãæå³ããŸãã
ftp-å¿å-ãã¹ã¯ãŒã
å¿åãŠãŒã¶ãŒãšããŠãã°ã€ã³ãããšãã«äœ¿çšããããã¹ã¯ãŒãã éåžžãé»åã¡ãŒã«ã¢ãã¬ã¹ã¯æ¬¡ã®ããã«ãªããŸãã
äžå€ã
ftp æžã蟌ã¿ã·ãŒã¯å¯èœ
ãšã³ã³ãŒãäžã®æ¥ç¶ã®ã·ãŒã¯ã¢ããªãã£ãå¶åŸ¡ããŸãã 1ã«èšå®ãããšããªãœãŒã¹ã¯
ã·ãŒã¯å¯èœã§ãããšæ³å®ããã0ã«èšå®ãããŠããå Žåãã·ãŒã¯å¯èœã§ã¯ãªããšèŠãªãããŸãã ããã©ã«ãå€
0ã§ãã
泚ïŒãããã³ã«ã¯åºåãšããŠäœ¿çšã§ããŸãããç¹å¥ãªå Žåãé€ããŠã䜿çšããªãããšããå§ãããŸã
泚æãæãããŸãïŒãã¹ããã«ã¹ã¿ãã€ãºããããµãŒããŒæ§æãªã©ïŒã ç°ãªãFTPãµãŒããŒãåäœããŸã
ã·ãŒã¯æäœäžã¯å¥ã®æ¹æ³ã§ã ff *ããŒã«ã¯ã次ã®çç±ã«ããäžå®å šãªã³ã³ãã³ããçæããå ŽåããããŸã
ãµãŒããŒã®å¶éã
ãŽãŒãã¡ãŒ
Gopherãããã³ã«ã
hls
Apple HTTP LiveStreamingã«æºæ ããã»ã°ã¡ã³ãåãããã¹ããªãŒã ãçµ±äžããããã®ãšããŠãèªã¿ãã ããã M3U8
ã»ã°ã¡ã³ãã説æãããã¬ã€ãªã¹ãã¯ããªã¢ãŒãHTTPãªãœãŒã¹ãŸãã¯ããŒã«ã«ãã¡ã€ã«ã§ãããã¢ã¯ã»ã¹ã§ããŸã
æšæºã®ãã¡ã€ã«ãããã³ã«ã䜿çšããŸãã ãã¹ãããããããã³ã«ã¯ãã+ããã"
hls URIã¹ããŒã åã®åŸããã㧠ããã ããã¡ã€ã«ããŸãã¯ãhttpãã®ããããã§ãã
hls +http://host/path/to/remote/resource.m3u8
hls + fileïŒ//path/to/local/resource.m3u8
ãã®ãããã³ã«ã䜿çšããããšã¯ãå§ãããŸãã-hlsdemuxerãåæ§ã«æ©èœããã¯ãã§ãïŒããã§ãªãå ŽåïŒ
åé¡ãå ±åããŠãã ããïŒãããŠããå®å šã§ãã 代ããã«hlsdemuxerã䜿çšããã«ã¯ãåã«
m3u8ãã¡ã€ã«ãžã®çŽæ¥URLã䜿çšããŸãã
HTTP
HTTPïŒãã€ããŒããã¹ã転éãããã³ã«ïŒã
ãã®ãããã³ã«ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã·ãŒã¯å¯èœ
æ¥ç¶ã®ã·ãŒã«ããªãã£ãå¶åŸ¡ããŸãã 1ã«èšå®ãããšããªãœãŒã¹ã¯æ¬¡ã®ããã«ãªããŸãã
ã·ãŒã¯å¯èœã0ã«èšå®ãããšã·ãŒã¯å¯èœã§ã¯ãªããšèŠãªããã-1ã«èšå®ãããšã·ãŒã¯å¯èœã«ãªããŸãã
ã·ãŒã¯å¯èœãã©ãããèªåæ€åºããŸãã ããã©ã«ãå€ã¯-1ã§ãã
ãã£ã³ã¯ãã¹ã
1ã«èšå®ãããšãæçš¿ã«ãã£ã³ã¯è»¢éãšã³ã³ãŒãã£ã³ã°ã䜿çšããŸããããã©ã«ãã¯1ã§ãã
content_type
POSTã¡ãã»ãŒãžã«ç¹å®ã®ã³ã³ãã³ãã¿ã€ããèšå®ããŸãã
ããããŒã®
ã«ã¹ã¿ã HTTPããããŒãèšå®ããçµã¿èŸŒã¿ã®ããã©ã«ãããããŒãäžæžãã§ããŸãã å€ã¯
ããããŒããšã³ã³ãŒãããæååã
è€æ°ã®ãªã¯ãšã¹ã
1ã«èšå®ãããŠããå Žåã¯ãæç¶çæ¥ç¶ã䜿çšããŸããããã©ã«ãã¯0ã§ãã
ãã¹ãããŒã¿
ã«ã¹ã¿ã HTTPPOSTããŒã¿ãèšå®ããŸãã
ãŠãŒã¶ãŒãšãŒãžã§ã³ã
USER_AGENT
User-AgentããããŒããªãŒããŒã©ã€ãããŸãã æå®ããªãå Žåããããã³ã«ã¯æååã䜿çšããŸã
libavformatãã«ãã«ã€ããŠèª¬æããŸãã ïŒ "Lavf / "ïŒ
ã¿ã€ã ã¢ãŠã
åºã«ãªãäœã¬ãã«ã§äœ¿çšããããœã±ããI / Oæäœã®ãã€ã¯ãç§åäœã§ã¿ã€ã ã¢ãŠããèšå®ããŸã
æè¡ã ããã©ã«ãã§ã¯-1ã«èšå®ãããŠããŸããããã¯ãã¿ã€ã ã¢ãŠããæå®ãããŠããªãããšãæå³ããŸãã
mime_type
MIMEã¿ã€ãããšã¯ã¹ããŒãããŸãã
å·ãã 1ã«èšå®ãããŠããå ŽåããµãŒããŒããICYïŒSHOUTcastïŒã¡ã¿ããŒã¿ãèŠæ±ããŸãã ãµãŒããŒããµããŒãããŠããå Žå
ããã¯ãã¡ã¿ããŒã¿ãã¢ããªã±ãŒã·ã§ã³ãèªã¿åãããšã«ãã£ãŠååŸããå¿ èŠããããŸã
icy_metadata_headers & icy_metadata_packet ãªãã·ã§ã³ã ããã©ã«ãã¯1ã§ãã
icy_metadata_headers
ãµãŒããŒãICYã¡ã¿ããŒã¿ããµããŒãããŠããå Žåãããã«ã¯ICYåºæã®HTTPå¿çãå«ãŸããŸã
æ¹è¡æåã§åºåãããããããŒã
icy_metadata_packet
ãµãŒããŒãICYã¡ã¿ããŒã¿ããµããŒãããŠããå Žåãããã³ å·ãã 1ã«èšå®ãããŸãããããã«ã¯ãæåŸã®é
ãµãŒããŒããéä¿¡ããã空ã®ã¡ã¿ããŒã¿ãã±ããã å®æçã«ããŒãªã³ã°ããå¿ èŠããããŸã
ãããã¹ããªãŒã ã¡ã¿ããŒã¿ã®æŽæ°ã«é¢å¿ã®ããã¢ããªã±ãŒã·ã§ã³ã
ã¯ãããŒ
ä»åŸã®ãªã¯ãšã¹ãã§éä¿¡ãããCookieãèšå®ããŸãã åCookieã®åœ¢åŒã¯åãã§ã
Set-CookieHTTPå¿çãã£ãŒã«ãã®å€ãšããŠã è€æ°ã®Cookieã¯æ¬¡ã®ããã«åºåãããšãã§ããŸã
æ¹è¡æåã
ãªãã»ãã
åæãã€ããªãã»ãããèšå®ããŸãã
çµäºãªãã»ãã
ãªã¯ãšã¹ãããã®ãªãã»ããã®åã®ãã€ãã«å¶éããŠã¿ãŠãã ããã
æ¹æ³
ã¯ã©ã€ã¢ã³ããªãã·ã§ã³ãšããŠäœ¿çšãããšããªã¯ãšã¹ãã®HTTPã¡ãœãããèšå®ããŸãã
ãµãŒããŒãªãã·ã§ã³ãšããŠäœ¿çšãããšã
ã¯ã©ã€ã¢ã³ãã æåŸ ãããHTTPã¡ãœãããšåä¿¡ãããHTTPã¡ãœãããã¯ã©ã€ã¢ã³ããšäžèŽããªãå Žå
BadRequestå¿çãè¿ãããŸãã èšå®ã解é€ãããšãHTTPã¡ãœããã¯ãã§ãã¯ãããŸãã
ä»ã ããã¯ãå°æ¥çã«èªåæ€åºã«çœ®ãæããããäºå®ã§ãã
èã
1ã«èšå®ãããšãå®éšçãªHTTPãµãŒããŒãæå¹ã«ãªããŸãã ããã¯ã䜿çšæã«ããŒã¿ãéä¿¡ããããã«äœ¿çšã§ããŸã
åºåãªãã·ã§ã³ãšããŠããŸãã¯å ¥åãšããŠäœ¿çšãããå Žåã¯HTTPPOSTã䜿çšããŠã¯ã©ã€ã¢ã³ãããããŒã¿ãèªã¿åããŸã
ãªãã·ã§ã³ã 2ã«èšå®ãããšãå®éšçãªãã«ãã¯ã©ã€ã¢ã³ãHTTPãµãŒããŒãæå¹ã«ãªããŸãã ããã¯ãŸã ã§ã
ffmpeg.cãŸãã¯ffserver.cã§å®è£ ãããŠãããããã³ãã³ãã©ã€ã³ãšããŠäœ¿çšããªãã§ãã ãã
ãªãã·ã§ã³ãéžæããŸãã
ïŒãµãŒããŒåŽïŒéä¿¡ïŒïŒ
ffmpeg -i somefile.ogg -c copy -listen 1 -f ogg httpïŒ// ïŒ
ïŒã¯ã©ã€ã¢ã³ãåŽïŒåä¿¡ïŒïŒ
ffmpeg -i httpïŒ// ïŒ -csomefile.oggãã³ããŒããŸã
ïŒã¯ã©ã€ã¢ã³ãã¯wgetã§ãå®è¡ã§ããŸãïŒ
wget httpïŒ// ïŒ -O somefile.ogg
ïŒãµãŒããŒåŽïŒåä¿¡ïŒïŒ
ffmpeg -listen 1 -i httpïŒ// ïŒ -csomefile.oggãã³ããŒããŸã
ïŒã¯ã©ã€ã¢ã³ãåŽïŒéä¿¡ïŒïŒ
ffmpeg -i somefile.ogg -chunked_post 0 -c copy -f ogg httpïŒ// ïŒ
ïŒã¯ã©ã€ã¢ã³ãã¯wgetã§ãå®è¡ã§ããŸãïŒ
wget --post-file = somefile.ogg httpïŒ// ïŒ
HTTP ã¯ãããŒïŒCookieïŒã«ã€ããŠ
äžéšã®HTTPãªã¯ãšã¹ãã¯ãCookieå€ããªã¯ãšã¹ããšãšãã«æž¡ãããªãéãæåŠãããŸãã The
ã¯ãã㌠ãªãã·ã§ã³ã䜿çšãããšããããã®Cookieãæå®ã§ããŸãã å°ãªããšããåCookieã¯
ãã¹ãšãã¡ã€ã³ãšãšãã«å€ãæå®ããŸãã äž¡æ¹ã®ãã¡ã€ã³ã«äžèŽããHTTPãªã¯ãšã¹ã
ãã¹ã«ã¯ãHTTPCookieããããŒãã£ãŒã«ãã«Cookieå€ãèªåçã«å«ãŸããŸãã
è€æ°ã®Cookieã¯æ¹è¡ã§åºåãããšãã§ããŸãã
Cookieãæå®ããŠã¹ããªãŒã ãåçããããã«å¿ èŠãªæ§æã¯æ¬¡ã®ãšããã§ãã
ffplay -cookies "nlqptid = nltid = tsn; path = /; domain = somedomain.com;" http://somedomain.com/somestream.m3u8
ã¢ã€ã¹ãã£ã¹ã
Icecastãããã³ã«ïŒIcecastãµãŒããŒãžã®ã¹ããªãŒã ïŒ
ãã®ãããã³ã«ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
æ°·ã®ãžã£ã³ã«
ã¹ããªãŒã ã®ãžã£ã³ã«ãèšå®ããŸãã
æ°·ã®åå
ã¹ããªãŒã åãèšå®ããŸãã
æ°·ã®èª¬æ
ã¹ããªãŒã ã®èª¬æãèšå®ããŸãã
ã¢ã€ã¹URL
ã¹ããªãŒã Webãµã€ãã®URLãèšå®ããŸãã
ã¢ã€ã¹ãããªãã¯
ã¹ããªãŒã ãå ¬éãããã©ãããèšå®ããŸãã ããã©ã«ãã¯0ïŒå ¬éãããŠããŸããïŒã§ãã
USER_AGENT
User-AgentããããŒããªãŒããŒã©ã€ãããŸãã æå®ãããŠããªãå Žåã¯ããLavf /ãã®åœ¢åŒã®æååãã
䜿çšãããŸãã
password
IcecastããŠã³ããã€ã³ãã®ãã¹ã¯ãŒããèšå®ããŸãã
content_type
ã¹ããªãŒã ã³ã³ãã³ãã¿ã€ããèšå®ããŸãã audio / mpegãšç°ãªãå Žåã¯ããããèšå®ããå¿ èŠããããŸãã
legend_icecast
ããã«ãããHTTPPUTããµããŒãããªãIcecastããŒãžã§ã³<2.4.0ã®ãµããŒããæå¹ã«ãªããŸã
ã¡ãœããã§ãããSOURCEã¡ãœããã§ãã
icecastïŒ// [ [ïŒ ] @] ïŒ /
mmst
TCPãä»ããMMSïŒMicrosoft Media ServerïŒãããã³ã«ã
ããŒã
HTTPãä»ããMMSïŒMicrosoft Media ServerïŒãããã³ã«ã
å¿ èŠãªæ§æã¯æ¬¡ã®ãšããã§ãã
mmshïŒ// [ïŒ ] [/ ] [/ ]
md5
MD5åºåãããã³ã«ã
æžã蟌ãŸããããŒã¿ã®MD5ããã·ã¥ãèšç®ããéãããšããã
æå®ãããåºåãŸãã¯æå®ãããŠããªãå Žåã¯stdoutã ããã¯ãªãã§ãã«ããã¬ã¯ãµããã¹ãããããã«äœ¿çšããããšãã§ããŸã
å®éã®ãã¡ã€ã«ãæžã蟌ãã
以äžã«ããã€ãã®äŸã瀺ããŸãã
ïŒãšã³ã³ãŒããããAVIãã¡ã€ã«ã®MD5ããã·ã¥ããã¡ã€ã«output.avi.md5ã«æžã蟌ã¿ãŸãã
ffmpeg -i input.flv -f avi -y md5ïŒoutput.avi.md5
ïŒãšã³ã³ãŒããããAVIãã¡ã€ã«ã®MD5ããã·ã¥ãstdoutã«æžã蟌ã¿ãŸãã
ffmpeg -i input.flv -f avi -y md5ïŒ
äžéšã®åœ¢åŒïŒéåžžã¯MOVïŒã§ã¯ãåºåãããã³ã«ãã·ãŒã¯å¯èœã§ããå¿ èŠãããããã
MD5åºåãããã³ã«ã§å€±æããŸãã
ãã€ã
UNIXãã€ãã¢ã¯ã»ã¹ãããã³ã«ã
UNIXãã€ãããã®èªã¿åããšæžã蟌ã¿ã
åãå ¥ããããæ§æã¯æ¬¡ã®ãšããã§ãã
ãã€ãïŒ[ ]
æ° ãã€ãã®ãã¡ã€ã«èšè¿°åã«å¯Ÿå¿ããçªå·ã§ãïŒããšãã°ãstdinã®å Žåã¯0ã1
stdoutã®å Žåãstderrã®å Žåã¯2ïŒã ããã æ° ã¯æå®ãããŠããŸãããããã©ã«ãã§ã¯ãstdoutãã¡ã€ã«ã§ãã
èšè¿°åã¯æžã蟌ã¿ã«äœ¿çšãããstdinã¯èªã¿åãã«äœ¿çšãããŸãã
ããšãã°ãstdinããèªã¿åãã«ã¯ ffmpeg:
cat test.wav | ffmpeg -i pipeïŒ0
ïŒ...ããã¯...ãšåãã§ã
cat test.wav | ffmpeg -iãã€ãïŒ
stdoutãžã®æžã蟌ã¿çš ffmpeg:
ffmpeg -i test.wav -f avi pipeïŒ1 | ç«> test.avi
ïŒ...ããã¯...ãšåãã§ã
ffmpeg -i test.wav -f aviãã€ãïŒ| ç«> test.avi
ãã®ãããã³ã«ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ãããã¯åãã
I / Oæäœã®æ倧ãããã¯ãµã€ãºããã€ãåäœã§èšå®ããŸãã ããã©ã«ãå€ã¯ãINT_MAXãã§ãããã¯
ãã®çµæãèŠæ±ããããããã¯ãµã€ãºãå¶éãããŸããã ãã®å€ãé©åºŠã«äœãèšå®ãã
ãŠãŒã¶ãŒã®çµäºèŠæ±ã®åå¿æéãæ¹åããŸããããã¯ãããŒã¿ã®å Žåã«åœ¹ç«ã¡ãŸã
éä¿¡ãé ãã
äžéšã®åœ¢åŒïŒéåžžã¯MOVïŒã§ã¯ãåºåãããã³ã«ãã·ãŒã¯å¯èœã§ããå¿ èŠãããããšã«æ³šæããŠãã ããã
ãããã¯ãã€ãåºåãããã³ã«ã§å€±æããŸãã
rtmp
ãªã¢ã«ã¿ã€ã ã¡ãã»ãŒãžã³ã°ãããã³ã«ã
ãªã¢ã«ã¿ã€ã ã¡ãã»ãŒãžã³ã°ãããã³ã«ïŒRTMPïŒã¯ããã«ãã¡ãã£ã¢ã³ã³ãã³ãã
TCP / IPãããã¯ãŒã¯ã
å¿ èŠãªæ§æã¯æ¬¡ã®ãšããã§ãã
rtmpïŒ// [ ïŒ @] [ïŒ ] [/ ] [/ ] [/ ]
åãå ¥ãããããã©ã¡ãŒã¿ã¯æ¬¡ã®ãšããã§ãã
ãŠãŒã¶å
ãªãã·ã§ã³ã®ãŠãŒã¶ãŒåïŒäž»ã«å ¬éçšïŒã
password
ãªãã·ã§ã³ã®ãã¹ã¯ãŒãïŒäž»ã«å ¬éçšïŒã
RTMPãµãŒããŒã®ã¢ãã¬ã¹ã
ããŒã
䜿çšããTCPããŒãã®çªå·ïŒããã©ã«ãã¯1935ïŒã
ã¢ã㪠ã¢ã¯ã»ã¹ããã¢ããªã±ãŒã·ã§ã³ã®ååã§ãã ããã¯éåžžã次ã®ãã¹ã«å¯Ÿå¿ããŸã
ã¢ããªã±ãŒã·ã§ã³ãRTMPãµãŒããŒã«ã€ã³ã¹ããŒã«ãããŠããïŒäŸïŒ /ãªã³ããã³ã/, / flash / live /ãªã©ïŒã
ãrtmp_appããªãã·ã§ã³ã䜿çšããŠãURIãã解æãããå€ããªãŒããŒã©ã€ãããããšãã§ããŸãã
ãã¬ã€ãã¹
ããã¯ãã¢ããªã±ãŒã·ã§ã³ãåç §ããŠåçãããªãœãŒã¹ã®ãã¹ãŸãã¯ååã§ãã
ã§æå® ã¢ããªãæ¥é èŸãmp4ïŒããä»ããããšãã§ããŸãã ãã解æãããå€ããªãŒããŒã©ã€ãã§ããŸã
ãrtmp_playpathããªãã·ã§ã³ãä»ããURIãã
èã
ãµãŒããŒãšããŠæ©èœããçä¿¡æ¥ç¶ããªãã¹ã³ããŸãã
ã¿ã€ã ã¢ãŠã
çä¿¡æ¥ç¶ãåŸ æ©ããæ倧æéã ãªãã¹ã³ãæå³ããŸãã
ããã«ã次ã®ãã©ã¡ãŒã¿ã¯ãã³ãã³ãã©ã€ã³ãªãã·ã§ã³ãä»ããŠïŒãŸãã¯ã³ãŒããä»ããŠïŒèšå®ã§ããŸãã
"AVOption" sïŒïŒ
rtmp_app
RTMPãµãŒããŒã«æ¥ç¶ããã¢ããªã±ãŒã·ã§ã³ã®ååã ãã®ãªãã·ã§ã³ã¯ãã©ã¡ãŒã¿ãäžæžãããŸã
URIã§æå®ãããŸãã
rtmp_buffer
ã¯ã©ã€ã¢ã³ãã®ãããã¡æéãããªç§åäœã§èšå®ããŸãã ããã©ã«ãã¯3000ã§ãã
rtmp_conn
æååãã解æããããããšãã°ãBïŒ1ãã®ãããªè¿œå ã®ä»»æã®AMFæ¥ç¶ãã©ã¡ãŒã¿
SïŒauthMe OïŒ1 NNïŒcodeïŒ1.23 NSïŒflagïŒok OïŒ0 "ãåå€ã®åã«ã¯ãåäžã®å€ãä»ããŠããŸãã
ã¿ã€ããè¡šãæåãããŒã«å€ãè¡šãBãæ°å€ãè¡šãNãæååãè¡šãSããªããžã§ã¯ããè¡šãOã
ãŸãã¯ãã«ã®å Žåã¯Zããã®åŸã«ã³ãã³ãç¶ããŸãã ããŒã«å€ã®å ŽåãããŒã¿ã¯0ãŸãã¯1ã®ããããã§ããå¿ èŠããããŸãã
ããããFALSEãŸãã¯TRUEã åæ§ã«ããªããžã§ã¯ãã®å ŽåãããŒã¿ã¯0ãŸãã¯1ã§çµäºããå¿ èŠããããŸãã
ãããããªããžã§ã¯ããéå§ããŸãã ãµããªããžã§ã¯ãã®ããŒã¿é ç®ã«ã¯ãæ¥é èŸãä»ããããšã§ååãä»ããããšãã§ããŸãã
'N'ãå ¥åããå€ã®åã«ååãæå®ããŸãïŒã€ãŸãã "NBïŒmyFlagïŒ1"ïŒã ãã
ãªãã·ã§ã³ãè€æ°å䜿çšããŠãä»»æã®AMFã·ãŒã±ã³ã¹ãäœæã§ããŸãã
rtmp_flashver
SWFãã¬ãŒã€ãŒã®å®è¡ã«äœ¿çšãããFlashãã©ã°ã€ã³ã®ããŒãžã§ã³ã ããã©ã«ãã¯LNX9,0,124,2ã§ãã
ïŒå ¬éæã®ããã©ã«ãã¯FMLE / 3.0ïŒäºææ§ãã; ïŒãïŒ
rtmp_flush_interval
åããªã¯ãšã¹ãã§ãã©ãã·ã¥ããããã±ããã®æ°ïŒRTMPTã®ã¿ïŒã ããã©ã«ãã¯10ã§ãã
rtmp_live
ã¡ãã£ã¢ãã©ã€ãã¹ããªãŒã ã§ããããšãæå®ããŸãã ã©ã€ãã¹ããªãŒã ã§åéãããæ¢ãããããããšã¯ã§ããŸãã
å¯èœã ããã©ã«ãå€ã¯ãanyãã§ããããã¯ããµãã¹ã¯ã©ã€ããŒãæåã«åçãè©Šã¿ãããšãæå³ããŸã
ãã¬ã€ãã¹ã§æå®ãããã©ã€ãã¹ããªãŒã ã ãã®ååã®ã©ã€ãã¹ããªãŒã ãèŠã€ãããªãå Žåã¯ã
èšé²ãããã¹ããªãŒã ãåçããŸãã ä»ã®å¯èœãªå€ã¯ãliveããšãrecordedãã§ãã
rtmp_pageurl
ã¡ãã£ã¢ãåã蟌ãŸããWebããŒãžã®URLã ããã©ã«ãã§ã¯ãå€ã¯éä¿¡ãããŸããã
rtmp_playpath
åçãŸãã¯å ¬éããã¹ããªãŒã èå¥åã ãã®ãªãã·ã§ã³ã¯ãæå®ããããã©ã¡ãŒã¿ãŒããªãŒããŒã©ã€ãããŸã
URIã§ã
rtmp_subscribe
賌èªããã©ã€ãã¹ããªãŒã ã®ååã ããã©ã«ãã§ã¯ãå€ã¯éä¿¡ãããŸããã ããã ãã§ã
ãªãã·ã§ã³ãæå®ãããŠããå ŽåããŸãã¯rtmp_liveãliveã«èšå®ãããŠããå Žåã«éä¿¡ãããŸãã
rtmp_swfhash
解åãããSWFãã¡ã€ã«ã®SHA256ããã·ã¥ïŒ32ãã€ãïŒã
rtmp_swfsize
SWFVerificationã«å¿ èŠãªè§£åãããSWFãã¡ã€ã«ã®ãµã€ãºã
rtmp_swfurl
ã¡ãã£ã¢ã®SWFãã¬ãŒã€ãŒã®URLã ããã©ã«ãã§ã¯ãå€ã¯éä¿¡ãããŸããã
rtmp_swfverify
ãã¬ãŒã€ãŒã®swfãã¡ã€ã«ãžã®URLãããã·ã¥/ãµã€ãºãèªåçã«èšç®ããŸãã
rtmp_tcurl
ã¿ãŒã²ããã¹ããªãŒã ã®URLã ããã©ã«ãã¯protoïŒ// host [ïŒport] / appã§ãã
ããšãã°ã åçãã ã¢ããªã±ãŒã·ã§ã³ããã®ããµã³ãã«ããšããååã®ãã«ãã¡ãã£ã¢ãªãœãŒã¹
RTMPãµãŒããŒãmyserverãããã®ãvodãïŒ
ffplay rtmpïŒ// myserver / vod / sample
ãã¹ã¯ãŒãã§ä¿è·ããããµãŒããŒã«å ¬éããã«ã¯ããã¬ã€ãã¹ãšã¢ããªã®ååãå¥ã ã«æž¡ããŸãã
ffmpeg -re -i -f flv -rtmp_playpath some / long / path -rtmp_app long / app / name rtmpïŒ// usernameïŒpassword @ myserver /
RTMPE
æå·åããããªã¢ã«ã¿ã€ã ã¡ãã»ãŒãžã³ã°ãããã³ã«ã
æå·åãªã¢ã«ã¿ã€ã ã¡ãã»ãŒãžã³ã°ãããã³ã«ïŒRTMPEïŒã¯ããã«ãã¡ãã£ã¢ã®ã¹ããªãŒãã³ã°ã«äœ¿çšãããŸã
Diffie-Hellmanéµã§æ§æããããæšæºã®æå·åããªããã£ãå ã®ã³ã³ãã³ã
亀æãšHMACSHA256ãRC4ããŒã®ãã¢ãçæããŸãã
rtmp
å®å šãªSSLæ¥ç¶ãä»ãããªã¢ã«ã¿ã€ã ã¡ãã»ãŒãžã³ã°ãããã³ã«ã
ãªã¢ã«ã¿ã€ã ã¡ãã»ãŒãžã³ã°ãããã³ã«ïŒRTMPSïŒã¯ããã«ãã¡ãã£ã¢ã³ã³ãã³ããã¹ããªãŒãã³ã°ããããã«äœ¿çšãããŸã
æå·åãããæ¥ç¶ã
rtmpt
HTTPãä»ããŠãã³ããªã³ã°ããããªã¢ã«ã¿ã€ã ã¡ãã»ãŒãžã³ã°ãããã³ã«ã
HTTPïŒRTMPTïŒãä»ããŠãã³ããªã³ã°ãããReal-Time MessagingProtocolãã¹ããªãŒãã³ã°ã«äœ¿çšãããŸã
ãã¡ã€ã¢ãŠã©ãŒã«ãééããHTTPãªã¯ãšã¹ãå ã®ãã«ãã¡ãã£ã¢ã³ã³ãã³ãã
RTMPTE
HTTPãä»ããŠãã³ããªã³ã°ãããæå·åããããªã¢ã«ã¿ã€ã ã¡ãã»ãŒãžã³ã°ãããã³ã«ã
HTTPãä»ããŠãã³ããªã³ã°ãããæå·åãªã¢ã«ã¿ã€ã ã¡ãã»ãŒãžã³ã°ãããã³ã«ïŒRTMPTEïŒã¯ã
ãã¡ã€ã¢ãŠã©ãŒã«ãééããHTTPãªã¯ãšã¹ãå ã®ãã«ãã¡ãã£ã¢ã³ã³ãã³ãã®ã¹ããªãŒãã³ã°ã
rtmpt
HTTPSãä»ããŠãã³ããªã³ã°ããããªã¢ã«ã¿ã€ã ã¡ãã»ãŒãžã³ã°ãããã³ã«ã
HTTPSïŒRTMPTSïŒãä»ããŠãã³ããªã³ã°ãããReal-Time MessagingProtocolãã¹ããªãŒãã³ã°ã«äœ¿çšãããŸã
ãã¡ã€ã¢ãŠã©ãŒã«ãééããHTTPSèŠæ±å ã®ãã«ãã¡ãã£ã¢ã³ã³ãã³ãã
libsmbã¯ã©ã€ã¢ã³ã
libsmbclientã䜿çšãããšãCIFS / SMBãããã¯ãŒã¯ãªãœãŒã¹ãæäœã§ããŸãã
次ã®æ§æãå¿ èŠã§ãã
smbïŒ// [[domainïŒ] user [ïŒpassword @]] server [/ share [/ path [/ file]]]
ãã®ãããã³ã«ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã¿ã€ã ã¢ãŠã
åºã«ãªãäœã¬ãã«ã§äœ¿çšããããœã±ããI / Oæäœã®ããªç§åäœã§ã¿ã€ã ã¢ãŠããèšå®ããŸã
æè¡ã ããã©ã«ãã§ã¯-1ã«èšå®ãããŠããŸããããã¯ãã¿ã€ã ã¢ãŠããæå®ãããŠããªãããšãæå³ããŸãã
åãè©°ãã
1ã«èšå®ãããŠããå Žåãæžã蟌ã¿æã«æ¢åã®ãã¡ã€ã«ãåãæšãŠãŸããå€0ã¯ãåãæšãŠãé²ããŸãã
ããã©ã«ãå€ã¯1ã§ãã
workgroup
æ¥ç¶ã«äœ¿çšããã¯ãŒã¯ã°ã«ãŒããèšå®ããŸãã ããã©ã«ãã§ã¯ãã¯ãŒã¯ã°ã«ãŒãã¯æå®ãããŠããŸããã
詳现ã«ã€ããŠã¯ã以äžãåç §ããŠãã ãããhttp://www.samba.org/>.
libsh
libsshãä»ããå®å šãªãã¡ã€ã«è»¢éãããã³ã«
SFTPãããã³ã«ã䜿çšããŠããªã¢ãŒããªãœãŒã¹ããã®èªã¿åããŸãã¯ãªã¢ãŒããªãœãŒã¹ãžã®æžã蟌ã¿ã
次ã®æ§æãå¿ èŠã§ãã
sftpïŒ// [user [ïŒpassword] @] server [ïŒport] /path/to/remote/resource.mpeg
ãã®ãããã³ã«ã¯ã次ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
ã¿ã€ã ã¢ãŠã
åºã«ãªãäœã¬ãã«æäœã§äœ¿çšããããœã±ããI / Oæäœã®ã¿ã€ã ã¢ãŠããèšå®ããŸãã ã«
ããã©ã«ãã§ã¯-1ã«èšå®ãããŠããŸããããã¯ãã¿ã€ã ã¢ãŠããæå®ãããŠããªãããšãæå³ããŸãã
åãè©°ãã
1ã«èšå®ãããŠããå Žåãæžã蟌ã¿æã«æ¢åã®ãã¡ã€ã«ãåãæšãŠãŸããå€0ã¯ãåãæšãŠãé²ããŸãã
ããã©ã«ãå€ã¯1ã§ãã
ç§å¯éµ
èªèšŒæã«äœ¿çšããç§å¯éµãå«ããã¡ã€ã«ã®ãã¹ãæå®ããŸãã ã«
ããã©ã«ãã®libsshã¯ã ã/ .ssh / ãã£ã¬ã¯ããªã«ãããŸãã
äŸïŒãªã¢ãŒããµãŒããŒã«ä¿åãããŠãããã¡ã€ã«ãåçããŸãã
ffãã¬ã€ftpïŒ// userïŒpassword @ server_addressïŒ22 / home / user / resource.mpeg
librtmp rtmpã rtmpeã rtmpsã rtmptã RTMPTE
librtmpãä»ããŠãµããŒãããããªã¢ã«ã¿ã€ã ã¡ãã»ãŒãžã³ã°ãããã³ã«ãšãã®ããªã¢ã³ãã
æ§æäžã«librtmpããããŒãšã©ã€ãã©ãªãŒãååšããå¿ èŠããããŸãã å¿ èŠããã
ã--enable-librtmpãã䜿çšããŠãã«ããæ瀺çã«æ§æããŸãã æå¹ã«ãããšãããã眮ãæããããŸã
ãã€ãã£ãRTMPãããã³ã«ã
ãã®ãããã³ã«ã¯ããµããŒãã«å¿ èŠãªã»ãšãã©ã®ã¯ã©ã€ã¢ã³ãæ©èœãšããã€ãã®ãµãŒããŒæ©èœãæäŸããŸã
RTMPãHTTPã§ãã³ããªã³ã°ãããRTMPïŒRTMPTïŒãæå·åãããRTMPïŒRTMPEïŒãSSL / TLSãä»ããRTMPïŒRTMPSïŒãããã³
ãããã®æå·åãããã¿ã€ãã®ãã³ããªã³ã°ãããããªã¢ã³ãïŒRTMPTEãRTMPTSïŒã
å¿ èŠãªæ§æã¯æ¬¡ã®ãšããã§ãã
ïŒ// [ïŒ ] [/ ] [/ ]
ã³ã©ãã¬ãŒ rtmp_proto æååãrtmpãããrtmptãããrtmpeãããrtmpsãããrtmpteãã
åRTMPããªã¢ã³ãã«å¯Ÿå¿ãããrtmptsããããã³ , ããŒã, ã¢ã㪠& ãã¬ã€ãã¹ æã£ãŠããŸã
RTMPãã€ãã£ããããã³ã«ã«æå®ãããŠããã®ãšåãæå³ã§ãã ãªãã·ã§ã³ ã¹ããŒã¹ã®ãªã¹ããå«ãŸããŠããŸã-
ãã©ãŒã ã®åå¥ã®ãªãã·ã§ã³ ããŒ=ãŽã¡ã«.
詳现ã«ã€ããŠã¯ãlibrtmpã®ããã¥ã¢ã«ããŒãžïŒman 3 librtmpïŒãåç §ããŠãã ããã
ããšãã°ãã䜿çšããŠãã¡ã€ã«ãRTMPãµãŒããŒã«ãªã¢ã«ã¿ã€ã ã§ã¹ããªãŒãã³ã°ããã«ã¯ ffmpeg:
ffmpeg -re -i myfile -f flv rtmpïŒ// myserver / live / mystream
ã䜿çšããŠåãã¹ããªãŒã ãåçããã«ã¯ åçãã:
ffplay "rtmpïŒ// myserver / live / mystream live = 1"
RTP
ãªã¢ã«ã¿ã€ã ãã©ã³ã¹ããŒããããã³ã«ã
RTP URLã«å¿ èŠãªæ§æã¯æ¬¡ã®ãšããã§ããrtpïŒ//hostname[:ããŒã] [ïŒãªãã·ã§ã³=ãŽã¡ã«...]
ããŒã 䜿çšããRTPããŒããæå®ããŸãã
次ã®URLãªãã·ã§ã³ããµããŒããããŠããŸãã
ttl =n
TTLïŒTime-To-LiveïŒå€ãèšå®ããŸãïŒãã«ããã£ã¹ãã®ã¿ïŒã
rtcpport =n
ãªã¢ãŒãRTCPããŒããã«èšå®ããŸã n.
localrtpport =n
ããŒã«ã«RTPããŒããã«èšå®ããŸã n.
localrtcpport =n'
ããŒã«ã«RTCPããŒããã«èšå®ããŸã n.
pkt_size =n
æ倧ãã±ãããµã€ãºïŒãã€ãåäœïŒãã«èšå®ããŸã n.
connect = 0 | 1
UDPãœã±ããïŒ1ã«èšå®ãããŠããå ŽåïŒã§ãconnectïŒïŒããå®è¡ããããå®è¡ããªãïŒ0ã«èšå®ãããŠããå ŽåïŒã
ãœãŒã¹=ip[,ip]
èš±å¯ãããéä¿¡å IPã¢ãã¬ã¹ãäžèŠ§è¡šç€ºããŸãã
ãããã¯=ip[,ip]
èš±å¯ãããŠããªãïŒãããã¯ãããŠããïŒéä¿¡å IPã¢ãã¬ã¹ãäžèŠ§è¡šç€ºããŸãã
write_to_source = 0 | 1
æåŸã«åä¿¡ãããã±ããã®éä¿¡å ã¢ãã¬ã¹ïŒ1ã«èšå®ãããŠããå ŽåïŒãŸãã¯
ããã©ã«ãã®ãªã¢ãŒãã¢ãã¬ã¹ïŒ0ã«èšå®ãããŠããå ŽåïŒã
localport =n
ããŒã«ã«RTPããŒããã«èšå®ããŸã n.
ããã¯éæšå¥šã®ãªãã·ã§ã³ã§ãã ãã®ä»£ããã ããŒã«ã«RTããŒã 䜿çšãã¹ãã§ãã
éèŠãªæ³šæäºé ïŒ
1ã ãã rtcpããŒã ãèšå®ãããŠããªãå ŽåãRTCPããŒãã¯RTPããŒãå€ã«1ãå ããå€ã«èšå®ãããŸãã
2ã ãã ããŒã«ã«RTããŒã ïŒããŒã«ã«RTPããŒãïŒãèšå®ãããŠããªã䜿çšå¯èœãªããŒãã䜿çšãããŸã
ããŒã«ã«RTPããã³RTCPããŒãã
3ã ãã ããŒã«ã«RTCPããŒã ïŒããŒã«ã«RTCPããŒãïŒãèšå®ãããŠããªãå Žåã¯ãããŒã«ã«RTPããŒãã«èšå®ãããŸã
å€ãã©ã¹1ã
RTSP
ãªã¢ã«ã¿ã€ã ã¹ããªãŒãã³ã°ãããã³ã«ã
RTSPã¯ãæè¡çã«ã¯libavformatã®ãããã³ã«ãã³ãã©ãŒã§ã¯ãªããdemuxerããã³muxerã§ãã The
demuxerã¯ãéåžžã®RTSPïŒRTPãä»ããŠè»¢éãããããŒã¿ã䜿çšïŒã®äž¡æ¹ããµããŒãããŸããããã¯ãããšãã°æ¬¡ã®ããã«äœ¿çšãããŸãã
Appleããã³MicrosoftïŒããã³Real-RTSPïŒRDTãä»ããŠè»¢éãããããŒã¿ã䜿çšïŒã
ãã«ããã¬ã¯ãµã䜿çšããŠãRTSPANNOUNCEã䜿çšããŠã¹ããªãŒã ããµããŒãããŠãããµãŒããŒã«éä¿¡ã§ããŸãã
ïŒçŸåšãDarwin StreamingServerãšMischaSpiegelmockã®
<https://github.com/revmischa/rtsp-server>ïŒã
RTSPURLã«å¿ èŠãªæ§æã¯æ¬¡ã®ãšããã§ãã
rtspïŒ// [ïŒ ] /
ãªãã·ã§ã³ã¯ã§èšå®ããããšãã§ããŸã ffmpeg/åçãã ã³ãã³ãã©ã€ã³ããŸãã¯ãAVOptionããŸãã¯ã§ã³ãŒãã«èšå®
ãavformat_open_inputãã
次ã®ãªãã·ã§ã³ããµããŒããããŠããŸãã
åæ_äžæåæ¢
1ã«èšå®ãããŠããå Žåã¯ãã¹ããªãŒã ã®åçãããã«éå§ããªãã§ãã ãããããã©ã«ãå€ã¯0ã§ãã
rtsp_transport
RTSPãã©ã³ã¹ããŒããããã³ã«ãèšå®ããŸãã
次ã®å€ãåãå ¥ããŸãã
UDP äžäœã®ãã©ã³ã¹ããŒããããã³ã«ãšããŠUDPã䜿çšããŸãã
TCP äžäœãã©ã³ã¹ããŒããšããŠTCPïŒRTSPå¶åŸ¡ãã£ãã«å ã§ã€ã³ã¿ãŒãªãŒãïŒã䜿çšãã
ãããã³ã«ã
udp_ãã«ããã£ã¹ã
äžäœã®ãã©ã³ã¹ããŒããããã³ã«ãšããŠUDPãã«ããã£ã¹ãã䜿çšããŸãã
HTTP
ééããã®ã«åœ¹ç«ã€äžäœãã©ã³ã¹ããŒããããã³ã«ãšããŠHTTPãã³ããªã³ã°ã䜿çšãã
ãããã·ã
è€æ°ã®äžäœãã©ã³ã¹ããŒããããã³ã«ãæå®ã§ããŸãããã®å Žåããããã¯XNUMXã€è©ŠãããŸãã
äžåºŠã«ïŒXNUMXã€ã®ã»ããã¢ããã倱æããå Žåã次ã®ã»ããã¢ãããè©Šè¡ãããŸãïŒã ãã«ããã¬ã¯ãµã®å Žåã
TCP & UDP ãªãã·ã§ã³ããµããŒããããŠããŸãã
rtsp_flags
RTSPãã©ã°ãèšå®ããŸãã
次ã®å€ãåãå ¥ããããŸãã
ãã£ã«ã¿ãŒãœãŒã¹
ããŽã·ãšãŒãããããã¢ã¢ãã¬ã¹ãšããŒãããã®ãã±ããã®ã¿ãåãå ¥ããŸãã
èã
ãµãŒããŒãšããŠæ©èœããçä¿¡æ¥ç¶ããªãã¹ã³ããŸãã
åªå _tcp
TCPãRTSPRTPãã©ã³ã¹ããŒããšããŠäœ¿çšã§ããå Žåã¯ãæåã«RTPãã©ã³ã¹ããŒãã«TCPãè©ŠããŠãã ããã
ããã©ã«ãå€ã¯ ãªã.
allowed_media_types
ãµãŒããŒããåãå ¥ããã¡ãã£ã¢ã¿ã€ããèšå®ããŸãã
次ã®ãã©ã°ãåãå ¥ããããŸãã
ãããª
ãªãŒãã£ãª
ããŒã¿
ããã©ã«ãã§ã¯ããã¹ãŠã®ã¡ãã£ã¢ã¿ã€ããåãå ¥ããŸãã
min_port
æå°ããŒã«ã«UDPããŒããèšå®ããŸãã ããã©ã«ãå€ã¯5000ã§ãã
æ倧ããŒã
æ倧ããŒã«ã«UDPããŒããèšå®ããŸãã ããã©ã«ãå€ã¯65000ã§ãã
ã¿ã€ã ã¢ãŠã
çä¿¡æ¥ç¶ãåŸ æ©ããæ倧ã¿ã€ã ã¢ãŠãïŒç§åäœïŒãèšå®ããŸãã
-1ã®å€ã¯ç¡éãæå³ããŸãïŒããã©ã«ãïŒã ãã®ãªãã·ã§ã³ã¯ã rtsp_flags ã«èšå®
èã.
reorder_queue_size
䞊ã¹æ¿ãããããã±ãããåŠçããããã«ãããã¡ãªã³ã°ãããã±ããæ°ãèšå®ããŸãã
ã¿ã€ã ã¢ãŠã
ãœã±ããTCPI / Oã¿ã€ã ã¢ãŠãããã€ã¯ãç§åäœã§èšå®ããŸãã
ãŠãŒã¶ãŒãšãŒãžã§ã³ã
User-AgentããããŒããªãŒããŒã©ã€ãããŸãã æå®ããªãå Žåãããã©ã«ãã§libavformatã«ãªããŸã
èå¥åæååã
UDPãä»ããŠããŒã¿ãåä¿¡ããå Žåãããã«ããã¬ã¯ãµã¯åä¿¡ãããã±ããã䞊ã¹æ¿ããããšããŸãïŒ
é äžåã§å°çãããããã±ãããå®å šã«å€±ããããããå¯èœæ§ããããŸãïŒã ããã¯ãèšå®ããããšã§ç¡å¹ã«ã§ããŸã
ãŒããžã®æ倧ãããã¯ã¹é 延ïŒAVFormatContextã®ãmax_delayããã£ãŒã«ããä»ããŠïŒã
ãã«ããããã¬ãŒãã®Real-RTSPã¹ããªãŒã ãèŠèŽããå Žå åçããã衚瀺ããã¹ããªãŒã ã¯
ã-vstãã§éžæ n ããã³ã-astã n ãããããããªãšãªãŒãã£ãªçšã§ããªã³ã«åãæ¿ããããšãã§ããŸã
ãvããšãaããæŒããŠãã©ã€ããŸãã
äŸ
次ã®äŸã¯ãã¹ãŠã åçãã & ffmpeg ããŒã«ã
ã»æ倧å泚æé 延0.5ç§ã§ãUDPãä»ããŠã¹ããªãŒã ãèŠèŽããŸãã
ffplay -max_delay 500000 -rtsp_transport udp rtspïŒ//server/video.mp4
ã»HTTPãä»ããŠãã³ããªã³ã°ãããã¹ããªãŒã ãç£èŠããŸãã
ffplay -rtsp_transport http rtspïŒ//server/video.mp4
ã»ä»ã®äººãèŠèŽã§ããããã«ãã¹ããªãŒã ãRTSPãµãŒããŒã«ãªã¢ã«ã¿ã€ã ã§éä¿¡ããŸãã
ffmpeg -re -i -f rtsp -muxdelay 0.1 rtspïŒ//server/live.sdp
ã»ãªã¢ã«ã¿ã€ã ã§ã¹ããªãŒã ãåä¿¡ããŸãã
ffmpeg -rtsp_flags listen -i rtspïŒ//ownaddress/live.sdp
暹液
ã»ãã·ã§ã³ã¢ããŠã³ã¹ãããã³ã«ïŒRFC2974ïŒã ããã¯æè¡çã«ã¯ãããã³ã«ãã³ãã©ã§ã¯ãããŸãã
libavformatãããã¯ãã«ããã¬ã¯ãµãšããã«ããã¬ã¯ãµã§ãã ããã¯ãRTPã¹ããªãŒã ã®ã·ã°ããªã³ã°ã«äœ¿çšãããŸãã
å¥ã®ããŒãã§å®æçã«ã¹ããªãŒã ã®SDPãã¢ããŠã³ã¹ããŸãã
ãã¥ã¯ãµãŒ
ãã«ããã¬ã¯ãµã«æå®ãããSAPURLã®æ§æã¯æ¬¡ã®ãšããã§ãã
sapïŒ// [ïŒ ] [ïŒ ]
RTPãã±ããã¯ã«éä¿¡ãããŸã ãã¹ãã£ããŒã·ã§ã³ ããŒãäž ããŒãããŸãã¯ããŒãããªãå Žåã¯ããŒã5004ã«
æå®ã ãªãã·ã§ã³ ãïŒãã§åºåããããªã¹ãã§ãã 次ã®ãªãã·ã§ã³ããµããŒããããŠããŸãã
announce_addr =äœæ
ã¢ããŠã³ã¹ã®éä¿¡å IPã¢ãã¬ã¹ãæå®ããŸãã çç¥ããå Žåã
ã¢ããŠã³ã¹ã¯ãäžè¬çã«äœ¿çšãããSAPã¢ããŠã³ã¹ãã«ããã£ã¹ãã¢ãã¬ã¹ã«éä¿¡ãããŸã
224.2.127.254ïŒsap.mcast.netïŒããŸãã¯ff0e :: 2ïŒ7ffeã®å Žå ãã¹ãã£ããŒã·ã§ã³ IPv6ã¢ãã¬ã¹ã§ãã
ã¢ããŠã³ã¹ããŒã=ããŒã
ã¢ããŠã³ã¹ãéä¿¡ããããŒããæå®ããŸããæå®ããªãå Žåãããã©ã«ãã¯9875ã§ãã
ttl =TTL
ã¢ããŠã³ã¹ãšRTPãã±ããã®åç¶æéã®å€ãæå®ããŸããããã©ã«ãã¯255ã§ãã
same_port =0 | 1
1ã«èšå®ãããšããã¹ãŠã®RTPã¹ããªãŒã ãåãããŒããã¢ã§éä¿¡ããŸãã ãŒãïŒããã©ã«ãïŒã®å Žåããã¹ãŠ
ã¹ããªãŒã ã¯äžæã®ããŒãã§éä¿¡ãããããŒãã®åã¹ããªãŒã ã¯2ããã倧ããçªå·ã«ãªããŸãã
åã VLC / Live555ã§ã¯ãã¹ããªãŒã ãåä¿¡ã§ããããã«ãããã1ã«èšå®ããå¿ èŠããããŸãã
åä¿¡çšã®libavformatã®RTPã¹ã¿ãã¯ã§ã¯ããã¹ãŠã®ã¹ããªãŒã ãäžæã§éä¿¡ããå¿ èŠããããŸã
ããŒãã
ã³ãã³ãã©ã€ã³ã®äŸã次ã«ç€ºããŸãã
VLCã§èŠèŽããããã«ãããŒã«ã«ãµããããã§ã¹ããªãŒã ããããŒããã£ã¹ãããã«ã¯ïŒ
ffmpeg -re -i -f sap sapïŒ//224.0.0.255ïŒsame_port = 1
åæ§ã«ã åçãã:
ffmpeg -re -i -f sap sapïŒ//224.0.0.255
ãããŠã§èŠãããã« åçãããIPv6çµç±ïŒ
ffmpeg -re -i -f sap sapïŒ// [ff0e :: 1ïŒ2ïŒ3ïŒ4]
ããã¥ã¯ãµãŒ
ããã«ããã¬ã¯ãµã«æå®ãããSAPURLã®æ§æã¯æ¬¡ã®ãšããã§ãã
sapïŒ// [ ] [ïŒ ]
äœæ ã¢ããŠã³ã¹ããªãã¹ã³ãããã«ããã£ã¹ãã¢ãã¬ã¹ã§ããçç¥ããå Žåãããã©ã«ã
224.2.127.254ïŒsap.mcast.netïŒã䜿çšãããŸãã ããŒã ãªãã¹ã³ãããŠããããŒãã§ãã
çç¥ã
ããã«ããã¬ã¯ãµã¯ãæå®ãããã¢ãã¬ã¹ãšããŒãã§ã¢ããŠã³ã¹ããªãã¹ã³ããŸãã äžåºŠ
ã¢ããŠã³ã¹ãåä¿¡ããããšããã®ç¹å®ã®ã¹ããªãŒã ãåä¿¡ããããšããŸãã
ã³ãã³ãã©ã€ã³ã®äŸã次ã«ç€ºããŸãã
éåžžã®SAPãã«ããã£ã¹ãã¢ãã¬ã¹ã§ã¢ããŠã³ã¹ãããæåã®ã¹ããªãŒã ãåçããã«ã¯ïŒ
ffplay sapïŒ//
ããã©ã«ãã®IPv6SAPãã«ããã£ã¹ãã¢ãã¬ã¹ã®XNUMXã€ã§ã¢ããŠã³ã¹ãããæåã®ã¹ããªãŒã ãåçããã«ã¯ã次ã®ããã«ããŸãã
ffplay sapïŒ// [ff0e :: 2ïŒ7ffe]
sctp
ã¹ããªãŒã å¶åŸ¡äŒéãããã³ã«ã
åãå ¥ããããURLæ§æã¯æ¬¡ã®ãšããã§ãã
sctpïŒ// ïŒ [ïŒ ]
ãããã³ã«ã¯æ¬¡ã®ãªãã·ã§ã³ãåãå ¥ããŸãã
èã
ä»»æã®å€ã«èšå®ãããŠããå Žåã¯ãçä¿¡æ¥ç¶ããªãã¹ã³ããŸãã çºä¿¡æ¥ç¶ã¯ã«ãã£ãŠè¡ãããŸã
ããã©ã«ãã
æ倧ã¹ããªãŒã æ°
ã¹ããªãŒã ã®æ倧æ°ãèšå®ããŸãã ããã©ã«ãã§ã¯ãå¶éã¯èšå®ãããŠããŸããã
srtp
å®å šãªãªã¢ã«ã¿ã€ã ãã©ã³ã¹ããŒããããã³ã«ã
åãå ¥ãããããªãã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã
srtp_in_suite
srtp_out_suite
å ¥åããã³åºåãšã³ã³ãŒãã£ã³ã°ã¹ã€ãŒããéžæããŸãã
ãµããŒããããŠããå€ïŒ
AES_CM_128_HMAC_SHA1_80
SRTP_AES128_CM_HMAC_SHA1_80
AES_CM_128_HMAC_SHA1_32
SRTP_AES128_CM_HMAC_SHA1_32
srtp_in_params
srtp_out_params
base64ã§ãšã³ã³ãŒããããã³ãŒãã§è¡šãããå ¥åããã³åºåã®ãšã³ã³ãŒããã©ã¡ãŒã¿ãèšå®ããŸã
ãã€ããªãããã¯ã®è¡šçŸã ãã®ãã€ããªãããã¯ã®æåã®16ãã€ãã¯æ¬¡ã®ããã«äœ¿çšãããŸã
ãã¹ã¿ãŒããŒã次ã®14ãã€ãããã¹ã¿ãŒãœã«ããšããŠäœ¿çšãããŸãã
ãµããã¡ã€ã«
ãã¡ã€ã«ãŸãã¯å¥ã®ã¹ããªãŒã ã®ã»ã°ã¡ã³ããä»®æ³çã«æœåºããŸãã åºã«ãªãã¹ããªãŒã ã¯
ã·ãŒã¯å¯èœã
åãå ¥ãããããªãã·ã§ã³ïŒ
start
æœåºãããã»ã°ã¡ã³ãã®éå§ãªãã»ããïŒãã€ãåäœïŒã
end æœåºãããã»ã°ã¡ã³ãã®çµäºãªãã»ããïŒãã€ãåäœïŒã
äŸïŒ
DVD VOBãã¡ã€ã«ãããã£ãã¿ãŒãæœåºããŸãïŒå€éšã§ååŸããéå§ã»ã¯ã¿ãŒãšçµäºã»ã¯ã¿ãŒãããã³
2048ãæãããã®ïŒïŒ
ãµããã¡ã€ã«,, startã153391104ãendã268142592 ,,ïŒ/ media / dvd / VIDEO_TS / VTS_08_1.VOB
TARã¢ãŒã«ã€ãããçŽæ¥AVIãã¡ã€ã«ãåçããŸãã
ãµããã¡ã€ã«,, startã183241728ãendã366490624 ,,ïŒarchive.tar
TCP
äŒéå¶åŸ¡ãããã³ã«ã
TCPURLã«å¿ èŠãªæ§æã¯æ¬¡ã®ãšããã§ãã
tcpïŒ// ïŒ [ïŒ ]
ãªãã·ã§ã³ ãã©ãŒã ã®ïŒã§åºåããããªãã·ã§ã³ã®ãªã¹ããå«ãŸããŠããŸã ããŒ=ãŽã¡ã«.
ãµããŒããããŠãããªãã·ã§ã³ã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
listen =1 | 0
çä¿¡æ¥ç¶ããªãã¹ã³ããŸãã ããã©ã«ãå€ã¯0ã§ãã
ã¿ã€ã ã¢ãŠã=ãã€ã¯ãç§
ãã€ã¯ãç§åäœã§è¡šããããçºçãšã©ãŒã¿ã€ã ã¢ãŠããèšå®ããŸãã
ãã®ãªãã·ã§ã³ã¯ãèªã¿åãã¢ãŒãã«ã®ã¿é¢é£ããŸãããã®æé以äžã«ããŒã¿ãå°çããªãã£ãå Žå
ééããšã©ãŒãçºçãããŸãã
listen_timeout =ããªç§
ããªç§åäœã§è¡šããããªãã¹ã³ã¿ã€ã ã¢ãŠããèšå®ããŸãã
次ã®äŸã¯ããªã¹ãã³ã°TCPæ¥ç¶ãã»ããã¢ããããæ¹æ³ã瀺ããŠããŸãã ffmpegãã¿ã³ã®é£ã«ãã
ãã®åŸãã§ã¢ã¯ã»ã¹ åçãã:
ffmpeg -i -f tcpïŒ// ïŒ ïŒèã
ffplay tcpïŒ// ïŒ
TLS
ãã©ã³ã¹ããŒãå±€ã»ãã¥ãªãã£ïŒTLSïŒ/ Secure Sockets LayerïŒSSLïŒ
TLS / SSLURLã«å¿ èŠãªæ§æã¯æ¬¡ã®ãšããã§ãã
tlsïŒ// ïŒ [ïŒ ]
次ã®ãã©ã¡ãŒã¿ã¯ãã³ãã³ãã©ã€ã³ãªãã·ã§ã³ãä»ããŠïŒãŸãã¯ãAVOptionããä»ããŠã³ãŒãã§ïŒèšå®ã§ããŸãã
ca_fileã cafile =ãã¡ã€ã«å
ä¿¡é Œã§ãããã®ãšããŠæ±ãèªèšŒå±ïŒCAïŒã®ã«ãŒã蚌ææžãå«ããã¡ã€ã«ã ããã
ãªã³ã¯ãããTLSã©ã€ãã©ãªã«ã¯ããã©ã«ããå«ãŸããŠããããããããæå®ããå¿ èŠããªãå ŽåããããŸãã
æ€èšŒã¯æ©èœããŸããããã¹ãŠã®ã©ã€ãã©ãªãšã»ããã¢ããã«ããã©ã«ããçµã¿èŸŒãŸããŠããããã§ã¯ãããŸããã
ãã¡ã€ã«ã¯OpenSSLPEM圢åŒã§ããå¿ èŠããããŸãã
tls_verify =1 | 0
æå¹ã«ãªã£ãŠããå Žåã¯ãéä¿¡ããŠãããã¢ã確èªããŠã¿ãŠãã ããã 泚æã䜿çšããå Žå
OpenSSLãããã¯çŸåšããã¢èšŒææžã次ã®ããããã«ãã£ãŠçœ²åãããŠããããšã確èªããã ãã§ã
CAããŒã¿ããŒã¹ã®ã«ãŒã蚌ææžã§ããã
蚌ææžã¯ãå®éã«æ¥ç¶ããããšããŠãããã¹ãåãšäžèŽããŸãã ïŒGnuTLSã䜿çšãããšã
ãã¹ãåãæ€èšŒãããŸããïŒ
ããã¯ãCAããŒã¿ããŒã¹ãã«ãã£ãŠæäŸãããå¿ èŠããããããããã©ã«ãã§ç¡å¹ã«ãªã£ãŠããŸãã
å€ãã®å Žåãçºä¿¡è ã
cert_fileã cert =ãã¡ã€ã«å
ãã¢ãšã®ãã³ãã·ã§ã€ã¯ã§äœ¿çšãã蚌ææžãå«ããã¡ã€ã«ã ïŒãã€
ãµãŒããŒãšããŠåäœãããªãã¹ã³ã¢ãŒãã§ã¯ãããã¯ãã¢ã«ãã£ãŠããé »ç¹ã«å¿ èŠã«ãªããŸããã
ã¯ã©ã€ã¢ã³ã蚌ææžã¯ãç¹å®ã®èšå®ã§ã®ã¿çŸ©åä»ããããŠããŸããïŒ
key_fileã ããŒ=ãã¡ã€ã«å
蚌ææžã®ç§å¯éµãå«ããã¡ã€ã«ã
listen =1 | 0
æå¹ã«ãªã£ãŠããå Žåã¯ãæäŸãããããŒãã§æ¥ç¶ããªãã¹ã³ããã§ãµãŒããŒã®åœ¹å²ãåŒãåããŸã
ã¯ã©ã€ã¢ã³ãããŒã«ã®ä»£ããã«ãã³ãã·ã§ã€ã¯ã
ã³ãã³ãã©ã€ã³ã®äŸ:
å ¥åã¹ããªãŒã ãæäŸããTLS / SSLãµãŒããŒãäœæããŸãã
ffmpeg -i -f tlsïŒ// ïŒ ïŒlistenïŒcert = ïŒkey =
ã䜿çšããŠTLS / SSLãµãŒããŒããã¹ããªãŒã ãåçããã«ã¯ åçãã:
ffplay tlsïŒ// ïŒ
UDP
ãŠãŒã¶ãŒããŒã¿ã°ã©ã ãããã³ã«ã
UDPURLã«å¿ èŠãªæ§æã¯æ¬¡ã®ãšããã§ãã
udpïŒ// ïŒ [ïŒ ]
ãªãã·ã§ã³ ãã©ãŒã ã®ïŒã§åºåããããªãã·ã§ã³ã®ãªã¹ããå«ãŸããŠããŸã ããŒ=ãŽã¡ã«.
ã·ã¹ãã ã§ã¹ã¬ããåãæå¹ã«ãªã£ãŠããå Žåã埪ç°ãããã¡ã䜿çšããŠ
çä¿¡ããŒã¿ãããã«ãããUDPãœã±ãããããã¡ã®ãªãŒããŒã©ã³ã«ããããŒã¿ã®æ倱ãæžããããšãã§ããŸãã
ã fifo_size & ãªãŒããŒã©ã³_éèŽåœç ãªãã·ã§ã³ã¯ãã®ãããã¡ã«é¢é£ããŠããŸãã
ãµããŒããããŠãããªãã·ã§ã³ã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
buffer_size =ãµã€ãº
UDPã®æ倧ãœã±ãããããã¡ãµã€ãºããã€ãåäœã§èšå®ããŸãã ããã¯ã
ãœã±ããã®çšéã«å¿ããŠãåä¿¡ãŸãã¯éä¿¡ãããã¡ãµã€ãºã ããã©ã«ãã¯
64KBã ãåç §ããŠãã ãã fifo_size.
localport =ããŒã
ãã€ã³ãããããŒã«ã«UDPããŒãããªãŒããŒã©ã€ãããŸãã
localaddr =addr
ããŒã«ã«IPã¢ãã¬ã¹ãéžæããŸãã ããã¯ãããšãã°ãã«ããã£ã¹ããéä¿¡ãããã¹ãã
è€æ°ã®ã€ã³ã¿ãŒãã§ãŒã¹ããŠãŒã¶ãŒã¯éä¿¡ããã€ã³ã¿ãŒãã§ãŒã¹ãéžæã§ããŸãã
ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã®IPã¢ãã¬ã¹ãæå®ããŸãã
pkt_size =ãµã€ãº
UDPãã±ããã®ãµã€ãºããã€ãåäœã§èšå®ããŸãã
åå©çš=1 | 0
UDPãœã±ããã®åå©çšãæ瀺çã«èš±å¯ãŸãã¯çŠæ¢ããŸãã
ttl =TTL
åç¶æéã®å€ãèšå®ããŸãïŒãã«ããã£ã¹ãã®å Žåã®ã¿ïŒã
connect =1 | 0
ãconnectïŒïŒãã§UDPãœã±ãããåæåããŸãã ãã®å Žåãå®å ã¢ãã¬ã¹
åŸã§ff_udp_set_remote_urlã§å€æŽããããšã¯ã§ããŸããã å®å ã¢ãã¬ã¹ã
æåã«ç¥ãããŠããããã«ããã®ãªãã·ã§ã³ã¯ff_udp_set_remote_urlã§ãæå®ã§ããŸãã ãã
getsocknameã䜿çšããŠãã±ããã®éä¿¡å ã¢ãã¬ã¹ãèŠã€ããããšãã§ãã
ãdestinationunreachableããåä¿¡ããå Žåãæžã蟌ã¿ã¯AVERRORïŒECONNREFUSEDïŒã§è¿ãããŸãã
åä¿¡ã®å Žåãããã«ãããæå®ããããã±ããããã®ã¿ãã±ãããåä¿¡ã§ãããšããå©ç¹ããããŸãã
ãã¢ã¢ãã¬ã¹/ããŒãã
ãœãŒã¹=äœæ[,äœæ]
æå®ãããéä¿¡è IPã®XNUMXã€ãããã«ããã£ã¹ãã°ã«ãŒãã«éä¿¡ããããã±ããã®ã¿ãåä¿¡ããŸã
ã¢ãã¬ã¹ã
ãããã¯=äœæ[,äœæ]
æå®ãããéä¿¡è IPã¢ãã¬ã¹ãããã«ããã£ã¹ãã°ã«ãŒãã«éä¿¡ããããã±ãããç¡èŠããŸãã
fifo_size =ãŠããã
ãµã€ãºã®ãããã±ããã®æ°ãšããŠè¡šãããUDPå信埪ç°ãããã¡ãµã€ãºãèšå®ããŸã
188ãã€ãã®ã æå®ããªãå Žåãããã©ã«ãã¯7*4096ã§ãã
overrun_nonfatal =1 | 0
UDPã埪ç°ãããã¡ãªãŒããŒã©ã³ãåä¿¡ããå Žåã«åç¶ããŸãã ããã©ã«ãå€ã¯0ã§ãã
ã¿ã€ã ã¢ãŠã=ãã€ã¯ãç§
ãã€ã¯ãç§åäœã§è¡šããããçºçãšã©ãŒã¿ã€ã ã¢ãŠããèšå®ããŸãã
ãã®ãªãã·ã§ã³ã¯ãèªã¿åãã¢ãŒãã«ã®ã¿é¢é£ããŸãããã®æé以äžã«ããŒã¿ãå°çããªãã£ãå Žå
ééããšã©ãŒãçºçãããŸãã
æŸé=1 | 0
UDPãããŒããã£ã¹ããæ瀺çã«èš±å¯ãŸãã¯çŠæ¢ããŸãã
ãããŒããã£ã¹ãã¹ããŒã ã®ãããããã¯ãŒã¯ã§ã¯ããããŒããã£ã¹ããæ£ããæ©èœããªãå Žåãããããšã«æ³šæããŠãã ãã
ä¿è·ã
äŸ
㻠䜿çšãã ffmpeg UDPãä»ããŠãªã¢ãŒããšã³ããã€ã³ãã«ã¹ããªãŒãã³ã°ããã«ã¯ïŒ
ffmpeg -i -f udpïŒ// ïŒ
㻠䜿çšãã ffmpeg 188ãµã€ãºã®UDPãã±ããã䜿çšããŠUDPçµç±ã§mpegts圢åŒã§ã¹ããªãŒãã³ã°ããã«ã¯ã
倧ããªå ¥åãããã¡ïŒ
ffmpeg -i -f mpegts udpïŒ// ïŒ ïŒpkt_size = 188ïŒbuffer_size = 65535
㻠䜿çšãã ffmpeg ãªã¢ãŒããšã³ããã€ã³ãããUDPãä»ããŠåä¿¡ããã«ã¯ïŒ
ffmpeg -i udpïŒ// [ ]ïŒ ..ã
UNIX
UnixããŒã«ã«ãœã±ãã
Unixãœã±ããURLã«å¿ èŠãªæ§æã¯æ¬¡ã®ãšããã§ãã
unixïŒ//
次ã®ãã©ã¡ãŒã¿ã¯ãã³ãã³ãã©ã€ã³ãªãã·ã§ã³ãä»ããŠïŒãŸãã¯ãAVOptionããä»ããŠã³ãŒãã§ïŒèšå®ã§ããŸãã
ã¿ã€ã ã¢ãŠã
ã¿ã€ã ã¢ãŠãïŒããªç§ïŒã
èã
ãªã¹ãã³ã°ã¢ãŒãã§Unixãœã±ãããäœæããŸãã
ããã€ã¹ OPTIONS
libavdeviceã©ã€ãã©ãªã¯ãlibavformatãšåãã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŸãã ã€ãŸããå ¥å
ããã€ã¹ã¯ããã«ããã¬ã¯ãµã®ãããªãã®ãšèŠãªãããåºåããã€ã¹ã¯ãã«ããã¬ã¯ãµã®ãããªãã®ãšèŠãªãããã€ã³ã¿ãŒãã§ã€ã¹
ããã³æ±çšããã€ã¹ãªãã·ã§ã³ã¯ãlibavformatã«ãã£ãŠæäŸããããã®ãšåãã§ãïŒffmpeg-formatsãåç §ïŒ
ããã¥ã¢ã«ïŒã
ããã«ãåå ¥åãŸãã¯åºåããã€ã¹ã¯ããããããã©ã€ããŒããªãã·ã§ã³ããµããŒãããå ŽåããããŸãã
ãã®ã³ã³ããŒãã³ãã«åºæã§ãã
ãªãã·ã§ã³ã¯ã-ãæå®ããŠèšå®ã§ããŸãããªãã·ã§ã³ å€ FFmpegããŒã«ã§ããŸãã¯ãèšå®ããããšã«ãã£ãŠ
ããã€ã¹ã®ãAVFormatContextããªãã·ã§ã³ã§æ瀺çã«å€ãæå®ãããã libavutil / opt.h API
ããã°ã©ã ã§äœ¿çšããŸãã
å ¥å ããã€ã¹
å ¥åããã€ã¹ã¯FFmpegã§æ§æãããèŠçŽ ã§ãããçä¿¡ããŒã¿ãžã®ã¢ã¯ã»ã¹ãå¯èœã«ããŸã
ã·ã¹ãã ã«æ¥ç¶ãããŠãããã«ãã¡ãã£ã¢ããã€ã¹ããã
FFmpegãã«ããæ§æãããšããµããŒããããŠãããã¹ãŠã®å ¥åããã€ã¹ã
ããã©ã«ãã æ§æãªãã·ã§ã³ã--list-indevsãã䜿çšããŠã䜿çšå¯èœãªãã¹ãŠã®ãã®ããªã¹ãã§ããŸãã
æ§æãªãã·ã§ã³ã--disable-indevsãã䜿çšããŠããã¹ãŠã®å ¥åããã€ã¹ãç¡å¹ã«ããããšãã§ããŸãã
ãªãã·ã§ã³ã--enable-indev=ãã䜿çšããŠå ¥åããã€ã¹ãéžæçã«æå¹ã«ããŸãã€ã³ã"ããŸãã¯ããªããã§ãã
ãªãã·ã§ã³ã--disable-indev=ãã䜿çšããŠç¹å®ã®å ¥åããã€ã¹ãç¡å¹ã«ããŸãã€ã³ã".
ff *ããŒã«ã®ãªãã·ã§ã³ã-devicesãã¯ããµããŒããããŠããå ¥åããã€ã¹ã®ãªã¹ãã衚瀺ããŸãã
çŸåšå©çšå¯èœãªå ¥åããã€ã¹ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
ã¢ã«ãµ
ALSAïŒAdvanced Linux Sound ArchitectureïŒå ¥åããã€ã¹ã
æ§æäžã«ãã®å ¥åããã€ã¹ãæå¹ã«ããã«ã¯ãlibasoundãã«ã€ã³ã¹ããŒã«ããå¿ èŠããããŸã
ã·ã¹ãã ã
ãã®ããã€ã¹ã¯ãALSAããã€ã¹ããã®ãã£ããã£ãå¯èœã«ããŸãã ãã£ããã£ããããã€ã¹ã®ååã¯
ALSAã«ãŒãèå¥åã§ããã
ALSAèå¥åã®æ§æã¯æ¬¡ã®ãšããã§ãã
hwïŒ [ã [ã ]]
ã©ã DEV & ãµããã ã³ã³ããŒãã³ãã¯ãªãã·ã§ã³ã§ãã
XNUMXã€ã®åŒæ°ïŒé çªã«ïŒ ã«ãŒã,DEV,ãµãããïŒã«ãŒãçªå·ãŸãã¯èå¥åãããã€ã¹ãæå®ããŸã
çªå·ãšãµãããã€ã¹çªå·ïŒ-1ã¯ä»»æãæå³ããŸãïŒã
ã·ã¹ãã ã§çŸåšèªèãããŠããã«ãŒãã®ãªã¹ãã確èªããã«ã¯ããã¡ã€ã«ã確èªããŠãã ãã
/ proc / asound /ã«ãŒã & / proc / asound / devices.
ããšãã°ã ffmpeg ã«ãŒãID0ã®ALSAããã€ã¹ããã
ã³ãã³ãïŒ
ffmpeg -f alsa -i hwïŒ0 alsaout.wav
詳现ã«ã€ããŠã¯ã以äžãåç §ããŠãã ãããhttp://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html>
ãªãã·ã§ã³
ãµã³ãã«ã¬ãŒã
ãµã³ãã«ã¬ãŒããHzã§èšå®ããŸãã ããã©ã«ãã¯48000ã§ãã
ãã£ã³ãã«
ãã£ã³ãã«æ°ãèšå®ããŸãã ããã©ã«ãã¯2ã§ãã
ã¢ãã¡ãŠã³ããŒã·ã§ã³
AVFoundationå ¥åããã€ã¹ã
AVFoundationã¯ãOSXã§ã¹ããªãŒã ã°ã©ãããããã«AppleãçŸåšæšå¥šããŠãããã¬ãŒã ã¯ãŒã¯ã§ã> =
10.7ããã³iOSã å€ãQTKitãã¬ãŒã ã¯ãŒã¯ã¯ãOSX以ééæšå¥šãšããŠããŒã¯ãããŠããŸã
ããŒãžã§ã³10.7ã
å ¥åãã¡ã€ã«åã¯ã次ã®æ§æã§æå®ããå¿ èŠããããŸãã
-iã[[ãããª]ïŒ[ãªãŒãã£ãª]]ã
æåã®ãšã³ããªã¯ãããªå ¥åãéžæããåŸè ã¯ãªãŒãã£ãªå ¥åãéžæããŸãã The
ã¹ããªãŒã ã¯ãããã€ã¹ã«ãã£ãŠç€ºãããããã«ãããã€ã¹åãŸãã¯ããã€ã¹ã€ã³ããã¯ã¹ã«ãã£ãŠæå®ããå¿ èŠããããŸã
ãªã¹ãã ãŸãã¯ããããªããã³/ãŸãã¯ãªãŒãã£ãªå ¥åããã€ã¹ã¯ãã€ã³ããã¯ã¹ã䜿çšããŠéžæã§ããŸãã
B <-video_device_index E INDEXE >>
ããã³
B <-audio_device_index E INDEXE >>
ãå ¥åãã¡ã€ã«åã§æå®ãããããã€ã¹åãŸãã¯ã€ã³ããã¯ã¹ãäžæžãããŸãã
䜿çšå¯èœãªãã¹ãŠã®ããã€ã¹ã¯ãã䜿çšããŠåæã§ããŸã -list_devices trueããã¹ãŠã®ããã€ã¹ãäžèŠ§è¡šç€º
ååãšå¯Ÿå¿ããã€ã³ããã¯ã¹ã
XNUMXã€ã®ããã€ã¹åãšã€ãªã¢ã¹ããããŸãã
"ããã©ã«ã"
察å¿ããã¿ã€ãã®AVFoundationããã©ã«ãããã€ã¹ãéžæããŸãã
"ãªã"
察å¿ããã¡ãã£ã¢ã¿ã€ããèšé²ããªãã§ãã ããã ããã¯ã空ãæå®ããã®ãšåãã§ã
ããã€ã¹åãŸãã¯ã€ã³ããã¯ã¹ã
ãªãã·ã§ã³
AVFoundationã¯æ¬¡ã®ãªãã·ã§ã³ããµããŒãããŠããŸãã
-list_devices
trueã«èšå®ãããšã䜿çšå¯èœãªãã¹ãŠã®å ¥åããã€ã¹ã®ãªã¹ãã衚瀺ããããã¹ãŠã®ããã€ã¹ã衚瀺ãããŸã
ååãšã€ã³ããã¯ã¹ã
-video_device_index
ã€ã³ããã¯ã¹ã§ãããªããã€ã¹ãæå®ããŸãã å ¥åãã¡ã€ã«åã§æå®ããããã®ããã¹ãŠãªãŒããŒã©ã€ãããŸãã
-audio_device_index
ãªãŒãã£ãªããã€ã¹ãã€ã³ããã¯ã¹ã§æå®ããŸãã å ¥åãã¡ã€ã«åã§æå®ããããã®ããã¹ãŠãªãŒããŒã©ã€ãããŸãã
-ãã¯ã»ã«ãã©ãŒããã
ç¹å®ã®ãã¯ã»ã«åœ¢åŒã䜿çšããããã«ãããªããã€ã¹ã«èŠæ±ããŸãã æå®ããã圢åŒã
ãµããŒããããŠããªãå Žåã䜿çšå¯èœãªåœ¢åŒã®ãªã¹ãã衚瀺ããããã®ãªã¹ãã®æåã®åœ¢åŒã¯æ¬¡ã®ãšããã§ãã
代ããã«äœ¿çšãããŸãã 䜿çšå¯èœãªãã¯ã»ã«åœ¢åŒã¯æ¬¡ã®ãšããã§ãã"monobãrgb555beãrgb555leãrgb565beã
rgb565leãrgb24ãbgr24ã0rgbãbgr0ã0bgrãrgb0ã
bgr48beãuyvy422ãyuva444pãyuva444p16leãyuv444pãyuv422p16ãyuv422p10ãyuv444p10ã
yuv420pãnv12ãyuyv422ãã°ã¬ãŒã
-ãã¬ãŒã ã¬ãŒã
ã°ã©ããã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã©ã«ãã¯ãntscãã§ãã®ãã¬ãŒã ã¬ãŒãã«å¯Ÿå¿ããŸãã
ã30000/1001ãã
-ãããªãµã€ãº
ãããªã®ãã¬ãŒã ãµã€ãºãèšå®ããŸãã
-capture_cursor
ããŠã¹ãã€ã³ã¿ããã£ããã£ããŸãã ããã©ã«ãã¯0ã§ãã
-capture_mouse_clicks
ç»é¢ã®ããŠã¹ã¯ãªãã¯ããã£ããã£ããŸãã ããã©ã«ãã¯0ã§ãã
äŸ
ã»AVFoundationããµããŒãããããã€ã¹ã®ãªã¹ããå°å·ããŠçµäºããŸãã
$ ffmpeg -f avfoundation -list_devices true -i ""
ã»ãããªããã€ã¹0ããã®ãããªãšãªãŒãã£ãªããã€ã¹0ããã®ãªãŒãã£ãªãout.aviã«èšé²ããŸãã
$ ffmpeg -f avfoundation -i "0ïŒ0" out.avi
ã»ãããªããã€ã¹2ããã®ãããªãšãªãŒãã£ãªããã€ã¹1ããã®ãªãŒãã£ãªãout.aviã«èšé²ããŸãã
$ ffmpeg -f avfoundation -video_device_index 2 -i "ïŒ1" out.avi
ã»ãã¯ã»ã«åœ¢åŒbgr0ã䜿çšããŠãã·ã¹ãã ã®ããã©ã«ãã®ãããªããã€ã¹ãããããªãé²ç»ããŸãã
out.aviã«ãªãŒãã£ãªãé²é³ããªãïŒ
$ ffmpeg -f avfoundation -pixel_format bgr0 -i "defaultïŒnone" out.avi
BKTR
BSDãããªå ¥åããã€ã¹ã
ãªãã·ã§ã³
ãã¬ãŒã ã¬ãŒã
ãã¬ãŒã ã¬ãŒããèšå®ããŸãã
ãããªãµã€ãº
ãããªã®ãã¬ãŒã ãµã€ãºãèšå®ããŸãã ããã©ã«ãã¯ãvgaãã§ãã
æšæº
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ãã«
NTSC
ãã©ã€
ãã«ã³
ã€ã·
NTSCJ
ããããªã³ã¯
ããããªã³ã¯å ¥åããã€ã¹ã¯ãBlackmagicDeckLinkããã€ã¹ã®ãã£ããã£æ©èœãæäŸããŸãã
ãã®å ¥åããã€ã¹ãæå¹ã«ããã«ã¯ãBlackmagic DeckLink SDKãå¿ èŠã§ããã
é©åãªã--extra-cflagsãããã³ã--extra-ldflagsãã䜿çšããŠæ§æããŸãã Windowsã§ã¯ã
IDLãã¡ã€ã«ãå®è¡ããå¿ èŠããããŸã å¹ .
DeckLinkã¯ããµããŒããããã©ãŒãããã«ã€ããŠéåžžã«æ éã§ãã ãã¯ã»ã«åœ¢åŒã¯uyvy422ãŸãã¯v210ã
ãã¬ãŒã ã¬ãŒããšãããªãµã€ãºã¯ãããã€ã¹ã®ãã¬ãŒã ã¬ãŒããšãããªãµã€ãºã決å®ããå¿ èŠããããŸãã -list_formats 1ã ãªãŒãã£ãª
ãµã³ãã«ã¬ãŒãã¯åžžã«48kHzã§ããã£ã³ãã«æ°ã¯2ã8ããŸãã¯16ã«ããããšãã§ããŸãã
ãªãã·ã§ã³
ãªã¹ãããã€ã¹
ã«èšå®ããå Žå trueãããã€ã¹ã®ãªã¹ããå°å·ããŠçµäºããŸãã ããã©ã«ã㯠false.
ãªã¹ã圢åŒ
ã«èšå®ããå Žå trueããµããŒããããŠãã圢åŒã®ãªã¹ããå°å·ããŠçµäºããŸãã ããã©ã«ã㯠false.
bm_v210
ã«èšå®ããå Žå 1ããããªã¯uyvy10ã§ã¯ãªã210ãããv422ã§ãã£ããã£ãããŸãã ãã¹ãŠã®Blackmagicã
ããã€ã¹ã¯ãã®ãªãã·ã§ã³ããµããŒãããŠããŸãã
äŸ
ã»å ¥åããã€ã¹ã®äžèŠ§è¡šç€ºïŒ
ffmpeg -f Decklink -list_devices1-iãããŒ
ã»ãµããŒããããŠãã圢åŒãäžèŠ§è¡šç€ºããŸãã
ffmpeg -f Decklink -list_formats 1 -i'Intensity Pro'
ã»1080i50ïŒãã©ãŒããã11ïŒã§ãããªã¯ãªããããã£ããã£ããŸãã
ffmpeg -f Decklink -i'Intensity Pro @ 11' -acodec copy -vcodec copy output.avi
ã»1080i50ãããã§ãããªã¯ãªããããã£ããã£ããŸãã
ffmpeg -bm_v210 1 -f Decklink -i'UltraStudio Mini Recorder @ 11' -acodec copy -vcodec copy output.avi
衚瀺ãã
WindowsDirectShowå ¥åããã€ã¹ã
DirectShowã®ãµããŒãã¯ãFFmpegãmingw-w64ãããžã§ã¯ãã§ãã«ãããããšãã«æå¹ã«ãªããŸãã çŸåš
ãªãŒãã£ãªããã€ã¹ãšãããªããã€ã¹ã®ã¿ããµããŒããããŠããŸãã
è€æ°ã®ããã€ã¹ãå¥ã ã®å ¥åãšããŠéãããšãã§ããŸãããåããã®ã§éãããšãã§ããŸã
å ¥åãããã«ããããããã®éã®åæãæ¹åãããŸãã
å ¥ååã¯æ¬¡ã®åœ¢åŒã§ããå¿ èŠããããŸãã
= [ïŒ = ]
ã³ã©ãã¬ãŒ ã¿ã€ã ã©ã¡ãã§ãããŸããŸãã ãªãŒãã£ãª or ãããª, NAME ããã€ã¹ã®ååãŸãã¯ä»£æ¿
åå ..
ãªãã·ã§ã³
ãªãã·ã§ã³ãæå®ãããŠããªãå Žåãããã€ã¹ã®ããã©ã«ãã䜿çšãããŸãã ããã€ã¹ãããã§ãªãå Žå
èŠæ±ããããªãã·ã§ã³ããµããŒããããšãéãããšãã§ããªããªããŸãã
ãããªãµã€ãº
ãã£ããã£ãããããªã®ãããªãµã€ãºãèšå®ããŸãã
ãã¬ãŒã ã¬ãŒã
ãã£ããã£ãããããªã®ãã¬ãŒã ã¬ãŒããèšå®ããŸãã
ãµã³ãã«ã¬ãŒã
ãã£ããã£ãããªãŒãã£ãªã®ãµã³ãã«ã¬ãŒãïŒHzïŒãèšå®ããŸãã
ãµã³ãã«ãµã€ãº
ãã£ããã£ããããªãŒãã£ãªã®ãµã³ãã«ãµã€ãºïŒãããåäœïŒãèšå®ããŸãã
ãã£ã³ãã«
ãã£ããã£ãããªãŒãã£ãªã®ãã£ã³ãã«æ°ãèšå®ããŸãã
ãªã¹ãããã€ã¹
ã«èšå®ããå Žå trueãããã€ã¹ã®ãªã¹ããå°å·ããŠçµäºããŸãã
ãªã¹ããªãã·ã§ã³
ã«èšå®ããå Žå trueãéžæããããã€ã¹ã®ãªãã·ã§ã³ã®ãªã¹ããå°å·ããŠçµäºããŸãã
video_device_number
åãååã®ããã€ã¹ã®ãããªããã€ã¹çªå·ãèšå®ããŸãïŒ0ããå§ãŸããããã©ã«ãã¯0ã§ãïŒã
ãªãŒãã£ãªããã€ã¹çªå·
åãååã®ããã€ã¹ã®ãªãŒãã£ãªããã€ã¹çªå·ãèšå®ããŸãïŒ0ããå§ãŸããããã©ã«ãã¯0ã§ãïŒã
ãã¯ã»ã«åœ¢åŒ
DirectShowã§äœ¿çšãããã¯ã»ã«åœ¢åŒãéžæããŸãã ããã¯ããããªã
ã³ãŒããã¯ãrawvideoã«èšå®ãŸãã¯èšå®ãããŠããŸããã
audio_buffer_size
ãªãŒãã£ãªããã€ã¹ã®ãããã¡ãµã€ãºãããªç§åäœã§èšå®ããŸãïŒããã¯ã¬ã€ãã³ã·ã«çŽæ¥åœ±é¿ããå¯èœæ§ããããŸããã
ããã€ã¹ã«ãã£ãŠç°ãªããŸãïŒã ããã©ã«ãã§ã¯ããªãŒãã£ãªããã€ã¹ã®ããã©ã«ãã®ãããã¡ãµã€ãºã䜿çšããŸã
ïŒéåžžã500msã®åæ°ïŒã ãã®å€ãäœãèšå®ãããããšãå£åããå¯èœæ§ããããŸã
ããã©ãŒãã³ã¹ã ãåç §ããŠãã ãã
<http://msdn.microsoft.com/en-us/library/windows/desktop/dd377582ïŒv = vs.85ïŒ.aspx>
ãããªãã³å
ååãŸãã¯å¥åã§äœ¿çšãããããªãã£ããã£ãã³ãéžæããŸãã
ãªãŒãã£ãªãã³å
ååãŸãã¯å¥åã§äœ¿çšãããªãŒãã£ãªãã£ããã£ãã³ãéžæããŸãã
crossbar_video_input_pin_number
ã¯ãã¹ããŒããã€ã¹ã®ãããªå ¥åãã³çªå·ãéžæããŸãã ããã¯ã¯ãã¹ããŒã«ã«ãŒãã£ã³ã°ãããŸã
ããã€ã¹ã®ãããªãã³ãŒããŒåºåãã³ã ãã®å€ãå€æŽãããšãå°æ¥ã«åœ±é¿ãäžããå¯èœæ§ãããããšã«æ³šæããŠãã ãã
ã·ã¹ãã ã®åèµ·åãçºçãããŸã§ã®åŒã³åºãïŒæ°ããããã©ã«ããèšå®ïŒã
crossbar_audio_input_pin_number
ã¯ãã¹ããŒããã€ã¹ã®ãªãŒãã£ãªå ¥åãã³çªå·ãéžæããŸãã ããã¯ã¯ãã¹ããŒã«ã«ãŒãã£ã³ã°ãããŸã
ããã€ã¹ã®ãªãŒãã£ãªãã³ãŒããŒåºåãã³ã ãã®å€ãå€æŽãããšãå°æ¥ã«åœ±é¿ãäžããå¯èœæ§ãããããšã«æ³šæããŠãã ãã
ã·ã¹ãã ã®åèµ·åãçºçãããŸã§ã®åŒã³åºãïŒæ°ããããã©ã«ããèšå®ïŒã
show_video_device_dialog
ã«èšå®ããå Žå trueããã£ããã£ãéå§ããåã«ããšã³ããŠãŒã¶ãŒã«è¡šç€ºãã€ã¢ãã°ããããã¢ããããŸãã
ãããªãã£ã«ã¿ãŒã®ããããã£ãšæ§æãæåã§å€æŽã§ããããã«ããŸãã ããŒã
ã¯ãã¹ããŒããã€ã¹ã®å Žåããã®ãã€ã¢ãã°ã®å€ã調æŽããå¿ èŠãããå ŽåããããŸãã
PALïŒ25 fpsïŒãšNTSCïŒ29.97ïŒã®å ¥åãã¬ãŒã ã¬ãŒãããµã€ãºãã€ã³ã¿ãŒã¬ãŒã¹ã
ãããã®å€ãå€æŽãããšãããŸããŸãªã¹ãã£ã³ã¬ãŒã/ãã¬ãŒã ã¬ãŒããæå¹ã«ãªããåé¿ã§ããŸãã
äžéšã®ç·è²ã®ããŒãç¹æ» ããã¹ãã£ã³ã©ã€ã³ãªã©ãäžéšã®ããã€ã¹ã§ã¯ã
ãããã®ããããã£ãå€æŽãããšãå°æ¥ã®åŒã³åºãã«ã圱é¿ãäžããå¯èœæ§ããããŸãïŒæ°ããããã©ã«ããèšå®ããŸãïŒã
ã·ã¹ãã ã®åèµ·åãçºçããŸãã
show_audio_device_dialog
ã«èšå®ããå Žå trueããã£ããã£ãéå§ããåã«ããšã³ããŠãŒã¶ãŒã«è¡šç€ºãã€ã¢ãã°ããããã¢ããããŸãã
ãªãŒãã£ãªãã£ã«ã¿ãŒã®ããããã£ãšæ§æãæåã§å€æŽã§ããããã«ããŸãã
show_video_crossbar_connection_dialog ã衚瀺
ã«èšå®ããå Žå trueããã£ããã£ãéå§ããåã«ããšã³ããŠãŒã¶ãŒã«è¡šç€ºãã€ã¢ãã°ããããã¢ããããŸãã
ãããªããã€ã¹ãéããšãã«ãã¯ãã¹ããŒãã³ã®ã«ãŒãã£ã³ã°ãæåã§å€æŽã§ããããã«ããŸãã
show_audio_crossbar_connection_dialog ã衚瀺
ã«èšå®ããå Žå trueããã£ããã£ãéå§ããåã«ããšã³ããŠãŒã¶ãŒã«è¡šç€ºãã€ã¢ãã°ããããã¢ããããŸãã
ãªãŒãã£ãªããã€ã¹ãéããšãã«ãã¯ãã¹ããŒã®ãã³ã«ãŒãã£ã³ã°ãæåã§å€æŽã§ããããã«ããŸãã
show_analog_tv_tuner_dialog
ã«èšå®ããå Žå trueããã£ããã£ãéå§ããåã«ããšã³ããŠãŒã¶ãŒã«è¡šç€ºãã€ã¢ãã°ããããã¢ããããŸãã
TVãã£ã³ãã«ãšåšæ³¢æ°ãæåã§å€æŽã§ããããã«ããŸãã
show_analog_tv_tuner_audio_dialog
ã«èšå®ããå Žå trueããã£ããã£ãéå§ããåã«ããšã³ããŠãŒã¶ãŒã«è¡šç€ºãã€ã¢ãã°ããããã¢ããããŸãã
TVãªãŒãã£ãªãæåã§å€æŽã§ããããã«ããŸãïŒã¢ãã©ã«ãšã¹ãã¬ãªãèšèªAãBãCãªã©ïŒã
audio_device_load
ååã§æ€çŽ¢ããã®ã§ã¯ãªãããã¡ã€ã«ãããªãŒãã£ãªãã£ããã£ãã£ã«ã¿ãŒããã€ã¹ãããŒãããŸãã ããã¯ãããããŸãã
ãã£ã«ã¿ããã®ã·ãªã¢ã«åããµããŒãããŠããå Žåã¯ãè¿œå ã®ãã©ã¡ãŒã¿ãããŒãããŸã
ã«ããããã£ã ããã䜿çšããã«ã¯ããªãŒãã£ãªãã£ããã£ãœãŒã¹ãæå®ããå¿ èŠããããŸããã
åœç©ã§ãäœã§ãã
ãªãŒãã£ãªããã€ã¹ä¿å
çŸåšäœ¿çšãããŠãããªãŒãã£ãªãã£ããã£ãã£ã«ã¿ãŒããã€ã¹ãšãã®ãã©ã¡ãŒã¿ãŒãä¿åããŸãïŒãã£ã«ã¿ãŒã®å ŽåïŒ
ããããµããŒãããŸãïŒãã¡ã€ã«ã«ã åãååã®ãã¡ã€ã«ãååšããå Žåããã®ãã¡ã€ã«ã¯äžæžããããŸãã
video_device_load
ååã§æ€çŽ¢ããã®ã§ã¯ãªãããã¡ã€ã«ãããããªãã£ããã£ãã£ã«ã¿ãŒããã€ã¹ãããŒãããŸãã ããã¯ãããããŸãã
ãã£ã«ã¿ããã®ã·ãªã¢ã«åããµããŒãããŠããå Žåã¯ãè¿œå ã®ãã©ã¡ãŒã¿ãããŒãããŸã
ã«ããããã£ã ããã䜿çšããã«ã¯ããããªãã£ããã£ãœãŒã¹ãæå®ããå¿ èŠããããŸããã
åœç©ã§ãäœã§ãã
video_device_save
çŸåšäœ¿çšãããŠãããããªãã£ããã£ãã£ã«ã¿ãŒããã€ã¹ãšãã®ãã©ã¡ãŒã¿ãŒãä¿åããŸãïŒãã£ã«ã¿ãŒã®å ŽåïŒ
ããããµããŒãããŸãïŒãã¡ã€ã«ã«ã åãååã®ãã¡ã€ã«ãååšããå Žåããã®ãã¡ã€ã«ã¯äžæžããããŸãã
äŸ
ã»DirectShowã§ãµããŒããããŠããããã€ã¹ã®ãªã¹ããå°å·ããŠçµäºããŸãã
$ ffmpeg -list_devices true -fdshow-iãããŒ
ã»ãããªããã€ã¹ãéã ã«ã¡ã©:
$ ffmpeg -f dshow -i video = "Camera"
ã»ååã§XNUMXçªç®ã®ãããªããã€ã¹ãéããŸã ã«ã¡ã©:
$ ffmpeg -f dshow -video_device_number 1 -i video = "Camera"
ã»ãããªããã€ã¹ãéã ã«ã¡ã© ããã³ãªãŒãã£ãªããã€ã¹ ãã€ã¯:
$ ffmpeg -f dshow -i video = "Camera"ïŒaudio = "Microphone"
ã»éžæããããã€ã¹ã§ãµããŒããããŠãããªãã·ã§ã³ã®ãªã¹ããå°å·ããŠçµäºããŸãã
$ ffmpeg -list_options true -f dshow -i video = "Camera"
ã»ååãŸãã¯ä»£æ¿åã§ãã£ããã£ãããã³åãæå®ãã代æ¿ããã€ã¹ãæå®ããŸã
ååïŒ
$ ffmpeg -f dshow -audio_pin_name "Audio Out" -video_pin_name 2 -i video=video="@device_pnp_\\?\pci#ven_1a0a&dev_6200&subsys_62021461&rev_01#4&e2c7dd6&0&00e1#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{ca465100-deb0-4d59-818f-8c477184adf6}":audio="Microphone"
ã»ã¯ãã¹ããŒãã³ãæå®ããŠã¯ãã¹ããŒããã€ã¹ãæ§æãããŠãŒã¶ãŒããããªã調æŽã§ããããã«ããŸã
èµ·åæã«ããããã£ããã£ããã£ããŸãã
$ ffmpeg -f dshow -show_video_device_dialog true -crossbar_video_input_pin_number 0
-crossbar_audio_input_pin_number 3 -i video = "AVerMedia BDA Analog Capture"ïŒaudio = "AVerMedia BDA Analog Capture"
dv1394
LinuxDV1394å ¥åããã€ã¹ã
ãªãã·ã§ã³
ãã¬ãŒã ã¬ãŒã
ãã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã©ã«ãã¯25ã§ãã
æšæº
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ãã«
NTSC
ããã©ã«ãå€ã¯ãntscãã§ãã
FBdev
Linuxãã¬ãŒã ãããã¡å ¥åããã€ã¹ã
Linuxãã¬ãŒã ãããã¡ã¯ãã°ã©ãã£ãã¯ã衚瀺ããããã®ã°ã©ãã£ãã¯ããŒããŠã§ã¢ã«äŸåããªãæœè±¡åã¬ã€ã€ãŒã§ãã
ã³ã³ãã¥ãŒã¿ãŒã®ã¢ãã¿ãŒãéåžžã¯ã³ã³ãœãŒã«ã ãã¡ã€ã«ããã€ã¹ãä»ããŠã¢ã¯ã»ã¹ããŸã
ããŒããéåžž / dev / fb0.
詳现ã«ã€ããŠã¯ã次ã®ãã¡ã€ã«ã«å«ãŸããŠããDocumentation / fb/framebuffer.txtãåç §ããŠãã ããã
LinuxãœãŒã¹ããªãŒã
ãã¡ããã芧ãã ããhttp://linux-fbdev.sourceforge.net/>ãããã³ FBã»ãããšããŸãã
ãã¬ãŒã ãããã¡ããã€ã¹ããèšé²ããã«ã¯ / dev / fb0 ã ffmpeg:
ffmpeg -f fbdev -framerate 10 -i /dev/fb0 out.avi
次ã®ã³ãã³ãã䜿çšããŠãXNUMXã€ã®ã¹ã¯ãªãŒã³ã·ã§ããç»åãæ®ãããšãã§ããŸãã
ffmpeg -f fbdev -framerate 1 -i / dev / fb0 -framesïŒv 1screenshot.jpeg
ãªãã·ã§ã³
ãã¬ãŒã ã¬ãŒã
ãã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã©ã«ãã¯25ã§ãã
ã°ãã£ã°ã©ã
Win32GDIããŒã¹ã®ç»é¢ãã£ããã£ããã€ã¹ã
ãã®ããã€ã¹ã䜿çšãããšãWindowsã®ãã£ã¹ãã¬ã€ã®é åããã£ããã£ã§ããŸãã
å ¥åãã¡ã€ã«åã«ã¯XNUMXã€ã®ãªãã·ã§ã³ããããŸãã
ãã¹ã¯ããã
or
title =
æåã®ãªãã·ã§ã³ã¯ããã¹ã¯ãããå šäœããŸãã¯ãã¹ã¯ãããã®åºå®é åããã£ããã£ããŸãã The
XNUMXçªç®ã®ãªãã·ã§ã³ã¯ã代ããã«ããã®ãŠã£ã³ããŠã«é¢ä¿ãªããåäžã®ãŠã£ã³ããŠã®ã³ã³ãã³ãããã£ããã£ããŸã
ç»é¢äžã®äœçœ®ã
ããšãã°ãã䜿çšããŠãã¹ã¯ãããå šäœãååŸããã«ã¯ ffmpeg:
ffmpeg -f gdigrab -framerate 6 -i ãã¹ã¯ããã out.mpg
äœçœ®ã640ãã§480x10,20ã®é åãååŸããŸãã
ffmpeg -f gdigrab -framerate 6 -offset_x 10 -offset_y 20 -video_size vga -i ãã¹ã¯ãããåºå.mpg
ãé»åããšããååã®ãŠã£ã³ããŠã®å 容ãååŸããŸã
ffmpeg -f gdigrab -framerate 6 -i title = Calculator out.mpg
ãªãã·ã§ã³
ãããŒããŠã¹
ããŠã¹ãã€ã³ã¿ãæç»ãããã©ãããæå®ããŸãã ãã€ã³ã¿ãæç»ããªãå Žåã¯ãå€0ã䜿çšããŸãã
ããã©ã«ãå€ã¯1ã§ãã
ãã¬ãŒã ã¬ãŒã
ã°ã©ããã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã©ã«ãå€ã¯ãntscãã§ãã®ãã¬ãŒã ã¬ãŒãã«å¯Ÿå¿ããŸãã
ã30000/1001ãã
show_region
ååŸããé åãç»é¢ã«è¡šç€ºããŸãã
If show_region ã1ã§æå®ãããŠããå Žåãã°ã©ãé åã¯ã«ç€ºãããŸãã
ç»é¢ã ãã®ãªãã·ã§ã³ã䜿çšãããšãäžéšã ãã§äœãååŸãããŠããããç°¡åã«ç¥ãããšãã§ããŸã
ç»é¢ã®ãã€ãã¿ãŸãã
泚æããŠãã ãã show_region åäžã®ãŠã£ã³ããŠã®ã³ã³ãã³ããååŸããããšãšäºææ§ããããŸããã
äŸïŒ
ffmpeg -f gdigrab -show_region 1 -framerate 6 -video_size cif -offset_x 10 -offset_y 20 -i ãã¹ã¯ããã out.mpg
ãããªãµã€ãº
ãããªã®ãã¬ãŒã ãµã€ãºãèšå®ããŸãã ããã©ã«ãã§ã¯ã次ã®å Žåã«å šç»é¢ããã£ããã£ããŸã ãã¹ã¯ããã is
éžæããå ŽåããŸãã¯ãŠã£ã³ããŠå šäœã®ãµã€ãº title = window_title éžæãããŠããŸãã
ãªãã»ãã_x
ã§ãªãŒãžã§ã³ããã£ããã£ããå Žå ãããªãµã€ãºãã®å·Šç«¯ããã®è·é¢ãèšå®ããŸã
ç»é¢ãŸãã¯ãã¹ã¯ãããã
ãªãã»ããã®èšç®ã¯ããã©ã€ããªã¢ãã¿ãŒã®å·Šäžé ããã®ãã®ã§ããããšã«æ³šæããŠãã ããã
ãŠã£ã³ããŠãºã ãã©ã€ããªã¢ãã¿ãŒã®å·ŠåŽã«ã¢ãã¿ãŒãé 眮ããŠããå Žåã¯ã
ãã¬ã䜿çšããå¿ èŠããããŸã ãªãã»ãã_x é åããã®ã¢ãã¿ãŒã«ç§»åããå€ã
ãªãã»ãã_y
ã§ãªãŒãžã§ã³ããã£ããã£ããå Žå ãããªãµã€ãºãã®äžç«¯ããã®è·é¢ãèšå®ããŸã
ç»é¢ãŸãã¯ãã¹ã¯ãããã
ãªãã»ããã®èšç®ã¯ããã©ã€ããªã¢ãã¿ãŒã®å·Šäžé ããã®ãã®ã§ããããšã«æ³šæããŠãã ããã
ãŠã£ã³ããŠãºã ãã©ã€ããªã¢ãã¿ãŒã®äžã«ã¢ãã¿ãŒãé 眮ããŠããå Žåã¯ã次ã®ããšãè¡ãå¿ èŠããããŸãã
ãã¬ã䜿çšãã ãªãã»ãã_y é åããã®ã¢ãã¿ãŒã«ç§»åããå€ã
ã¯ã61883
libiec61883ã䜿çšããFireWireDV/HDVå ¥åããã€ã¹ã
ãã®å ¥åããã€ã¹ãæå¹ã«ããã«ã¯ãlibiec61883ãlibraw1394ãããã³libavc1394ãã«ã€ã³ã¹ããŒã«ãããŠããå¿ èŠããããŸãã
ããªãã®ã·ã¹ãã ã æ§æãªãã·ã§ã³ã--enable-libiec61883ãã䜿çšããŠãããã€ã¹ã§ã³ã³ãã€ã«ããŸã
æå¹ã«ãªããŸããã
iec61883ãã£ããã£ããã€ã¹ã¯ãIEEE1394çµç±ã§æ¥ç¶ããããããªããã€ã¹ããã®ãã£ããã£ããµããŒãããŸã
ïŒFireWireïŒãlibiec61883ãšæ°ããLinux FireWireã¹ã¿ãã¯ïŒjujuïŒã䜿çšã ãããããã©ã«ãã§ã
Linuxã«ãŒãã«2.6.37以éã®DV/HDVå ¥åæ¹åŒïŒå€ãFireWireã¹ã¿ãã¯ã¯
é€å»ãããã
å ¥åãã¡ã€ã«ãšããŠäœ¿çšããFireWireããŒããæå®ãããããèªåãã§æåã®ããŒããéžæããŸã
æ¥ç¶ãããŠããŸãã
ãªãã·ã§ã³
dvtype
DV/HDVã®èªåæ€åºããªãŒããŒã©ã€ãããŸãã ããã¯ãèªåæ€åºãè¡ãããªãå Žåã«ã®ã¿äœ¿çšããå¿ èŠããããŸã
åäœããå ŽåããŸãã¯å¥ã®ããã€ã¹ã¿ã€ãã®äœ¿çšãçŠæ¢ããå¿ èŠãããå Žåã DVã®æ±ã
HDVãšããŠã®ããã€ã¹ïŒãŸãã¯ãã®éïŒã¯æ©èœãããæªå®çŸ©ã®åäœã«ãªããŸãã The
å€ ãªãŒã, dv & HDV ãµããŒããããŠããŸãã
dvãããã¡
åä¿¡ããŒã¿ã®ãããã¡ã®æ倧ãµã€ãºããã¬ãŒã åäœã§èšå®ããŸãã DVã®å Žåãããã¯æ£ç¢ºã§ã
䟡å€ã HDVã®å ŽåãHDVã®ãã¬ãŒã ãµã€ãºã¯åºå®ãããŠããªããããæ£ç¢ºãªãã¬ãŒã ã§ã¯ãããŸããã
dvguid
GUIDãæå®ããŠããã£ããã£ããã€ã¹ãéžæããŸãã ãã£ããã£ã¯å®è¡ãããã ãã§ã
æå®ãããããã€ã¹ããéä¿¡ãããæå®ãããGUIDãæã€ããã€ã¹ãèŠã€ãããªãå Žåã¯å€±æããŸãã ããã¯
è€æ°ã®ããã€ã¹ãåæã«æ¥ç¶ãããŠããå Žåã«å ¥åãéžæãããšäŸ¿å©ã§ãã èŠãŠ
/ sys / bus / firewire / devicesã§ãGUIDã確èªããŠãã ããã
äŸ
ã»FireWire DV/HDVããã€ã¹ã®å ¥åãååŸããŠè¡šç€ºããŸãã
ffplay -f iec61883 -i èªå
ã»100000ã®ãã±ãããããã¡ã䜿çšããŠãFireWire DV/HDVããã€ã¹ã®å ¥åãååŸããŠèšé²ããŸã
ãœãŒã¹ãHDVã®å Žåã¯ãã±ããã
ffmpeg -f iec61883 -i èªå -hdvbuffer 100000 out.mpg
ãžã£ãã¯
JACKå ¥åããã€ã¹ã
æ§æäžã«ãã®å ¥åããã€ã¹ãæå¹ã«ããã«ã¯ãlibjackãã«ã€ã³ã¹ããŒã«ããå¿ èŠããããŸã
ã·ã¹ãã ã
JACKå ¥åããã€ã¹ã¯ããªãŒãã£ãªãã£ãã«ããšã«XNUMXã€ãã€ãXNUMXã€ä»¥äžã®JACKæžã蟌ã¿å¯èœã¯ã©ã€ã¢ã³ããäœæããŸãã
ååä»ã ã¯ã©ã€ã¢ã³ãåïŒå ¥å_Nããã§ã ã¯ã©ã€ã¢ã³ãå ã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠæäŸãããååã§ãã
& N ãã£ãã«ãèå¥ããçªå·ã§ãã æžã蟌ã¿å¯èœãªåã¯ã©ã€ã¢ã³ãã¯ã
ååŸããããŒã¿ãFFmpegå ¥åããã€ã¹ã«éä¿¡ããŸãã
XNUMXã€ä»¥äžã®JACKèªã¿åãå¯èœã¯ã©ã€ã¢ã³ããäœæããããããããXNUMXã€ã«æ¥ç¶ããå¿ èŠããããŸã
以äžã®JACKæžã蟌ã¿å¯èœã¯ã©ã€ã¢ã³ãã
JACKã¯ã©ã€ã¢ã³ããæ¥ç¶ãŸãã¯åæããã«ã¯ã ãžã£ãã¯æ¥ç¶ & ãžã£ãã¯_åæ
ããã°ã©ã ããŸãã¯ã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠãããè¡ã qjackctl.
JACKã¯ã©ã€ã¢ã³ããšãã®ããããã£ãäžèŠ§è¡šç€ºããã«ã¯ãã³ãã³ããåŒã³åºãããšãã§ããŸã ãžã£ãã¯_lsp.
JACKèªã¿åãå¯èœã¯ã©ã€ã¢ã³ãããã£ããã£ããæ¹æ³ã瀺ãäŸã«åŸããŸãã ffmpeg.
ïŒãffmpegããšããååã®JACKæžã蟌ã¿å¯èœã¯ã©ã€ã¢ã³ããäœæããŸãã
$ ffmpeg -f ãžã£ã㯠-i ffmpeg -y out.wav
ïŒãµã³ãã«ã®jack_metroèªã¿åãå¯èœã¯ã©ã€ã¢ã³ããèµ·åããŸãã
$ ãžã£ãã¯ã¡ãã -b 120 -d 0.2 -f 4000
ïŒçŸåšã®JACKã¯ã©ã€ã¢ã³ããäžèŠ§è¡šç€ºããŸãã
$ jack_lsp -c
systemïŒcapture_1
systemïŒcapture_2
systemïŒplayback_1
systemïŒplayback_2
ffmpegïŒinput_1
ã¡ããïŒ120_bpm
ïŒã¡ãããffmpegæžã蟌ã¿å¯èœã¯ã©ã€ã¢ã³ãã«æ¥ç¶ããŸãã
$ jack_connect MetroïŒ120_bpm ffmpegïŒinput_1
詳现ã«ã€ããŠã¯ã以äžããèªã¿ãã ãããhttp://jackaudio.org/>
ãªãã·ã§ã³
ãã£ã³ãã«
ãã£ã³ãã«æ°ãèšå®ããŸãã ããã©ã«ãã¯2ã§ãã
ã©ããã£
Libavfilterå ¥åä»®æ³ããã€ã¹ã
ãã®å ¥åããã€ã¹ã¯ãlibavfilterãã£ã«ã¿ãŒã°ã©ãã®éããŠããåºåãããããããŒã¿ãèªã¿åããŸãã
ãã£ã«ã¿ã°ã©ãã®ãªãŒãã³åºåããšã«ãå ¥åããã€ã¹ã¯å¯Ÿå¿ããã¹ããªãŒã ãäœæããŸã
ããã¯ãçæãããåºåã«ããããããŸãã çŸåšããããªããŒã¿ã®ã¿ããµããŒããããŠããŸãã The
filtergraphã¯ãªãã·ã§ã³ã§æå®ãããŸã ã°ã©ã.
ãªãã·ã§ã³
ã°ã©ã
å ¥åãšããŠäœ¿çšãããã£ã«ã¿ãŒã°ã©ããæå®ããŸãã åãããªãªãŒãã³åºåã«ã¯ã
ãoutããšãã圢åŒã®äžæã®æååN"ã ã©ã N ã¯0ããå§ãŸãæ°åã§ã
ããã€ã¹ã«ãã£ãŠçæãããããããããå ¥åã¹ããªãŒã ã æåã®ã©ãã«ã®ãªãåºåã¯
ãout0ãã©ãã«ã«èªåçã«å²ãåœãŠãããŸãããä»ã®ãã¹ãŠã¯æå®ããå¿ èŠããããŸã
æ瀺çã«
æ¥å°ŸèŸã+subccããåºåã©ãã«ã«è¿œå ããŠã次ã®ãããªè¿œå ã®ã¹ããªãŒã ãäœæã§ããŸãã
ãã®åºåã«æ·»ä»ãããã¯ããŒãºããã£ãã·ã§ã³ãã±ããïŒå®éšçãEIA-608ã®ã¿/
ä»ã®ãšããCEA-708ïŒã subccã¹ããªãŒã ã¯ããã¹ãŠã®éåžžã®ã¹ããªãŒã ã®åŸã«äœæãããŸãã
察å¿ããã¹ããªãŒã ã®é åºã ããšãã°ããout19 + subccããããå Žåã
ãout7+subccããããout42ããŸã§ã®ã¹ããªãŒã ïŒ43ã¯ãã¹ããªãŒã ïŒ7ãšã¹ããªãŒã ïŒ44ã®ãµãCCã§ãã
ã¹ããªãŒã ïŒ19ã®subccã§ãã
æå®ããªãå Žåãããã©ã«ãã§å ¥åããã€ã¹ã«æå®ããããã¡ã€ã«åã«ãªããŸãã
ã°ã©ããã¡ã€ã«
èªã¿åã£ãŠä»ã®ãã£ã«ã¿ãŒã«éä¿¡ãããã£ã«ã¿ãŒã°ã©ãã®ãã¡ã€ã«åãèšå®ããŸãã æ§æ
ãã£ã«ã¿ã°ã©ãã®ã¯ããªãã·ã§ã³ã§æå®ããããã®ãšåãã§ãã ã°ã©ã.
ãã³ãã°ã©ã
ã°ã©ããstderrã«ãã³ãããŸãã
äŸ
ã»ã«ã©ãŒãããªã¹ããªãŒã ãäœæãããããåçããŸã åçãã:
ffplay -f lavfi -graph "color = c =pink[out0]"ãããŒ
ã»åã®äŸãšåãã§ãããã°ã©ãã®èª¬æãæå®ããããã«ãã¡ã€ã«åã䜿çšãã
ãout0ãã©ãã«ãçç¥ããŸãã
ffplay -f lavfi color = c = pink
ã»XNUMXã€ã®ç°ãªããããªãã¹ããã£ã«ã¿ãŒãœãŒã¹ãäœæããããããåçããŸãã
ffplay -f lavfi -graph "testsrc [out0]; testsrcãhflip [out1]; testsrcãnegate [out2]" test3
ã»amovieãœãŒã¹ã䜿çšããŠãã¡ã€ã«ãããªãŒãã£ãªã¹ããªãŒã ãèªã¿åãã次ã®ã³ãã³ãã§åçããŸãã åçãã:
ffplay -f lavfi "amovie = test.wav"
ã»ãªãŒãã£ãªã¹ããªãŒã ãšãããªã¹ããªãŒã ãèªã¿åããã§åçããŸã åçãã:
ffplay -f lavfi "movie = test.avi [out0]; amovie = test.wav [out1]"
ã»ãã³ãŒãããããã¬ãŒã ãç»åã«ãã³ãããã¯ããŒãºããã£ãã·ã§ã³ããã¡ã€ã«ã«ãã³ãããŸãïŒå®éšçïŒïŒ
ffmpeg -f lavfi -i "movie = test.ts [out0 + subcc]" -map v frameïŒ 08d.png -map s -c copy -f rawvideo subcc.bin
libcdio
libcdioãããŒã¹ã«ãããªãŒãã£ãªCDå ¥åããã€ã¹ã
æ§æäžã«ãã®å ¥åããã€ã¹ãæå¹ã«ããã«ã¯ãlibcdioãã«ã€ã³ã¹ããŒã«ããå¿ èŠããããŸã
ã·ã¹ãã ã æ§æãªãã·ã§ã³ã--enable-libcdioããå¿ èŠã§ãã
ãã®ããã€ã¹ã䜿çšãããšããªãŒãã£ãªCDãåçããã³ååŸã§ããŸãã
ããšãã°ã ffmpeg ãªãŒãã£ãªCDå šäœ / dev / sr0ã次ã®ã³ãã³ããå®è¡ã§ããŸãã
ffmpeg -f libcdio -i / dev / sr0 cd.wav
ãªãã·ã§ã³
ã¹ããŒã
ãã©ã€ãã®èªã¿åãé床ãèšå®ããŸãã ããã©ã«ãå€ã¯0ã§ãã
é床ã¯æå®ãããCD-ROMé床åäœã§ãã é床ã¯libcdioãä»ããŠèšå®ãããŸã
ãcdio_cddap_speed_setãé¢æ°ã å€ãã®CD-ROMãã©ã€ãã§ã倧ããããå€ãæå®ãã
æéã®é床ã䜿çšããããšã«ãªããŸãã
ãã©ãã€ã¢ã¢ãŒã
ãã©ãã€ã¢å埩ã¢ãŒããã©ã°ãèšå®ããŸãã 次ã®ããããã®å€ãåãå ¥ããŸãã
disable
確èªãã
ãªãŒããŒã©ãã
決ããŠã¹ãããããªã
ãã«
ããã©ã«ãå€ã¯ disable.
å©çšå¯èœãªãªã«ããªã¢ãŒãã®è©³çŽ°ã«ã€ããŠã¯ãparanoiaãããžã§ã¯ããåç §ããŠãã ãã
ã®ããã¥ã¡ã³ãã§è©³ãã説æãããŠããŸãïŒã
libdc1394
libdc1394ããã³libraw1394ã«åºã¥ãIIDC1394å ¥åããã€ã¹ã
æ§æãªãã·ã§ã³ã--enable-libdc1394ããå¿ èŠã§ãã
ãªãŒãã³
OpenALå ¥åããã€ã¹ã¯ãOpenAL1.1ãæ©èœããŠãããã¹ãŠã®ã·ã¹ãã ã§ãªãŒãã£ãªãã£ããã£ãæäŸããŸã
ã€ã³ããªã¡ã³ããŒã·ã§ã³ã
æ§æäžã«ãã®å ¥åããã€ã¹ãæå¹ã«ããã«ã¯ãOpenALããããŒãšã©ã€ãã©ãªãå¿ èŠã§ã
ã·ã¹ãã ã«ã€ã³ã¹ããŒã«ãããŠãããã-enable-openalãã䜿çšããŠFFmpegãæ§æããå¿ èŠããããŸãã
OpenALããããŒãšã©ã€ãã©ãªã¯ãOpenALå®è£ ã®äžéšãšããŠæäŸããå¿ èŠããããŸãã
è¿œå ã®ããŠã³ããŒãïŒSDKïŒãšããŠã ã€ã³ã¹ããŒã«ã«ãã£ãŠã¯ãæå®ããå¿ èŠãããå ŽåããããŸã
ãã«ããèš±å¯ããããã®ã--extra-cflagsãããã³ã--extra-ldflagsããä»ããè¿œå ã®ãã©ã°
OpenALããããŒãšã©ã€ãã©ãªãèŠã€ããããã®ã·ã¹ãã ã
OpenALå®è£ ã®äžå®å šãªãªã¹ãã¯æ¬¡ã®ãšããã§ãã
ã¯ãªãšã€ãã£ã
ãµããŒããããŠããããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ãæäŸããå ¬åŒã®Windowså®è£
ããã€ã¹ãšãœãããŠã§ã¢ã®ãã©ãŒã«ããã¯ã èŠãhttp://openal.org/>.
OpenAL ãœãã
ããŒã¿ãã«ãªãªãŒãã³ãœãŒã¹ïŒLGPLïŒãœãããŠã§ã¢ã®å®è£ ã ã»ãšãã©ã®ããã¯ãšã³ããå«ãŸããŠããŸã
WindowsãLinuxãSolarisãããã³BSDãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ã®äžè¬çãªãµãŠã³ãAPIã èŠã
<http://kcat.strangesoft.net/openal.html>.
Apple
OpenALã¯ãå ¬åŒã®MacOSXãªãŒãã£ãªã€ã³ã¿ãŒãã§ã€ã¹ã§ããCoreAudioã®äžéšã§ãã èŠã
<http://developer.apple.com/technologies/mac/audio-and-video.html>
ãã®ããã€ã¹ã䜿çšãããšãOpenALãä»ããŠåŠçããããªãŒãã£ãªå ¥åããã€ã¹ãããã£ããã£ã§ããŸãã
æäŸããããã¡ã€ã«åã§ãã£ããã£ããããã€ã¹ã®ååãæå®ããå¿ èŠããããŸãã ã®å Žå
空ã®æååãæå®ãããšãããã€ã¹ã¯ããã©ã«ãã®ããã€ã¹ãèªåçã«éžæããŸãã ããªãã¯ã§ãã
ãªãã·ã§ã³ã䜿çšããŠããµããŒããããŠããããã€ã¹ã®ãªã¹ããååŸããŸã ãªã¹ãããã€ã¹.
ãªãã·ã§ã³
ãã£ã³ãã«
ãã£ããã£ãããªãŒãã£ãªã®ãã£ã³ãã«æ°ãèšå®ããŸãã å€ã®ã¿ 1 ïŒã¢ãã©ã«ïŒãš 2
ïŒã¹ãã¬ãªïŒã¯çŸåšãµããŒããããŠããŸãã ããã©ã«ã㯠2.
ãµã³ãã«ãµã€ãº
ãã£ããã£ããããªãŒãã£ãªã®ãµã³ãã«ãµã€ãºïŒãããåäœïŒãèšå®ããŸãã å€ã®ã¿ 8 & 16 ã
çŸåšãµããŒããããŠããŸãã ããã©ã«ã㯠16.
ãµã³ãã«ã¬ãŒã
ãã£ããã£ãããªãŒãã£ãªã®ãµã³ãã«ã¬ãŒãïŒHzïŒãèšå®ããŸãã ããã©ã«ã㯠44.1k.
ãªã¹ãããã€ã¹
ã«èšå®ããå Žå trueãããã€ã¹ã®ãªã¹ããå°å·ããŠçµäºããŸãã ããã©ã«ã㯠false.
äŸ
OpenALã§ãµããŒããããŠããããã€ã¹ã®ãªã¹ããå°å·ããŠçµäºããŸãã
$ ffmpeg -list_devices true -fopenal-iãããŒout.ogg
OpenALããã€ã¹ããã®ãã£ãã㣠DR-BT101 ã PulseAudio:
$ ffmpeg -f openal -i'DR-BT101 via PulseAudio' out.ogg
ããã©ã«ãã®ããã€ã¹ãããã£ããã£ããŸãïŒãã¡ã€ã«åãšããŠç©ºã®æåå''ã«æ³šæããŠãã ããïŒïŒ
$ ffmpeg -f openal -i'' out.ogg
XNUMXã€ã®ããã€ã¹ããåæã«ãã£ããã£ããåãå ã®XNUMXã€ã®ç°ãªããã¡ã€ã«ã«æžã蟌ã¿ãŸã
ffmpeg ã³ãã³ãïŒ
$ ffmpeg -f openal -i'DR-BT101 via PulseAudio' out1.ogg -f openal -i'ALSA Default' out2.ogg
泚ïŒãã¹ãŠã®OpenALå®è£ ãè€æ°ã®åæãã£ããã£ããµããŒãããŠããããã§ã¯ãããŸãã-è©ŠããŠã¿ãŠãã ãã
äžèšãæ©èœããªãå Žåã¯ãææ°ã®OpenALSoftã
ã»ã³ã¿ãŒ
SoundSystemå ¥åããã€ã¹ãéããŸãã
å ¥åããã€ã¹ã«æäŸãããã¡ã€ã«åã¯ãOSSå ¥åãè¡šãããã€ã¹ããŒãã§ãã
ããã€ã¹ã§ãããé垞㯠/ dev / dsp.
ããšãã°ãããååŸããã«ã¯ / dev / dsp ffmpeg 次ã®ã³ãã³ãã䜿çšããŸãã
ffmpeg -f oss -i /dev/dsp /tmp/oss.wav
OSSã®è©³çŽ°ã«ã€ããŠã¯ã以äžãåç §ããŠãã ãããhttp://manuals.opensound.com/usersguide/dsp.html>
ãªãã·ã§ã³
ãµã³ãã«ã¬ãŒã
ãµã³ãã«ã¬ãŒããHzã§èšå®ããŸãã ããã©ã«ãã¯48000ã§ãã
ãã£ã³ãã«
ãã£ã³ãã«æ°ãèšå®ããŸãã ããã©ã«ãã¯2ã§ãã
ãã«ã¹
PulseAudioå ¥åããã€ã¹ã
ãã®åºåããã€ã¹ãæå¹ã«ããã«ã¯ãã-enable-libpulseãã䜿çšããŠFFmpegãèšå®ããå¿ èŠããããŸãã
å ¥åããã€ã¹ã«æäŸãããã¡ã€ã«åã¯ããœãŒã¹ããã€ã¹ãŸãã¯æååãdefaultãã§ãã
PulseAudioãœãŒã¹ããã€ã¹ãšãã®ããããã£ãäžèŠ§è¡šç€ºããã«ã¯ãã³ãã³ããåŒã³åºãããšãã§ããŸã
ãã¯ãã« ãªã¹ã ãœãŒã¹.
PulseAudioã®è©³çŽ°ã«ã€ããŠã¯ãhttp://www.pulseaudio.org>.
ãªãã·ã§ã³
IPã¢ãã¬ã¹ã§æå®ãããç¹å®ã®PulseAudioãµãŒããŒã«æ¥ç¶ããŸãã ããã©ã«ããµãŒããŒ
æäŸãããŠããªãå Žåã«äœ¿çšãããŸãã
å
ã¢ã¯ãã£ããªã¯ã©ã€ã¢ã³ãã衚瀺ãããšãã«PulseAudioã䜿çšããã¢ããªã±ãŒã·ã§ã³åãæå®ããŸã
ããã©ã«ãã¯ãLIBAVFORMAT_IDENTãæååã§ãã
ã¹ããªãŒã å
ã¢ã¯ãã£ããªã¹ããªãŒã ã衚瀺ãããšãã«PulseAudioã䜿çšããã¹ããªãŒã åãæå®ããŸããããã©ã«ãã§ã¯
ãèšé²ãã§ãã
ãµã³ãã«ã¬ãŒã
ãµã³ãã«ã¬ãŒããHzã§æå®ããŸããããã©ã«ãã§ã¯ã48kHzã䜿çšãããŸãã
ãã£ã³ãã«
䜿çšãããã£ã³ãã«ãæå®ããŸããããã©ã«ãã§ã¯2ïŒã¹ãã¬ãªïŒãèšå®ãããŠããŸãã
ãã¬ãŒã ãµã€ãº
ãã¬ãŒã ãããã®ãã€ãæ°ãæå®ããŸããããã©ã«ãã§ã¯1024ã«èšå®ãããŠããŸãã
Fragment_size
PulseAudioã§æå°ã®ãããã¡ãªã³ã°ãã©ã°ã¡ã³ããæå®ããŸããããã¯ãªãŒãã£ãªã«åœ±é¿ããŸã
ã¬ã€ãã³ã·ãŒã ããã©ã«ãã§ã¯èšå®ãããŠããŸããã
å£æèš
çŸåšã®æå»ã䜿çšããŠåæPTSãèšå®ããŸãã ããã©ã«ãã¯1ã§ãã
äŸ
ããã©ã«ãã®ããã€ã¹ããã®ã¹ããªãŒã ãèšé²ããŸãã
ffmpeg -f pulse -i ããã©ã«ã /tmp/pulse.wav
qtkit
QTKitå ¥åããã€ã¹ã
å ¥åãšããŠæž¡ããããã¡ã€ã«åã¯ãããã€ã¹åãŸãã¯ã€ã³ããã¯ã¹ã®ãããããå«ãããã«è§£æãããŸãã ã¶
ããã€ã¹ã€ã³ããã¯ã¹ã¯ã-video_device_indexã䜿çšããŠæå®ããããšãã§ããŸãã ç¹å®ã®ããã€ã¹ã€ã³ããã¯ã¹ã¯
ä»»æã®ããã€ã¹åãäžæžãããŸãã ç®çã®ããã€ã¹ãæ°åã®ã¿ã§æ§æãããŠããå Žåã¯ã
-ãããèå¥ããããã®video_device_indexã 空ã®æååã®å Žåãããã©ã«ãã®ããã€ã¹ãéžæãããŸã
ãŸãã¯ãããã€ã¹åãdefaultããæå®ãããŸãã å©çšå¯èœãªããã€ã¹ã¯ãã䜿çšããŠåæã§ããŸã
-list_devicesã
ffmpeg -f qtkit -i "0" out.mpg
ffmpeg -f qtkit -video_device_index 0 -i "" out.mpg
ffmpeg -f qtkit -i "default" out.mpg
ffmpeg -f qtkit -list_devices true -i ""
ãªãã·ã§ã³
ãã¬ãŒã ã¬ãŒã
ãã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã©ã«ãã¯30ã§ãã
ãªã¹ãããã€ã¹
ãtrueãã«èšå®ãããŠããå Žåã¯ãããã€ã¹ã®ãªã¹ããå°å·ããŠçµäºããŸãã ããã©ã«ãã¯ãfalseãã§ãã
ãããªããã€ã¹ã€ã³ããã¯ã¹
åãååïŒ0ããå§ãŸãïŒã®ããã€ã¹ã®ã€ã³ããã¯ã¹ã§ãããªããã€ã¹ãéžæããŸãã
ã¹ã³ãã£ãª
sndioå ¥åããã€ã¹ã
æ§æäžã«ãã®å ¥åããã€ã¹ãæå¹ã«ããã«ã¯ãlibsndioãã«ã€ã³ã¹ããŒã«ããå¿ èŠããããŸã
ã·ã¹ãã ã
å ¥åããã€ã¹ã«æäŸãããã¡ã€ã«åã¯ãsndioãè¡šãããã€ã¹ããŒãã§ãã
å ¥åããã€ã¹ã§ãããé垞㯠/ dev / audio0.
ããšãã°ãããååŸããã«ã¯ / dev / audio0 ffmpeg 次ã®ã³ãã³ãã䜿çšããŸãã
ffmpeg -f sndio -i /dev/audio0 /tmp/oss.wav
ãªãã·ã§ã³
ãµã³ãã«ã¬ãŒã
ãµã³ãã«ã¬ãŒããHzã§èšå®ããŸãã ããã©ã«ãã¯48000ã§ãã
ãã£ã³ãã«
ãã£ã³ãã«æ°ãèšå®ããŸãã ããã©ã«ãã¯2ã§ãã
video4linux2ã v4l2
Video4Linux2å ¥åãããªããã€ã¹ã
ãv4l2ãã¯ãvideo4linux2ãã®ãšã€ãªã¢ã¹ãšããŠäœ¿çšã§ããŸãã
FFmpegãv4l-utilsãµããŒãã§æ§ç¯ãããŠããå ŽåïŒã--enable-libv4l2ãconfigureã䜿çšããŠ
ãªãã·ã§ã³ïŒãã-use_libv4l2ãå ¥åããã€ã¹ãªãã·ã§ã³ã§äœ¿çšããããšãã§ããŸãã
ååŸããããã€ã¹ã®ååã¯ãã¡ã€ã«ããã€ã¹ããŒãã§ãããéåžžãLinuxã·ã¹ãã ã¯
ããã€ã¹ïŒUSB Webã«ã¡ã©ãªã©ïŒãã«æ¥ç¶ããããšããã®ãããªããŒããèªåçã«äœæãããŸãã
ã·ã¹ãã ãããã³çš®é¡ã®ååãæã£ãŠããŸã / dev / videoNããã§ã N ã«é¢é£ä»ããããŠããçªå·ã§ã
ããã€ã¹ã
Video4Linux2ããã€ã¹ã¯éåžžãéãããã»ããããµããŒãããŸã å¹ xé«ã ãµã€ãºãšãã¬ãŒã ã¬ãŒãã
ã©ã¡ãããµããŒããããŠãããã確èªã§ããŸã -list_formats ã Video4Linux2ããã€ã¹ã®å Žåã ããã€ã
TVã«ãŒããªã©ã®ããã€ã¹ã¯ãXNUMXã€ä»¥äžã®èŠæ ŒããµããŒãããŠããŸãã ãã¹ãŠããªã¹ãããããšãå¯èœã§ã
ã䜿çšããŠãµããŒããããŠããæšæº -list_standards ã.
ã¿ã€ã ã¹ã¿ã³ãã®ã¿ã€ã ããŒã¹ã¯1ãã€ã¯ãç§ã§ãã ã«ãŒãã«ã®ããŒãžã§ã³ã«å¿ããŠ
æ§æã§ã¯ãã¿ã€ã ã¹ã¿ã³ãã¯ãªã¢ã«ã¿ã€ã ã¯ããã¯ïŒUnixã§çºçïŒããååŸã§ããŸãã
ãšããã¯ïŒãŸãã¯å調ã¯ããã¯ïŒéåžžã¯èµ·åæã«çºçããNTPãŸãã¯æåã®åœ±é¿ãåããŸããïŒ
æèšã«å€ãããŸãïŒã The -ã¿ã€ã ã¹ã¿ã³ã è ¹ç or -NS è ¹ç ãªãã·ã§ã³ã䜿çšããŠåŒ·å¶ããããšãã§ããŸã
ãªã¢ã«ã¿ã€ã ã¯ããã¯ãžã®å€æã
video4linux2ããã€ã¹ã®ããã€ãã®äœ¿çšäŸ ffmpeg & åçãã:
ã»video4linux2ããã€ã¹ã§ãµããŒããããŠãã圢åŒãäžèŠ§è¡šç€ºããŸãã
ffplay -f video4linux2 -list_formats all / dev / video0
ã»video4linux2ããã€ã¹ã®å ¥åãååŸããŠè¡šç€ºããŸãã
ffplay -f video4linux2 -framerate 30 -video_size hd720 / dev / video0
ã»video4linux2ããã€ã¹ã®å ¥åãååŸããŠèšé²ãããã¬ãŒã ã¬ãŒããšãµã€ãºã次ã®ããã«æ®ããŸã
以åã«èšå®ïŒ
ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 out.mpeg
Video4Linuxã®è©³çŽ°ã«ã€ããŠã¯ã次ã確èªããŠãã ãããhttp://linuxtv.org/>.
ãªãã·ã§ã³
æšæº
åºæºãèšå®ããŸãã ãµããŒããããŠããæšæºã®ååã§ããå¿ èŠããããŸãã ã®ãªã¹ããååŸããã«ã¯
ãµããŒããããŠããæšæºã ãªã¹ãæšæº ãªãã·ã§ã³ãéžæããŸãã
ãã£ã³ãã«
å ¥åãã£ã³ãã«çªå·ãèšå®ããŸãã ããã©ã«ãã¯-1ã§ããããã¯ã以åã«éžæãããã®ã䜿çšããããšãæå³ããŸã
ãã£ã³ãã«ã
ãããªãµã€ãº
ãããªã®ãã¬ãŒã ãµã€ãºãèšå®ããŸãã åŒæ°ã¯æ¬¡ã®åœ¢åŒã®æååã§ããå¿ èŠããããŸã WIDTHxHEIGHT ãŸãã¯
æå¹ãªãµã€ãºã®çç¥åœ¢ã
ãã¯ã»ã«åœ¢åŒ
ãã¯ã»ã«åœ¢åŒãéžæããŸãïŒçã®ãããªå ¥åã«ã®ã¿æå¹ïŒã
å ¥å圢åŒ
åªå ãããã¯ã»ã«åœ¢åŒïŒçã®ãããªã®å ŽåïŒãŸãã¯ã³ãŒããã¯åãèšå®ããŸãã ãã®ãªãã·ã§ã³ã«ããã
è€æ°ã®å ŽåãXNUMXã€ã¯å ¥å圢åŒãéžæããŸãã
ãã¬ãŒã ã¬ãŒã
åªå ãããããªãã¬ãŒã ã¬ãŒããèšå®ããŸãã
ãªã¹ã圢åŒ
䜿çšå¯èœãªåœ¢åŒïŒãµããŒããããŠãããã¯ã»ã«åœ¢åŒãã³ãŒããã¯ãããã³ãã¬ãŒã ãµã€ãºïŒãäžèŠ§è¡šç€ºããŠçµäºããŸãã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ã 䜿çšå¯èœãªãã¹ãŠã®ïŒå§çž®ããã³éå§çž®ïŒåœ¢åŒã衚瀺ããŸãã
ç çã®ãããªïŒéå§çž®ïŒåœ¢åŒã®ã¿ã衚瀺ããŸãã
å§çž®ããã
å§çž®ããã圢åŒã®ã¿ã衚瀺ããŸãã
ãªã¹ãæšæº
ãµããŒããããŠããæšæºãäžèŠ§è¡šç€ºããŠçµäºããŸãã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ã ãµããŒããããŠãããã¹ãŠã®æšæºã衚瀺ããŸãã
ã¿ã€ã ã¹ã¿ã³ãã ts
ååŸãããã¬ãŒã ã®ã¿ã€ã ã¹ã¿ã³ãã®ã¿ã€ããèšå®ããŸãã
䜿çšå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã
ããã©ã«ã
ã«ãŒãã«ããã®ã¿ã€ã ã¹ã¿ã³ãã䜿çšããŸãã
è ¹ç 絶察ã¿ã€ã ã¹ã¿ã³ãïŒå£æãæèšïŒã䜿çšããŸãã
ã¢ã2ã¢ãã¹
å調ãªã¿ã€ã ã¹ã¿ã³ããã絶察çãªã¿ã€ã ã¹ã¿ã³ããžã®å€æã匷å¶ããŸãã
ããã©ã«ãå€ã¯ãdefaultãã§ãã
use_libv4l2
libv4l2ïŒv4l-utilsïŒå€æé¢æ°ã䜿çšããŸãã ããã©ã«ãã¯0ã§ãã
vfwcap
VfWïŒVideo for WindowsïŒãã£ããã£å ¥åããã€ã¹ã
å ¥åãšããŠæž¡ããããã¡ã€ã«åã¯ã0ã9ã®ç¯å²ã®ãã£ããã£ãã©ã€ãçªå·ã§ãã
ãã©ã€ããŒã®ãªã¹ããå°å·ããã«ã¯ããã¡ã€ã«åãšããŠãlistãã䜿çšããŸãã ãã®ä»ã®ãã¡ã€ã«åã¯è§£éãããŸã
ããã€ã¹çªå·0ãšããŠã
ãªãã·ã§ã³
ãããªãµã€ãº
ãããªã®ãã¬ãŒã ãµã€ãºãèšå®ããŸãã
ãã¬ãŒã ã¬ãŒã
ã°ã©ããã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã©ã«ãå€ã¯ãntscãã§ãã®ãã¬ãŒã ã¬ãŒãã«å¯Ÿå¿ããŸãã
ã30000/1001ãã
x11ã°ã©ã
X11ãããªå ¥åããã€ã¹ã
èšå®äžã«ãã®å ¥åããã€ã¹ãæå¹ã«ããã«ã¯ãã·ã¹ãã ã«libxcbãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
èšå®æã«èªåçã«æ€åºãããŸãã
ãŸãã¯ãæ§æãªãã·ã§ã³ --enable-x11grab ã¬ã¬ã·ãŒXlibãŠãŒã¶ãŒã®ããã«ååšããŸãã
ãã®ããã€ã¹ã䜿çšãããšãX11ãã£ã¹ãã¬ã€ã®é åããã£ããã£ã§ããŸãã
å ¥åãšããŠæž¡ããããã¡ã€ã«åã®æ§æã¯æ¬¡ã®ãšããã§ãã
[ ]ïŒ ã [+ ã ]
hostname:衚瀺çªå·.ã¹ã¯ãªãŒã³çªå· ååŸããç»é¢ã®X11衚瀺åãæå®ããŸã
ããã hostname çç¥å¯èœã§ãããã©ã«ãã¯ãlocalhostãã§ãã ç°å¢å€æ°
DISPLAY ããã©ã«ãã®è¡šç€ºåãå«ãŸããŠããŸãã
x_ãªãã»ãã & y_offset å·Šäžãåºæºã«ããã°ã©ãé åã®ãªãã»ãããæå®ããŸã
X11ç»é¢ã®å¢çç·ã ããã©ã«ãã¯0ã§ãã
X11ã®ããã¥ã¡ã³ãã確èªããŠãã ããïŒäŸïŒ man XïŒè©³çŽ°ã«ã€ããŠã¯ã
xdpyinfo X11ã®ããããã£ã«é¢ããåºæ¬æ å ±ãååŸããããã®ããã°ã©ã
衚瀺ïŒäŸïŒãnameããŸãã¯ãdimensionsãã®grepïŒã
ããšãã°ãããååŸããã«ã¯ ïŒ0.0 ffmpeg:
ffmpeg -f x11grab -framerate 25 -video_size cif -iïŒ0.0 out.mpg
äœçœ®ã10,20ãã§ã€ãã¿ãŸãïŒ
ffmpeg -f x11grab -framerate 25 -video_size cif -iïŒ0.0 + 10,20 out.mpg
ãªãã·ã§ã³
ãããŒããŠã¹
ããŠã¹ãã€ã³ã¿ãæç»ãããã©ãããæå®ããŸãã å€0ã¯ãæç»ããªãããšãæå®ããŸã
ãã€ã³ã¿ã ããã©ã«ãå€ã¯1ã§ãã
ãã©ããŒããŠã¹
ã€ããã é åãããŠã¹ã«è¿œåŸãããŸãã åŒæ°ã¯ãäžå€®ããŸãã¯ããã€ãã®
ãã¯ã»ã« ãã¯ã»ã«.
ãcenteredãã§æå®ããå Žåãã°ã©ãé åã¯ããŠã¹ãã€ã³ã¿ã®åŸã«ç¶ããŸã
ãã€ã³ã¿ãé åã®äžå€®ã«ä¿æããŸãã ãã以å€ã®å Žåãé åã¯æ¬¡ã®å Žåã«ã®ã¿ç¶ããŸã
ããŠã¹ãã€ã³ã¿ã ãã¯ã»ã« ïŒãŒããã倧ããïŒé åã®ç«¯ãŸã§ã
äŸïŒ
ffmpeg -f x11grab -follow_mouse centered -framerate 25 -video_size cif -iïŒ0.0 out.mpg
ããŠã¹ãã€ã³ã¿ã端ãŸã§100ãã¯ã»ã«ä»¥å ã«éãããšãã«ã®ã¿ãã©ããŒããã«ã¯ïŒ
ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -iïŒ0.0 out.mpg
ãã¬ãŒã ã¬ãŒã
ã°ã©ããã¬ãŒã ã¬ãŒããèšå®ããŸãã ããã©ã«ãå€ã¯ãntscãã§ãã®ãã¬ãŒã ã¬ãŒãã«å¯Ÿå¿ããŸãã
ã30000/1001ãã
show_region
ååŸããé åãç»é¢ã«è¡šç€ºããŸãã
If show_region ã1ã§æå®ãããŠããå Žåãã°ã©ãé åã¯ã«ç€ºãããŸãã
ç»é¢ã ãã®ãªãã·ã§ã³ã䜿çšãããšãäžéšã ãã§äœãååŸãããŠããããç°¡åã«ç¥ãããšãã§ããŸã
ç»é¢ã®ãã€ãã¿ãŸãã
å°åå¢çç·
次ã®å Žåã«é åã®å¢çã®åããèšå®ããŸã -show_region 1 䜿çšãããŠããã ç¯å²ã¯1ã128ã§ã
ããã©ã«ãã¯3ã§ãïŒXCBããŒã¹ã®x11grabã®ã¿ïŒã
äŸïŒ
ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -iïŒ0.0 + 10,20 out.mpg
ãã©ããŒããŠã¹:
ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -iïŒ0.0 out.mpg
ãããªãµã€ãº
ãããªã®ãã¬ãŒã ãµã€ãºãèšå®ããŸãã ããã©ã«ãå€ã¯ãvgaãã§ãã
use_shm
å ±æã¡ã¢ãªã«ã¯MIT-SHMæ¡åŒµæ©èœã䜿çšããŠãã ããã ããã©ã«ãå€ã¯1ã§ããå¿ èŠãªå ŽåããããŸã
ãªã¢ãŒããã£ã¹ãã¬ã€ã§ç¡å¹ã«ããŸãïŒã¬ã¬ã·ãŒx11grabã®ã¿ïŒã
ã€ãã_x ã°ã©ã AVãªãã·ã§ã³
æ§æã¯æ¬¡ã®ãšããã§ãã
-grab_x -grab_y
ã°ã©ãé åã®åº§æšãèšå®ããŸãã ãããã¯å·Šäžé ããã®ãªãã»ãããšããŠè¡šãããŸã
X11ãŠã£ã³ããŠã®ã ããã©ã«ãå€ã¯0ã§ãã
ãªãµã³ãã©ãŒ OPTIONS
ãªãŒãã£ãª ãªãµã³ãã©ãŒã¯ã次ã®ååä»ããªãã·ã§ã³ããµããŒãããŸãã
ãªãã·ã§ã³ã¯ã-ãæå®ããŠèšå®ã§ããŸãããªãã·ã§ã³ å€ FFmpeg ããŒã«ã§ã ãªãã·ã§ã³=å€
ãSwrContextããªãã·ã§ã³ã§å€ãæ瀺çã«èšå®ãããããŸãã¯
libavutil / opt.h ããã°ã©ã ã§äœ¿çšããããã® APIã
ichã in_channel_count
å ¥åãã£ã³ãã«æ°ãèšå®ããŸãã ããã©ã«ãå€ã¯ 0 ã§ãããã®å€ãèšå®ããããšã¯ã§ããŸããã
察å¿ãããã£ãã« ã¬ã€ã¢ãŠãã®å Žåã¯å¿ é in_channel_layout èšå®ãããŠããŸãã
ããã out_channel_count
åºåãã£ã³ãã«æ°ãèšå®ããŸãã ããã©ã«ãå€ã¯ 0 ã§ãããã®å€ãèšå®ããããšã¯ã§ããŸããã
察å¿ãããã£ãã« ã¬ã€ã¢ãŠãã®å Žåã¯å¿ é ã¢ãŠããã£ã³ãã«ã¬ã€ã¢ãŠã èšå®ãããŠããŸãã
ãããšã used_channel_count
䜿çšããå ¥åãã£ã³ãã«æ°ãèšå®ããŸãã ããã©ã«ãå€ã¯ 0 ã§ãããã®ãªãã·ã§ã³ã®ã¿ã䜿çšãããŸãã
ç¹å¥ãªåãããã³ã°çšã
ã¯ã in_sample_rate
å ¥åãµã³ãã«ã¬ãŒããèšå®ããŸãã ããã©ã«ãå€ã¯ 0 ã§ãã
osrã ã¢ãŠããµã³ãã«ã¬ãŒã
åºåãµã³ãã«ã¬ãŒããèšå®ããŸãã ããã©ã«ãå€ã¯ 0 ã§ãã
ã¯ã in_sample_fmt
å ¥åãµã³ãã«åœ¢åŒãæå®ããŸãã ããã©ã«ãã§ã¯ããªããã«èšå®ãããŠããŸãã
osfã out_sample_fmt
åºåãµã³ãã«åœ¢åŒãæå®ããŸãã ããã©ã«ãã§ã¯ããªããã«èšå®ãããŠããŸãã
tsfã å éšãµã³ãã«_fmt
å éšãµã³ãã«åœ¢åŒãèšå®ããŸãã ããã©ã«ãå€ã¯ããªããã§ãã ããã¯èªåçã«
æ瀺çã«èšå®ãããŠããªãå Žåã«éžæãããŸãã
iclã in_channel_layout
oclã ã¢ãŠããã£ã³ãã«ã¬ã€ã¢ãŠã
å ¥åºåãã£ã³ãã«ã®ã¬ã€ã¢ãŠããèšå®ããŸãã
èŠã ã ãã£ãã« ã¬ã€ã¢ãŠã in ã ffmpeg-utils(1) ããã¥ã¢ã« å¿ èŠãªæ§æã«ã€ããŠã
ã¯ã¬ãã center_mix_level
ã»ã³ã¿ãŒããã¯ã¹ã¬ãã«ãèšå®ããŸãã ããã¯ãã·ãã«ã§è¡šãããå€ã§ããã
éé [-32,32]ã
ã¹ãªã ã Surround_mix_level
ãµã©ãŠã³ãããã¯ã¹ã¬ãã«ãèšå®ããŸãã ããã¯ãã·ãã«ã§è¡šãããå€ã§ããã
éé [-32,32]ã
lfe_mix_level
LFE ããã¯ã¹ãé LFE ã¬ãã«ã«èšå®ããŸãã LFE å ¥åã¯ããã LFE ããªãå Žåã«äœ¿çšããŸãã
åºåã ãã㯠deciBel ã§è¡šãããå€ã§ã[-32,32] ã®ééã§ããå¿ èŠããããŸãã
rmvolã ãªãããªãã¯ã¹ããªã¥ãŒã
ãªãããªãã¯ã¹ããªã¥ãŒã ãèšå®ããŸãã ããã©ã«ãå€ã¯ 1.0 ã§ãã
rematrix_maxval
ãªãããªãã¯ã¹ã®æ倧åºåå€ãèšå®ããŸãã ããã¯ãã¯ãªããã³ã°å¯Ÿã¯ãªããã³ã°ãé²ãããã«äœ¿çšã§ããŸãã
é³éæžå°ã®é²æ¢ å€ 1.0 ã¯ã¯ãªããã³ã°ãé²æ¢ããŸãã
ãã©ã°ã swr_flags
ã³ã³ããŒã¿ãŒã䜿çšãããã©ã°ãèšå®ããŸãã ããã©ã«ãå€ã¯ 0 ã§ãã
次ã®åã ã®ãã©ã°ããµããŒãããŠããŸãã
解å床 åãµã³ããªã³ã°ã匷å¶ããŸãããã®ãã©ã°ã¯ãå ¥åãš
åºåãµã³ãã«ã¬ãŒããäžèŽããŸãã
ãã£ã¶ã¹ã±ãŒã«
ãã£ã¶ ã¹ã±ãŒã«ãèšå®ããŸãã ããã©ã«ãå€ã¯ 1 ã§ãã
ãã£ã¶æ³
ãã£ã¶æ³ãèšå®ããŸãã ããã©ã«ãå€ã¯ 0 ã§ãã
ãµããŒããããŠããå€ïŒ
é·æ¹åœ¢ã®
ç©åœ¢ãã£ã¶ãéžæ
äžè§
äžè§ãã£ã¶ãéžæ
äžè§HP
ãã€ãã¹ã§äžè§ãã£ã¶ãéžæ
ãªãã·ãã
lipshitz ãã€ãº ã·ã§ãŒãã³ã° ãã£ã¶ãéžæ
ã·ãã¿
æŽç°ãã€ãºã·ã§ãŒãã³ã°ãã£ã¶ãéžæ
low_shibata
äœã·ãã¿ ãã€ãº ã·ã§ãŒãã³ã° ãã£ã¶ãéžæ
ãã€ã·ãã¿
é«ã·ãã¿ ãã€ãº ã·ã§ãŒãã³ã° ãã£ã¶ãéžæ
f_weighted
f-weighted ãã€ãº ã·ã§ãŒãã³ã° ãã£ã¶ãéžæ
ä¿®æ£æžã¿_e_weighted
ä¿®æ£ããã e-weighted ãã€ãº ã·ã§ãŒãã³ã° ãã£ã¶ãéžæãã
æ¹åããã_e_å é
æ¹åããã e-weighted ãã€ãº ã·ã§ãŒãã³ã° ãã£ã¶ãéžæããŸã
ãªãµã³ãã©ãŒ
ãªãµã³ããªã³ã° ãšã³ãžã³ãèšå®ããŸãã ããã©ã«ãå€ã¯swrã§ãã
ãµããŒããããŠããå€ïŒ
swr ãã€ãã£ã SW ãªãµã³ãã©ãŒãéžæããŸãã ãã£ã«ã¿ ãªãã·ã§ã³ã® precision ãš cheby ã¯ãããŸãã
ãã®å Žåã«é©çšãããŸãã
ãœãã¯ã¹
SoX ãªãµã³ãã©ãŒãéžæããŸã (å©çšå¯èœãªå Žå)ã è£æ£ãããã³ãã£ã«ã¿ãŒ ãªãã·ã§ã³
filter_sizeãphase_shiftãfilter_typeãkaiser_beta ã¯ãããã«ã¯é©çšãããŸãã
å Žåã
ãã£ã«ã¿ãŒãµã€ãº
swr ã®ã¿ã®å Žåããªãµã³ããªã³ã° ãã£ã«ã¿ ãµã€ãºãèšå®ããŸããããã©ã«ãå€ã¯ 32 ã§ãã
äœçžã·ãã
swr ã®ã¿ã®å Žåããªãµã³ããªã³ã°äœçžã·ãããèšå®ããŸããããã©ã«ãå€ã¯ 10 ã§ã
éé [0,30]ã
ç·åœ¢ã€ã³ã¿ãŒã
1 ã«èšå®ãããšç·åœ¢è£éã䜿çšããŸããããã©ã«ãå€ã¯ 0 ã§ãã
ã«ãããªã
ã«ãããªãåšæ³¢æ° (swr: 6dB ãã€ã³ã; soxr: 0dB ãã€ã³ã) ã®æ¯çãèšå®ããŸãã æµ®åå°æ°ç¹å€ã§ãªããã°ãªããŸãã
0 ãã 1 ã®éãããã©ã«ãå€ã¯ãswr ã§ã¯ 0.97ãsoxr ã§ã¯ 0.91 ã§ã (ããã¯ã
ãµã³ãã«ã¬ãŒã㯠44100 ã§ããªãŒãã£ãªåž¯åå šäœã 20kHz ã«ç¶æããŸã)ã
粟床
soxr ã®å Žåã®ã¿ããªãµã³ããªã³ã°ãããä¿¡å·ãèšç®ããããããåäœã®ç²ŸåºŠã
ããã©ã«ãå€ã® 20 (é©åãªãã£ã¶ãªã³ã°ã䜿çšãããšã
å®å ããã深床 16) ã¯ãSoX ã®ãé«å質ããæäŸããŸãã 28 ã®å€ã¯ SoX ã®
ãéåžžã«é«å質ãã
ãã
soxr ã®ã¿ã®å Žåããã¹ãã³ã ããŒã«ãªããªã (ãã§ãã·ã§ã) & é«ç²ŸåºŠãéžæããŸã
ãäžåçãªãæ¯çã®è¿äŒŒã ããã©ã«ãå€ã¯ 0 ã§ãã
éåæ
SWR ã®ã¿ã®å Žåãã¹ãã¬ãããã¹ã¯ã€ãŒãºã
å å¡«ãšããªãã³ã°ã ããã 1 ã«èšå®ãããšãå¡ãã€ã¶ããšããªãã³ã°ãæå¹ã«ãªããŸãã
å€ã¯ãããŒã¿ãåŒã䌞ã°ãããå¯èœæ§ã®ãããµã³ãã«ã®æ倧éãè¡šããŸãã
æ¯ç§å§è¿«ãããŸãã ããã©ã«ãå€ã¯ 0 ã§ãããããè£æ£ã¯é©çšãããŸããã
ãµã³ãã«ã¯ãªãŒãã£ãªã®ã¿ã€ã ã¹ã¿ã³ããšäžèŽããŸãã
first_pts
swr ã®å Žåã®ã¿ãæåã®ãã€ã³ãããã®å€ã§ãããšä»®å®ããŸãã æéåäœã¯ 1 / ãµã³ãã«
ã¬ãŒãã ããã«ãããã¹ããªãŒã ã®éå§æã«ããã£ã³ã°/ããªãã³ã°ãå¯èœã«ãªããŸãã ããã©ã«ãã§ã¯ãããã
æåã®ãã¬ãŒã ã®äºæ³ããããã€ã³ãã«ã€ããŠä»®å®ãè¡ããããããããã£ã³ã°ãããªãã³ã°ã¯è¡ãããŸãã
çµããã ããšãã°ãããã 0 ã«èšå®ãããšã
ãªãŒãã£ãª ã¹ããªãŒã ã¯ããã㪠ã¹ããªãŒã ã®åŸã«éå§ããããè² ã® pts ãæã€ãµã³ãã«ãããªãã³ã°ããŸãã
ãšã³ã³ãŒãã®é 延ãåå ã§ãã
min_comp
swr ã®ã¿ã®å Žåãã¿ã€ã ã¹ã¿ã³ããšãªãŒãã£ãª ããŒã¿ã®æå°å·®ãèšå®ããŸã (
ç§ïŒããŒã¿ã®ã¹ãã¬ãã/ã¹ã¯ã€ãŒãº/ãã£ã«ãŸãã¯ããªãã³ã°ãããªã¬ãŒããŠãããŒã¿ãäœæããŸã
ã¿ã€ã ã¹ã¿ã³ããäžèŽãããŸãã ããã©ã«ãã§ã¯ãã¹ãã¬ãã/ã¹ã¯ã€ãŒãº/ãã£ã«ãšããªãã³ã°ã¯
ç¡å¹ ïŒmin_comp = "FLT_MAX")ã
min_hard_comp
swr ã®ã¿ã®å Žåãã¿ã€ã ã¹ã¿ã³ããšãªãŒãã£ãª ããŒã¿ã®æå°å·®ãèšå®ããŸã (
ç§) ãµã³ãã«ã®è¿œå /åé€ãããªã¬ãŒããŠãã¿ã€ã ã¹ã¿ã³ããšäžèŽãããŸãã ãã
ãªãã·ã§ã³ã¯å®è³ªçã«ãããŒã (ããªã /ãã£ã«) ãšãœããã®éã§éžæãããããå€ã§ã
ïŒçµã/䌞ã°ãïŒè£æ£ã ãã¹ãŠã®è£åã¯ããã©ã«ãã§ç¡å¹ã«ãªã£ãŠããããšã«æ³šæããŠãã ãã
ã min_compã ããã©ã«ãã¯0.1ã§ãã
comp_duration
swr ã®ã¿ã®å ŽåãããŒã¿ãã¹ãã¬ãã/ã¹ã¯ã€ãŒãºããŠäœæããæé (ç§åäœ) ãèšå®ããŸãã
ã¿ã€ã ã¹ã¿ã³ããšäžèŽããŸãã è² ã§ãªã double float å€ã§ããå¿ èŠããããŸããããã©ã«ãå€ã¯
1.0.
max_soft_comp
swr ã®ã¿ã®å ŽåãäžèŽãããããã«ããŒã¿ãã¹ãã¬ãã/ã¹ã¯ã€ãŒãºããæ倧ä¿æ°ãèšå®ããŸã
ã¿ã€ã ã¹ã¿ã³ãã è² ã§ãªã double float å€ã§ããå¿ èŠããããŸããããã©ã«ãå€ã¯ 0 ã§ãã
ãããªãã¯ã¹ãšã³ã³ãŒãã£ã³ã°
ãããªãã¯ã¹åãããã¹ãã¬ãª ãšã³ã³ãŒãã£ã³ã°ãéžæããŸãã
次ã®å€ãåãå ¥ããŸãã
ãªã
äœãéžæããªã
ãã«ããŒ
ãã«ããŒãéžæ
ãã£ããªã€
Dolby Pro Logic II ãéžæ
ããã©ã«ãå€ã¯ãnoneãã§ãã
ãã£ã«ã¿ãŒã®çš®é¡
swr ã®ã¿ã®å Žåã¯ããªãµã³ããªã³ã° ãã£ã«ã¿ãŒ ã¿ã€ããéžæããŸãã ããã¯ããªãµã³ããªã³ã°æäœã«ã®ã¿åœ±é¿ããŸãã
次ã®å€ãåãå ¥ããŸãã
ãã¥ãŒããã¯
ãã¥ãŒããã¯ãéžæ
blackman_nuttall
Blackman Nuttall Windowed Sinc ãéžæ
ã«ã€ã¶ãŒ
Kaiser Windowed Sinc ãéžæ
ã«ã€ã¶ãŒããŒã¿
swr ã®ã¿ã®å ŽåãKaiser Window Beta å€ãèšå®ããŸãã éé [2,16] ã®æŽæ°ã§ãªããã°ãªããŸããã
ããã©ã«ãå€ã¯9ã§ãã
åºåãµã³ãã«ããã
swr ã®ã¿ã®å Žåããã£ã¶ãªã³ã°ã«äœ¿çšãããåºåãµã³ãã« ãããæ°ãèšå®ããŸãã æŽæ°ã§ãªããã°ãªããŸãã
éé [0,64] ã§ã¯ãããã©ã«ãå€ã¯ 0 ã§ãããããã¯äœ¿çšãããªãããšãæå³ããŸãã
ã¹ã±ãŒã©ãŒ OPTIONS
ãã㪠ã¹ã±ãŒã©ãŒã¯ã次ã®ååä»ããªãã·ã§ã³ããµããŒãããŠããŸãã
ãªãã·ã§ã³ã¯ã-ãæå®ããŠèšå®ã§ããŸãããªãã·ã§ã³ å€ FFmpeg ããŒã«ã§ã ããã°ã©ã ã§äœ¿çšããã«ã¯ã
ãããã¯ããSwsContextããªãã·ã§ã³ãŸã㯠libavutil / opt.h APIã§ãã
sws_flags
ã¹ã±ãŒã©ãŒ ãã©ã°ãèšå®ããŸãã ããã¯ãã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ã®èšå®ã«ã䜿çšãããŸãã ã·ã³ã°ã«ã®ã¿
ã¢ã«ãŽãªãºã ãéžæããå¿ èŠããããŸãã
次ã®å€ãåãå ¥ããŸãã
é«éåç·åœ¢
é«éãã€ãªã㢠ã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ãéžæããŸãã
ãã€ãªãã¢
ãã€ãªã㢠ã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ãéžæããŸãã
ãã€ãã¥ãŒããã¯
ãã€ãã¥ãŒãã㯠ã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ãéžæããŸãã
å®éšç
å®éšçãªã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ãéžæããŸãã
é£äºº
æè¿é£åã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ãéžæããŸãã
ãšãªã¢
å¹³ååé åã®åã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ãéžæããŸãã
ããã¥ããªã³
èŒåºŠæåã«ã¯ãã€ãã¥ãŒãã㯠ã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ãéžæããã¯ããæåã«ã¯ãã€ãªãã¢ãéžæããŸã
ã³ã³ããŒãã³ãã
ã¬ãŠã¹
ã¬ãŠã¹åã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ãéžæããŸãã
ã·ã³ã¯
sinc åã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ãéžæããŸãã
ã©ã³ãã§ã¹
lanczos åã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ãéžæããŸãã
ã¹ãã©ã€ã³
èªç¶ãªãã€ãã¥ãŒãã㯠ã¹ãã©ã€ã³åã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ãéžæããŸãã
å°å·æ å ±
å°å·/ãããã° ãã°ãæå¹ã«ããŸãã
æ£ç¢ºãª_rnd
æ£ç¢ºãªäžžããæå¹ã«ããŸãã
full_chroma_int
ãã«ã¯ããè£éãæå¹ã«ããŸãã
full_chroma_inp
ãã«ã¯ããå ¥åãéžæããŸãã
ãããæ£ç¢º
bitexact åºåãæå¹ã«ããŸãã
srcw
ãœãŒã¹å¹ ãèšå®ããŸãã
ãµãŒã
ãœãŒã¹ã®é«ããèšå®ããŸãã
dstw
å®å å¹ ãèšå®ããŸãã
dth
ç®çå°ã®é«ããèšå®ããŸãã
src_format
ãœãŒã¹ ãã¯ã»ã«åœ¢åŒãèšå®ããŸã (æŽæ°ã§è¡šãå¿ èŠããããŸã)ã
dst_format
ãã¹ãã£ããŒã·ã§ã³ ãã¯ã»ã«åœ¢åŒãèšå®ããŸã (æŽæ°ã§è¡šãå¿ èŠããããŸã)ã
src_range
ãœãŒã¹ç¯å²ãéžæããŸãã
dst_range
å®å ç¯å²ãéžæããŸãã
param0ã param1
ã¹ã±ãŒãªã³ã° ã¢ã«ãŽãªãºã ãã©ã¡ãŒã¿ãŒãèšå®ããŸãã æå®ãããå€ã¯ãäžéšã®ã¹ã±ãŒãªã³ã°ã«åºæã®ãã®ã§ã
ã¢ã«ãŽãªãºã ã§ãããä»ã®äººã«ã¯ç¡èŠãããŸãã æå®å€ã¯æµ®åå°æ°ç¹æ°
å€ã
sws_ãã£ã¶
ãã£ã¶ãªã³ã° ã¢ã«ãŽãªãºã ãèšå®ããŸãã 次ã®ããããã®å€ãåãå ¥ããŸãã ããã©ã«ãå€ã¯
ãªãŒã.
ãªãŒã
èªåéžæ
ãªã
ãã£ã¶ãªã³ã°ãªã
ãã€ãšã«
ãã€ã€ãŒãã£ã¶
ed 誀差æ¡æ£ãã£ã¶
a_ãã£ã¶
ç®è¡ãã£ã¶ãå ç®ã«åºã¥ã
x_ãã£ã¶
xor ã䜿çšããç®è¡ãã£ã¶ (ããã©ã³ãã ã§ç®ç«ããªããã¿ãŒã³
a_dither)ã
ã¢ã«ãã¡ãã¬ã³ã
å ¥åã«ã¢ã«ãã¡ããããåºåã«ã¢ã«ãã¡ããªãå Žåã«äœ¿çšããã¢ã«ãã¡ ãã¬ã³ãã£ã³ã°ãèšå®ããŸãã
ããã©ã«ãå€ã¯ ãªã.
ãŠããã©ãŒã ã«ã©ãŒ
åäžãªèæ¯è²ã«ãã¬ã³ããã
ãã§ãã«ãŒããŒã
ãã§ãã«ãŒããŒãã«ãã¬ã³ã
ãªã
ãã¬ã³ããªã
ãã£ã«ã¿ãªã³ã° ã¯ããã«
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 = ;] [; ]
ããŒã 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 ãµãŒãã¹ã䜿çšã㊠ffplay-all online ã䜿çšãã