?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

코덱 쪽은 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);

 

 

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

 

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

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

Facebook Twitter Pinterest Kakao
  • ?
    JKyle 2019.12.25 03:22

    1. H.264 vs VP8

    상용으로 제작하실 거면 x264 쪽은 H.264 코덱으로 인코딩하는 것이기 때문에 라이센스 문제를 고려하셔야 할 겁니다.

    요즘은 라이센스 비용을 내야 하는 조건이 상당히 완화되어서 대부분의 경우 무료입니다만, 그래도 상황에 따라 좀 복잡합니다.

    주 고객층이 한국에 소재하고 중소 규모라면 대부분의 경우 무료겠지만 또 어떤 조건이 걸릴지 모르는 문제라서...

    자세한 건 "H.264 license fee" 같은 키워드로 구글 검색해 보시면 나옵니다.

    공식적으로는 라이센스 홀더인 MPEG-LA의 이 문서를 보시면 됩니다만, 법 구문들이라서 해독이 좀... 131.gif

    이에 반해 VP8 쪽은 구글이 무료로 풀어놔서 그런 문제에선 자유롭죠.

     

    인코딩 시 둘 중 어느 것이 효율이 좋은지, 속도는 어떤 것이 더 나은지는 워낙 케바케라 단순하게 대답할 수 없는 문제긴 하지만, 둘이 서로 대항하는 코덱이란 건 사실입니다.

    단지 H.264 쪽은 CPU 인코딩뿐 아니라 그래픽 카드를 통한 하드웨어 인코딩이 지원되고, VP8 쪽은 인코더를 특별히 따로 빌드하지 않는 한 하드웨어 인코딩은 안 된다는 차이점이 있죠.

    그리고 H.264 쪽은 디코딩에서도 하드웨어 지원을 받고 좀 더 대중적입니다. 그에 반해 VP8은 하드웨어 디코딩을 지원하는 그래픽 카드가 제한적입니다.

    (엔비디아 쪽 그래픽 카드의 VP8 하드웨어 디코딩 지원 상황은 이 문서를 참고하시죠. NVDEC 쪽입니다.)

     

    2. 인코딩 시 고려할 점 (VP8)

    독자적으로 빌드된 vpxenc 바이너리를 통해 인코딩하시려면 이 문서를 참고하십시오. 윈도우나 리눅스나 명령어들은 다르지 않을 겁니다. 실시간 인코딩이라면 --rt (Real-time mode) 옵션을 꼭 넣어야겠군요.

     

    FFmpeg를 이용한다면 libvpx 코덱으로 인코딩하실 텐데 그 경우 FFmpeg 프로젝트의 코덱 문서 중 libvpx 부분을 참고하시기 바랍니다. 그렇지만 어차피 FFmpeg의 libvpx도 vpxenc를 단순히 래핑한 수준이기 때문에 vpxenc의 명령어들을 FFmpeg에 맞게 수정만 해주면 호환 가능합니다.

     

    (혹시 H.264도 생각하고 계신다면 x264의 실시간 인코딩에 관한 부분은 인터넷 검색만 해도 넘칠 테니 생략하겠습니다.)

     

    -------------------------------------------------------------------------------

     

    잘 아시겠지만, 작업하시다가 모르는 부분이 나오면 일단 구글 검색 추천드립니다. 최소한의 기본적인 비디오 코덱 관련 기본 용어는 먼저 파악하실 것을 권고해 드리고 싶습니다.

     

    그런 연후에 구체적인 문제에 부딪칠 경우 질문해 주시면 아는 범위 내에서 답변해 드리겠습니다.

     

    기본적인 비디오 코덱 관련 기본 용어들:

    손실 압축 vs 비손실 압축, 비트레이트, CRF, 양자화(quantization), 프레임 레이트(frame rate), 프로그레시브(progressive) 영상과 인터레이스된(interlaced) 영상, I-프레임(I-frame, intra-coded frame), P-프레임(P-frame, predictive-coded frame), B-프레임(B-frame, bipredictive-coded frame), GOP(group of pictures), 프로파일(profile), 레벨(level), 프리셋(preset), 튠(tune) 등

     

  • ?
    인코더하수 2020.01.09 09:13

    집을 이사하느라.. 정신이 없어서 이제 답변을 보았습니다.

     

    정성 담긴 답변 진심으로 감사드립니다.. 

     

    선생님, 새해 복 많이 받으시고 만사형통 하시길 기도합니다.

     

    다시 한번 진심으로 감사합니다.

     

    알려주신 내용 열심히 공부하겠습니다 ^_^


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
공지 샤나 사이트 일시 접속 불가 안내 Rina 2024.04.11 1443 0
공지 소리를 4가지로 분리하는 샤나보컬리무버 프로그램을 소개합니다. Rina 2024.03.22 4070 4
공지 샤나인코더 통합 검색 기능 개선(샤나인코더 우측 상단에 있는 검색창을 사용해 보세요.) Rina 2021.09.30 18916 2
공지 자유게시판에서는 자유롭게 글을 작성할 수 있지만 다음과 같은 내용은 삭제돼요 Rina 2020.03.18 16660 5
공지 일반 [필독] 질문 전에 반드시 읽으세요!!! 3 file JKyle 2019.09.16 33018 6
공지 일반 [알림] 질문 먹튀하지 마시기 바랍니다 => 본문 변경 금지 23 JKyle 2018.10.12 28693 16
2870 질문 hevc(지포스) 셋팅 방법좀 알려주세요 3 크크루삥뽕 2022.10.01 2065 0
2869 질문 RTX 4090 4080 AV1 인코딩 디코딩 지원이라는데요? 8 핀다 2022.09.29 4431 0
2868 질문 vc-133rm 이라는 차량용 모니터 아시는분 계실까요? 1 곤니숑와 2022.09.29 952 0
2867 질문 샤나인코더로 움직임 60프레임으로 하려고 그러는데요 1 실브2222 2022.09.28 1188 0
2866 질문 TV에 맞는 형식으로 용량을 줄이고 싶습니다 3 file AE86TRUENO 2022.09.27 1150 0
2865 일반 rtx 4080, 4090은 nvenc가 2개랍니다. 2 file turquoise 2022.09.25 1705 0
2864 질문 멀쩡하던 것이 갑자기 계속 오류가 나옵니다 2 file 두껍고길고오래오래 2022.09.21 975 0
2863 질문 5.2.2.2설치가 안됩니다ㅠ 5 file 유과 2022.09.19 952 0
2862 질문 인코딩 중 안나던 오류가 갑자기 납니다 ㅠㅠ 1 최쥰 2022.09.12 1146 0
2861 질문 기존 프리셋을 확장자와 사이즈만 바꾸면 화질 저하 없을까요? 1 지니 2022.09.11 1308 0
2860 일반 개선 건의) 단축키를 늘려 주세요 1 JKyle 2022.09.10 661 0
2859 질문 hdr로 재인코딩 하려면 여기서 어떻게 2 file nodmaina 2022.09.09 1082 0
2858 일반 개선 건의) 빠른 설정의 'HDR을 SDR로 톤 매핑' 옵션 1 JKyle 2022.09.06 1350 2
2857 일반 버그 보고) 영상 사이즈 변경 12 file JKyle 2022.09.06 1445 0
2856 질문 비디오, 오디오 인코딩없이 영상에 자막을 입힐수 있나요? 5 netin55 2022.09.03 2228 0
2855 질문 기존 오디오 트랙을 유지한채 다운믹스된 오디오 채널을 추가하고 싶습니다. 3 tkm 2022.09.03 723 0
2854 질문 파일 추가가 되지 않습니다.ㅠㅠ 2 2022.09.01 810 0
2853 일반 인코딩 '일시 정지'후 '다시 시작'시 인코딩 속도 저하 현상..? 1 믠수 2022.08.31 826 0
2852 질문 인코딩 문의ㅠㅠ 2 밀쿠 2022.08.30 639 0
2851 질문 샤나인코더로 30프레임인 영상을 24프레임으로 인코딩하면 어색하게되나요? 1 akaksk12 2022.08.26 1458 0
Board Pagination Prev 1 ... 13 14 15 16 17 18 19 20 21 22 ... 161 Next
/ 161