본문 바로가기

live5555

[bmNVR] LIVE555 (ubuntu 20.04) 빌드 목차 1. LIVE555 다운로드busyman@busyman:~/play/bmNVR$ mkdir libbusyman@busyman:~/play/bmNVR$ cd lib/busyman@busyman:~/play/bmNVR/lib$ lsbusyman@busyman:~/play/bmNVR/lib$ mkdir LIVE555busyman@busyman:~/play/bmNVR/lib$ cd LIVE555/busyman@busyman:~/play/bmNVR/lib/LIVE555$ wget http://www.live555.com/liveMedia/public/live.2023.07.24.tar.gz--2023-08-12 09:40:33-- http://www.live555.com/liveMedia/public/li.. 2026. 4. 12.
[NVR 만들기] H.265 지원 H.264를 기본으로 보통 사용하지만 압축효율이 좋은 H.265도 많이 쓴다. 한정된 저장 공간 안에 많은 일 수의 영상을 저장하기 위해서는 당연히 압축 효율이 좋은 것이 최고다. LIVE555에서도 H.265 Transport Stream을 지원한다. bmNVR을 하면서 사용했던 testH264VideoToTransportStream와 동일한 형태의 testH265VideoToTransportStream가 sample program으로 포함되어 있다. 파일을 열어보면 라인 수도 동일하다. 차이점은 H264VideoStreamFramer를 쓰느냐 H265VideoStreamFramer를 쓰느냐의 차이다. H.264와 H.265는 NAL Type에서 달라 구분이 쉽다. 이 정보를 기반으로 어떤 Framer.. 2023. 9. 2.
[bmNVR] 수신한 데이터를 받을 Source 만들기 (ByteStreamMemoryBufferSource 참조) 앞서 테스트 프로그램으로 사용한 ts 파일을 만드는 프로그램 소스는 간단하다. RTSPClient 테스트 프로그램으로 저장한 H.264 파일을 넣으면 ts 파일을 출력해 준다. 소스도 손바닥 정도로 짤막하다. 대신, 파일을 소스로 하여 ByteStreamFileSource를 사용한다. 우리는 파일이 아닌 RTSPClient로 받은 Stream Data를 바로 전달해야 하므로 적합하지는 않다. 십여 년 전 dshow를 사용할 때는 Shared Memory를 사용하여 Sink / Source filter를 만들어 사용했는데 LIVE555에는 ByteStreamMemoryBufferSource를 제공한다. 이 클래스를 사용하면 간단하게 해결 가능할 것 같다. testH264VideoToTransportStre.. 2023. 9. 1.
[bmNVR] QT 기반으로 옮기기 한때, MFC를 많이 사용했다. 내가 느끼기에 MFC의 전성기는 Visual C++ 6.0이다. 손쉽게 윈도우즈 프로그래밍 가능했고 요즘은 다양한 편집기가 있지만, Visual C++ IDE는 편집기로써도 우수했다. 그러나 세상이 바뀌면서 좋은 도구가 많이 나오고 프로그래밍 언어도 늘어나면서 MFC의 가치는 떨어졌다. 전적으로 나의 개인적인 생각이다. 그에 반해 QT는 강력한 것 같다. 리눅스 시절, X상에서 UI 프로그래밍을 할 때 접했지만 큰 관심이 없어 지나갔던 QT였는데 OS에 상관없이 사용가능한 훌륭한 라이브러리가 되었다. ‘OS independent’라는 말은 그 자체로 효과적이다. 스크립트 언어의 장점 중의 하나가 OS에 상관없이 사용할 수 있다는 것인데 QT 또한 그와 같다. 또한, QT라.. 2023. 8. 30.