使用 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

相關內容