ffmpeg 를 이용하여 영상을 받고 파일로 저장하는건데요.
스트리밍 영상(hls, rtsp) 영상을 받을 때 보통 저는
ffmpeg -i url -c copy output.ts
이런식으로 저장하거든요.여기까진 아무 무리없이 잘됩니다.
근데 2개의 영상을 받고 싶으면 cmd 창을 2개 키고 받아야 하는 번거로움이 있어서
cmd창 하나만 키고 하나의 커맨드라인으로 여러개의 영상을 받고 싶습니다.
이것저것 고민하다가 인코딩 할 때 다중작업 하던게 생각나서
ffmpeg -i url1 -c copy output1.ts -i url2 -c copy output2.ts
이런식으로 해봤더니 파일은 output1.ts , output2.ts 이렇게 생기는데 파일 내용은 둘다 input1의 내용만 들어있습니다.
한 개의 cmd 창에서 한 줄의 커맨드라인으로 여러개의 영상을 한 번에 저장하는 방법이 있을까요?
여기 참고해보세요.
ffmpeg -i ..... ; ffmpeg -i .... 이런식으로요
근데 스트림 에러도 작렬하네요!!!!!! ㅠㅠ
순차적으로 하신다면 요렇게 하시면 되실듯하네요. 파일이 많으시다면,,
list.txt 파일에다가 받으실 url 주소 각 줄마다 다음형식으로
주소A|1
주소B|2
주소C|3
해서 저장.
뒤에 숫자는 out풋하실 이름정의내리고자 준값입니다. 암거나 해도되시되 형식은 유지.
아래 배치파일내용으로 메모장 cmd 로 저장.
@echo off
color 1f
pushd %~dp0
setlocal EnableDelayedExpansion
For /F "tokens=1,2 delims=|" %%a in (list.txt) Do (
set url="%%a"
set num="%%b"
ffmpeg.exe -i !url! -c copy out!num!.ts
)
endlocal
echo 작업을 완료하였습니다. 아무키나 누르면 종료합니다.
pause >nul
단순히 파일 다운로드 하는건 상관없는데
영상이 끝나지 않는 실시간 스트리밍 같은 경우는 강제적으로 첫 번째 영상을 종료해줘야 다음 url 로 넘어가더라구요. 제가 원하는건 실시간 스트리밍 url1,url2,url3 을 동시에 저장하려고 하는거라 ㅠㅠ
/Vollago
Start-Job -Scriptblock {ffmpeg -i url1 -c copy output1.ts }; Start-Job -Scriptblock {ffmpeg -i url2 -c copy output2.ts }