• 파일시티 이벤트
  • LF몰 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

[C++] Nvidia Video Codec SDK를 이용한 NV12(YUV420SP) H264 인코더/디코더

*민*
개인인증판매자스토어
최초 등록일
2021.11.24
최종 저작일
2021.11
파일확장자 압축파일
가격 10,000원 할인쿠폰받기
다운로드
장바구니

소개글

Nvidia Video Codec SDK를 이용하여 인코더 및 디코더를 구현한 프로그램 소스코드입니다.
NV12(YUV420SP) Color Format으로 저장되어 있는 영상 스트림을 Nvidia Video Codec SDK를 사용하여 H264 Codec으로 인코딩하는 인코더와
H264 Codec으로 인코딩되어 있는 영상 스트림을 Nvidia Video Codec SDK를 사용하여 NV12(YUV420SP) Color Format으로 디코딩하는 디코더로 구성되어 있습니다.
인코딩/디코딩에 필요한 영상 샘플이 준비되어 있으니, 코드를 바로 빌드하시어 눈으로 확인이 가능합니다.

Nvidia Video Codec SDK가 지원하는 Color Format(YUV420, RGB 등) 및 Codec(H264, HEVC)이 다양하기 때문에 일부 소스코드 및 파라미터를 수정하면 원하는 포맷으로 인코딩/디코딩이 가능합니다.

Nvidia Video Codec SDK에 기록되어 있는 인코더/디코더 샘플이 범용적이기 때문에 필요 이상으로 코드 규모가 많습니다.
어느정도 코덱 구현에 대한 지식이 있다면, Nvidia Video Codec SDK를 직접 보고 코딩을 하는 것이 나을 것으로 생각되며, 초보적인 수준이라면 본 프로젝트가 큰 도움이 될 것입니다.

개발환경이 동일하다면 빌드에 큰 문제는 없을 것이나, 환경 문제로 인한 빌드에러 발생시, 대응을 위하여 Library(lib파일 Link) 참조 역량을 필요로 합니다.

컴파일 실행환경

Visual Sudio 2019, CUDA 11.0, Nvidia Video Codec SDK 11.1.5

압축파일 내 파일목록

Readme.txt
Transcoder.sln
Transcoder/
Transcoder/Codec/
Transcoder/Codec/Decoder.cpp
Transcoder/Codec/Decoder.h
Transcoder/Codec/Encoder.cpp
Transcoder/Codec/Encoder.h
Transcoder/include/
Transcoder/include/libavcodec/
Transcoder/include/libavcodec/avcodec.h
Transcoder/include/libavcodec/bsf.h
Transcoder/include/libavcodec/codec.h
Transcoder/include/libavcodec/codec_desc.h
Transcoder/include/libavcodec/codec_id.h
Transcoder/include/libavcodec/codec_par.h
Transcoder/include/libavcodec/packet.h
Transcoder/include/libavcodec/version.h
Transcoder/include/libavformat/
Transcoder/include/libavformat/avformat.h
Transcoder/include/libavformat/avio.h
Transcoder/include/libavformat/version.h
Transcoder/include/libavutil/
Transcoder/include/libavutil/attributes.h
Transcoder/include/libavutil/avconfig.h
Transcoder/include/libavutil/avutil.h
Transcoder/include/libavutil/buffer.h
Transcoder/include/libavutil/channel_layout.h
Transcoder/include/libavutil/common.h
Transcoder/include/libavutil/cpu.h
Transcoder/include/libavutil/dict.h
Transcoder/include/libavutil/error.h
Transcoder/include/libavutil/frame.h
Transcoder/include/libavutil/hwcontext.h
Transcoder/include/libavutil/intfloat.h
Transcoder/include/libavutil/log.h
Transcoder/include/libavutil/macros.h
Transcoder/include/libavutil/mathematics.h
Transcoder/include/libavutil/mem.h
Transcoder/include/libavutil/opt.h
Transcoder/include/libavutil/pixfmt.h
Transcoder/include/libavutil/rational.h
Transcoder/include/libavutil/samplefmt.h
Transcoder/include/libavutil/version.h
Transcoder/include/libswresample/
Transcoder/include/libswresample/swresample.h
Transcoder/include/libswresample/version.h
Transcoder/lib/
Transcoder/lib/avcodec-58.dll
Transcoder/lib/avcodec.lib
Transcoder/lib/avformat-58.dll
Transcoder/lib/avformat.lib
Transcoder/lib/avutil-56.dll
Transcoder/lib/avutil.lib
Transcoder/lib/nvcuvid.lib
Transcoder/lib/nvencodeapi.lib
Transcoder/lib/swresample-3.dll
Transcoder/lib/swresample.lib
Transcoder/main.cpp
Transcoder/NvDec/
Transcoder/NvDec/cuviddec.h
Transcoder/NvDec/FFmpegDemuxer.h
Transcoder/NvDec/NvCodecUtils.h
Transcoder/NvDec/nvcuvid.h
Transcoder/NvDec/NvDecoder.cpp
Transcoder/NvDec/NvDecoder.h
Transcoder/NvEnc/
Transcoder/NvEnc/NvEncodeAPI.h
Transcoder/NvEnc/NvEncoder.cpp
Transcoder/NvEnc/NvEncoder.h
Transcoder/NvEnc/NvEncoderCuda.cpp
Transcoder/NvEnc/NvEncoderCuda.h
Transcoder/Sample/
Transcoder/Sample/sample_nv12_1920x1080_60fps_1s.yuv
Transcoder/Transcoder.vcxproj
Transcoder/Transcoder.vcxproj.filters
Transcoder/Transcoder.vcxproj.user
Transcoder/x64/
Transcoder/x64/Debug/
Transcoder/x64/Debug/Decoder.obj
Transcoder/x64/Debug/Encoder.obj
Transcoder/x64/Debug/main.obj
Transcoder/x64/Debug/NvDecoder.obj
Transcoder/x64/Debug/NvEncoder.obj
Transcoder/x64/Debug/NvEncoderCuda.obj
Transcoder/x64/Debug/Transcoder.exe.recipe
Transcoder/x64/Debug/Transcoder.ilk
Transcoder/x64/Debug/Transcoder.log
Transcoder/x64/Debug/Transcoder.tlog/
Transcoder/x64/Debug/Transcoder.tlog/CL.command.1.tlog
Transcoder/x64/Debug/Transcoder.tlog/CL.read.1.tlog
Transcoder/x64/Debug/Transcoder.tlog/CL.write.1.tlog
Transcoder/x64/Debug/Transcoder.tlog/link.command.1.tlog
Transcoder/x64/Debug/Transcoder.tlog/link.read.1.tlog
Transcoder/x64/Debug/Transcoder.tlog/link.write.1.tlog
Transcoder/x64/Debug/Transcoder.tlog/Transcoder.lastbuildstate
Transcoder/x64/Debug/Transcoder.tlog/Transcoder.write.1u.tlog
Transcoder/x64/Debug/vc142.idb
Transcoder/x64/Debug/vc142.pdb
Transcoder/x64/Release/
Transcoder/x64/Release/Decoder.obj
Transcoder/x64/Release/Encoder.obj
Transcoder/x64/Release/main.obj
Transcoder/x64/Release/NvDecoder.obj
Transcoder/x64/Release/NvEncoder.obj
Transcoder/x64/Release/NvEncoderCuda.obj
Transcoder/x64/Release/Transcoder.log
Transcoder/x64/Release/Transcoder.tlog/
Transcoder/x64/Release/Transcoder.tlog/CL.command.1.tlog
Transcoder/x64/Release/Transcoder.tlog/CL.read.1.tlog
Transcoder/x64/Release/Transcoder.tlog/CL.write.1.tlog
Transcoder/x64/Release/Transcoder.tlog/link.command.1.tlog
Transcoder/x64/Release/Transcoder.tlog/link.read.1.tlog
Transcoder/x64/Release/Transcoder.tlog/link.write.1.tlog
Transcoder/x64/Release/Transcoder.tlog/Transcoder.lastbuildstate
Transcoder/x64/Release/Transcoder.tlog/Transcoder.write.1u.tlog
Transcoder/x64/Release/vc142.pdb
x64/
x64/Debug/
x64/Debug/avcodec-58.dll
x64/Debug/avformat-58.dll
x64/Debug/avutil-56.dll
x64/Debug/Transcoder.exe
x64/Debug/Transcoder.exp
x64/Debug/Transcoder.ilk
x64/Debug/Transcoder.lib
x64/Debug/Transcoder.pdb
x64/Release/
x64/Release/avcodec-58.dll
x64/Release/avformat-58.dll
x64/Release/avutil-56.dll
x64/Release/Transcoder.exe
x64/Release/Transcoder.exp
x64/Release/Transcoder.iobj
x64/Release/Transcoder.ipdb
x64/Release/Transcoder.lib
x64/Release/Transcoder.pdb

참고 자료

없음
*민*
판매자 유형Bronze개인인증

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
최근 본 자료더보기
탑툰 이벤트
[C++] Nvidia Video Codec SDK를 이용한  NV12(YUV420SP) H264 인코더/디코더
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
AI 챗봇
2024년 06월 02일 일요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
8:06 오후
New

24시간 응대가능한
AI 챗봇이 런칭되었습니다. 닫기