Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- aws
- kotlin
- 정보처리기사 실기
- kotlin querydsl
- 코틀린 코루틴의 정석
- APM
- CKA 기출문제
- Pinpoint
- 정보처리기사 실기 기출문제
- Java
- Spring
- CKA
- AWS EKS
- 오블완
- minikube
- Elasticsearch
- Kubernetes
- mysql 튜닝
- kotlin coroutine
- PETERICA
- Linux
- IntelliJ
- AI
- 티스토리챌린지
- kotlin spring
- 공부
- CloudWatch
- 정보처리기사실기 기출문제
- 기록으로 실력을 쌓자
- MySQL
Archives
- Today
- Total
피터의 개발이야기
[Docker] linux/ffmpeg을 이용한 무배포, ffmpeg 테스트 방법 본문
반응형
ㅁ 들어가며
Transcoding, ffmpeg 기본 사용법에서 ffmpeg, Docker로 무설치 사용하기에 대해서 간단히 정리해 보았다. 현재 Docker 환경에서 ffmpeg을 이용한 개발 중인데, OS(Rocky9, Ubuntu)와 ffmpeg의 버젼에 따라서 여러가지 문제가 발생하여 트러블 슈팅을 하면서 알게 된 내용을 정리해 보았다.
ㅁ 기본 사용법
docker run -it --rm linuxserver/ffmpeg:latest -version
ㅇ linuxserver/ffmpeg는 이미 ffmpeg이 endpoint로 지정되어 있어서, 옵션만 전달하면 된다.
ㅇ 반대로, 이 이미지를 통해 bash로 실행되지는 않았다.
ㅁ 특정 버전의 ffmpeg 테스트
docker run -it --rm linuxserver/ffmpeg:5.1.2 -version
ㅇ 이미지의 버전정보를 변경하여 원하는 버젼에 맞추어 테스트 할 수 있다.
ㅁ 작업 폴더 설정
docker run -it --workdir /data -v $(pwd):/data --rm linuxserver/ffmpeg:latest
ㅇ --workdir, -w 옵션으로 컨테이너 작업 폴더를 지정할 수 있다.
ㅇ -v 옵션으로 host의 특정 폴더와 /data 작업 폴더를 연결하여 사용할 수 있다.
ㅁ 5초 이후로 영상 짜르기
docker run -it --rm \
--workdir /data \
-v $(pwd):/data \
linuxserver/ffmpeg:latest -ss 00:00:5.000 -i video.mp4 -c copy trimmed_video.mp4
ㅁ 샘플 작업 예시
docker run -it --rm \
--name=linux-ffmpeg \
-w /hls -v .:/data \ # 작업 공간 적용
--platform linux/amd64 \ # 맥북 arm 충돌 해소
linuxserver/ffmpeg:5.1.2 \ # ffmpeg 버젼에 따라 이미지 설정
-i http://{url 생략}/livestream/playlist.m3u8 \ # 소스 url
-strict experimental -re -use_wallclock_as_timestamps 1 \
-avioflags direct -probesize 32 -isync 0 -thread_queue_size 10 \
-vn -ac 2 -acodec mp3 -af asetpts=PTS -fflags +nobuffer+igndts+nofillin \
-flags +global_header -y -reconnect 1 -reconnect_on_network_error 1 \
-reconnect_streamed 1 -reconnect_at_eof 1 \
-reconnect_on_http_error 1 -f hls -hls_start_number_source datetime \
-hls_time 10 -hls_list_size 5 -hls_delete_threshold 10 \
-hls_flags delete_segments+independent_segments+discont_start -strftime 1 \
-hls_segment_filename /data/play-%Y%m%d-%H%M%S.ts \
-muxdelay 0 -copyts -start_at_zero /data/playlist.m3u8
ㅁ 함께 보면 좋은 사이트
반응형
'DevOps > Docker' 카테고리의 다른 글
[Docker] 도커파일의 EXPOSE와 "docker run -p" 명령의 차이점 (0) | 2025.01.08 |
---|---|
[Docker] Ubuntu:22.04에 ffmpeg 설치 방법 (0) | 2025.01.08 |
[Docker] Docker Run 명령어 정리 (1) | 2025.01.07 |
[Docker] MacOS에서 Docker 로그 파일 위치 찾기 (0) | 2025.01.07 |
Trivy: 컨테이너 이미지 취약점 스캐너 사용법 (1) | 2025.01.04 |
Comments