본문 바로가기
놀기/잡스러운 것

[FFMPEG] SMPTE Bar 영상 만들기 (with timecode)

by Hi~ 2023. 8. 27.

자정 지나 정규 방송 끝나면 화면 조정 시간에 나오던 영상...

옛날 사람은 무조건 알 거고.

영상 작업자이나 개발자 분들도 당연히 아실 거고.

샘플 영상 구하기도 마땅치 않아 ffmpeg으로 만들어 보려 한다.

 

일단 기본적인 방법은 인터넷으로 찾을 수 있다.

SMPTE Bar 만 있으면 정적 영상인데 timecode까지 있어 영상이 변하는지 확인할 수 있다.

 

SMPTE HD Bars with burn-in timecode and 1kHz sound

https://gist.github.com/m1tk4/8192bad401fbe845138ab47756139df6

 

Create a test video file - SMPTE HD Bars with burn-in timecode and 1kHz sound

Create a test video file - SMPTE HD Bars with burn-in timecode and 1kHz sound - smpte_bars_720.bat

gist.github.com

 

여기서 한 걸음 더 나아가자.

영상에 더 변화를 줘야 할 것 같다.

그래서 Timecode의 위치를 랜덤 하게 바꿨다.

 

폰트가 필요한데 받으셔도 되고 그냥 있는 폰트 쓰셔도 되고 batch 파일은 받으셔도 되고 아니면 아래 코드 긁어 넣으셔도 되고.

 

arial.ttf
0.99MB
smpte_bars_720_bm.bat
0.00MB

 

 

@echo off
:: Set duration in seconds
set duration=60

:: Note - this outputs 720p 59.94fps drop-frame sample
ffmpeg.exe ^
	-f lavfi -i "smptebars=duration=%duration%:size=1280x720:rate=60000/1001" ^
	-f lavfi -i "sine=frequency=1000:sample_rate=48000:duration=%duration%" ^
    -vf "drawtext=fontfile=arial.ttf:timecode='00\:00\:00\;00':rate=60000/1001:fontsize=80:fontcolor=white@1.0:x=if(eq(mod(n\,18)\,0)\,rand(0\,(w-text_w))\,x):y=if(eq(mod(n\,18)\,0)\,rand(0\,(h-text_h))\,y):box=1:boxcolor=black@1.0" ^
	-c:v libx264 -b:v 2000k ^
	-c:a mp3 -b:a 64k ^
	-y ^
	smpte_bars_720_bm.ts

 

https://youtu.be/kMsxelwfvT0

 

댓글