코덱 문외한... 초보 개발자입니다..... 스트리밍 코덱 질문 좀 드릴께요 ㅠ.ㅠ

by 인코더하수 posted Dec 23, 2019
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

코덱 쪽은 FPS와 I-Frame 정도만 알고 있는..

 

초보 개발자입니다...

 

다름이 아니라... RAW Video 데이터를 카메라에서 받아서... ( 임베디드 리눅스 인코딩 )

 

PC 프로그램에서 Render 해주는 프로젝트를 진행 중인데... ( WIN 응용 프로그램 디코딩 )

 

코덱 쪽은 문외한이라서..

 

감히 질문 드려봅니다 ㅠ.ㅠ (살려주세요.)

 

1920 x 1080 해상도의 30fps 정도 되는 .. 화면을

 

실시간 인코딩 & 디코딩 할때 최적의 코덱은 무엇일까요 ㅠ.ㅠ???

 

현재 구현은..

 

VP8 코덱을 이용 했습니다...

 

VP9와 x265 는 cpu 사용률이 높아서.. 실시간에 적합하지 않은 것 같고.... (백그라운드로 다른 시스템 어플이 같이 돌아 가고 있어요 ㅠ.ㅠ)

 

x264 vs xp8 중에 고민을 하다...

 

vp8 이 화질은 좀 더 떨어지지만.... x264 보다 인코딩 속도가 더 빠르다고 (cpu 점유율 낮음) ... 구글링으로 본거 같은데... ( 맞는 얘기인가요...???? )

 

혹시 다른 코덱 추천 해주실 수 있는것 있을까요....???

 

 

 

구글신의 도움으로... ( 아래 프리셋을 사용 하고 있는데... Fast & Normal & High ) 3가지 프리셋 버전을 구현하라고 하는데... 코덱 지식이 없어서 갑갑합니다..ㅠ.ㅠ

 

void KHVPX_Encoder::SetNormalCodecParameters(vpx_codec_enc_cfg_t* config, int width, int height)

{

 

config->rc_target_bitrate = width * height * config->rc_target_bitrate / config->g_w / config->g_h;

 

config->g_timebase.num = 1;

config->g_timebase.den = 1000;

 

config->g_w = width;

config->g_h = height;

config->g_pass = VPX_RC_ONE_PASS;

 

config->g_lag_in_frames = 0;

 

config->kf_min_dist = 10000;

config->kf_max_dist = 10000;

 

config->g_threads = (Cpu_Core > 2) ? 2 : 1;

 

config->g_profile = 2;

 

config->rc_min_quantizer = 20;

config->rc_max_quantizer = 30;

 

}

 

vpx_codec_err_t res = vpx_codec_encode(codec, img, frame_cnt, 1, flag, VPX_DL_REALTIME);

 

 

바쁘신대 긴글 읽어주셔서 감사합니다..

 

(샤나님 좋은 프로그램 감사합니다.... ^^;;;)

(고수님들 도와주시면... 샤나님께 꼭 후원 하겠습니다....)