본문 바로가기

전체 글61

아이템을 컨테이너의 중앙에 배치하기 카메라의 PTZ 기능을 웹페이지를 통해 제어할 수 있는 기능을 구현하면서, CSS에 대해서 조금씩 공부해가고 있다. 개발하다 보니 많이 사용해야 할 기법인 것 같아서 정리해놓을 필요가 있을 것 같다. CSS에 position이라는 속성이 있다. 자세한 설명은 다음 링크를 참조하면 된다. https://developer.mozilla.org/ko/docs/Web/CSS/position position - CSS: Cascading Style Sheets | MDN CSS position 속성은 문서 상에 요소를 배치하는 방법을 지정합니다. top (en-US), right (en-US), bottom (en-US), left (en-US) 속성이 요소를 배치할 최종 위치를 결정합니다. developer.m.. 2022. 8. 12.
DASH 미디어 생성할 때, segment와 fragment 구글에서 DASH라고 검색을 하면 원하는 자료가 잘 나오지 않는다. MPEG-DASH 혹은 DASH streaming 등으로 검색을 하면 제대로 검색을 할 수 있는 것 같다. DASH가 어떤 표준이고, 어디에 사용되는지 등의 내용을 구글링에 맡긴다. DASH 나 HLS 방식의 미디어는 다른 미디어와는 다르게 파일이 쪼개어 구성이 된다. 그래서 segment니, fragment라는 말을 자주 보게 되는 것 같다. segment는 DASH의 특성이며, 웹을 통해 다운로드하게 되는 최소의 단일 파일을 의미한다. mp4 포멧으로 생성한다면 m4s라는 확장자로 저장되는 파일을 말한다. 마지막에 s가 의미하는 것이 아마도 segment 의 약자일 것 같다. 이 파일이 생성되는 기준은 일반적으로 duration 이라.. 2022. 7. 28.
visual studio에서 사용할 수 있는 gRPC 개발 환경 만들기 이 문서의 최신 버전은 다음에서 관리한다. https://craftsmanship.tistory.com/112 visual studio에서 사용할 수 있는 gRPC 개발 환경 만들기 이 문서의 최신 버전은 다음에서 관리한다. gRPC 툴을 빌드하는 설명은 아래의 링크에서 확인할 수 있다. https://github.com/grpc/grpc/blob/master/BUILDING.md#build-from-source GitHub - grpc/grpc: The C ba.. craftsmanship.tistory.com gRPC 툴을 빌드하는 설명은 아래의 링크에서 확인할 수 있다. https://github.com/grpc/grpc/blob/master/BUILDING.md#build-from-source G.. 2022. 6. 27.
Remux 클래스로 전환 드디어, 본격적인 C++ 프로그래밍을 할 차례이다. 우선 리소스 할당 문제부터 정리할 필요가 있다. remux() 함수는 goto 문을 이용해서 깔끔하게 리소스 문제를 해결하고 있다. 그러나, goto로 인한 제어루틴의 변경은 코드 따라가기를 상당히 힘들게 한다. remux 과정을 클래스로 묶음으로써 리소스 해제를 좀 더 C++스럽게 완료할 수 있다. remux() 함수를 Remux 라는 클래스로 포팅하는 과정을 이 글에서 정리한다. 지난 번 글의 소스 코드에서 시작한다. https://craftsmanship.tistory.com/110 명령 라인 처리 옮기기 이번에는 지난 번 글에 이어서, 명령 라인 처리를 옮기는 과정만 기록한다. 역시 짧은 글이 될 것 같다. https://craftsmanship.. 2022. 4. 6.
명령 라인 처리 옮기기 이번에는 지난 번 글에 이어서, 명령 라인 처리를 옮기는 과정만 기록한다. 역시 짧은 글이 될 것 같다. https://craftsmanship.tistory.com/109 remuxing.c 를 c++로 wrapping하기 이번 글은 굉장히 간단할 것 같다. C 언어로 작성된 내용을 C++에서 링크에서 사용하는 것은 다른 언어에 비해 아주 쉽다. 지난 번 글에서 이용한 remuxing.c 에 있는 main 함수를 C++에서 사용할 수 있 craftsmanship.tistory.com 명령 라인 처리 부분 옮기기 C영역의 remux() 함수를 원래의 main()에서 옮기다 보니, 명령 라인 처리도 이 함수에서 하고 있다. 그러므로, 이 처리는 C++영역의 main()으로 옮기는 것이 맞다. remux().. 2022. 4. 1.