이번에는 지난 번 글에 이어서, 명령 라인 처리를 옮기는 과정만 기록한다. 역시 짧은 글이 될 것 같다.
https://craftsmanship.tistory.com/109
명령 라인 처리 부분 옮기기
C영역의 remux() 함수를 원래의 main()에서 옮기다 보니, 명령 라인 처리도 이 함수에서 하고 있다. 그러므로, 이 처리는 C++영역의 main()으로 옮기는 것이 맞다.
remux() 함수의 인자를 입력파일 이름과 출력파일 이름을 받도록 변경한다.
int remux(const char *in_filename, const char *out_filename)
{
...
}
main() 함수에서는 remux() 함수에서 처리하던 명령 라인 처리하는 부분을 가져온다.
#include <cstdio>
int main(int argc, char* argv[]) {
if (argc < 3)
{
printf("usage: %s input output\n"
"API example program to remux a media file with libavformat and libavcodec.\n"
"The output format is guessed according to the file extension.\n"
"\n",
argv[0]);
return 1;
}
return remux(argv[1], argv[2]);
}
소스 저장소
작성한 코드는 깃헙에 업데이트한다.
https://github.com/moonyl/rtsp-to-web-live/tree/cmdline
'잡(job)기술 > ffmpeg 라이브러리' 카테고리의 다른 글
DASH 미디어 생성할 때, segment와 fragment (0) | 2022.07.28 |
---|---|
Remux 클래스로 전환 (0) | 2022.04.06 |
remuxing.c 를 c++로 wrapping하기 (0) | 2022.03.30 |
remuxing.c 빌드하기 (0) | 2022.03.28 |
av_frame_free에 대한 고찰 (0) | 2018.03.13 |