異なる開始時間からビデオ ファイル (.mp4) をストリーミングしたい。
のために例ビデオのtest.mkv
ようなファイルを分単位でストリーミングしたいのですが、rtmp サーバーにストリーミングすると、ビデオは開始されずにムービーから開始されます。
00:02:30
test.mkv
00:02:30
注記: そんなに長く待ちたくないので、コマンドで Enter キーを押した直後から開始したいのでffmpeg
、using などの回答は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
。