비디오의 특정 시간부터 ffmpeg를 사용하여 mp4 파일 스트리밍

비디오의 특정 시간부터 ffmpeg를 사용하여 mp4 파일 스트리밍

다른 시작 시간의 비디오 파일(.mp4)을 스트리밍하고 싶습니다.

을 위한비디오 처럼 test.mkv분 단위로 파일을 스트리밍하고 싶습니다 . 그래서 rtmp 서버로 스트리밍하면 비디오가 시작 되지 않고 영화부터 시작됩니다. 00:02:30test.mkv00:02:30메모: 그렇게 오래 기다리고 싶지 않고, ffmpeg명령에서 엔터를 누른 직후부터 시작하고 싶기 때문에, 사용과 같은 답변은 cronjob유용하지 않습니다.

ffmpeg내가 사용하는 명령 은 다음과 같습니다 .

ffmpeg -i test.mkv -pix_fmt yuv420p -vsync 1 -threads 0 -vcodec libx264 -r 30 -g 60 -sc_threshold 0 -b:v 512k -bufsize 640k -maxrate 640k -preset veryfast -profile:v baseline -tune film -acodec aac -b:a 128k -ac 2 -ar 48000 -af "aresample=async=1:min_hard_comp=0.100000:first_pts=0" -bsf:v h264_mp4toannexb -f flv rtmp://test.server.com

메모:

명령 개선에 대한 제안 사항이 있으면 ffmpeg감사하겠습니다.

답변1

플래그인 것 같지만 -ss어떻게든 약간의 팁이 있으므로 작동합니다. -i작동하려면 인수 앞에 배치해야 합니다 . 예를 들어 추가하면 매우 간단 -ss 150합니다. 비디오 시작 후 150초부터 시작됩니다. 따라서 위 명령은 다음과 같습니다.

ffmpeg -ss 150 -i test.mkv -pix_fmt yuv420p -vsync 1 -threads 0 -vcodec libx264 -r 30 -g 60 -sc_threshold 0 -b:v 512k -bufsize 640k -maxrate 640k -preset veryfast -profile:v baseline -tune film -acodec aac -b:a 128k -ac 2 -ar 48000 -af "aresample=async=1:min_hard_comp=0.100000:first_pts=0" -bsf:v h264_mp4toannexb -f flv rtmp://test.server.com

메모:

-ss인수 앞에 놓으십시오 -i.

관련 정보