티스토리 뷰

FHD (1920*1080) 영상을 FFmpeg을 이용하여 여러가지 사이즈의 동영상으로 인코딩을 해 보았다. 그리고 아주 적은 표본이긴 하지만 대략적인 테스트한 결과를 적어본다. 

 

테스트 환경

CPU (2Core) : Intel  Xeon Silver 4114 CPU @2.20GHz       

MEM : 8GB

OS : CentOS 7.7

Monitoring : Zabbix, top 명령어

 

테스트 수행

FHD (1920*1080)로 15초, 30초, 60초 길이의 영상을 구했다. 

그래서 이 영상들을 각각 SD (320*240) , VGA (640*480), HD (1280*720) 으로 변환을 해 보았다. 

변환은 다음과 같이 수행을 하였다. 

$ ffmpeg -i 15sec.mp4 -s 1280x720 -c:a copy 15sec_1280x720.mp4

위의 예를 보면 15초짜리 FHD 영상을 HD 영상으로 변환을 하는 명령어이다. 이런식으로 15초짜리를 HD, VGA, SD 로 변환, 30초짜리를 HD, VGA, SD 로 변환, 60초짜리를 HD, VGA, SD 로 변환하는 테스트이다. 

 

해상도 15초 영상 30초 영상 60초 영상 메모리 점유율
시간(초) CPU(%) 시간(초) CPU(%) 시간(초) CPU(%)
HD (1280*720)  140 12 121 16 373 12 평균 1.9% 
VGA (640*480) 36 10 46 9 137 17
SD (320*240) 13 6 16 7 45 22
5개파일 병렬처리 (동시에 인코딩)
HD (1280*720)  483 19 N/A
VGA (640*480) 177 18
SD (320*240) 58 29

테스트 수행 결과는 위와 같았다. 

물론 해상도가 좋고 시간이 긴 영상은 인코딩하는데 시간이 많이 걸렸다. 그리고 생각보다 CPU, 메모리를 많이 사용하지는 않았다. 병렬처리 테스트도 한번 해봤는데 2Core라 그런지 병렬처리의 효과는 거의 느끼지 못하고 순차처리 하는것과 비슷한 시간이 걸린것 같다. 효과적으로 동영상 인코딩에 대한 병렬처리 작업을 하려면 병렬처리 효율이 높은 Core를 가진 환경에서 진행을 해야 할듯 싶다

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31