我正在使用ffmpeg像这样剪切大文件的一部分:
ffmpeg -i input.wmv -ss 60 -t 60 -acodec copy -vcodec copy output.wmv
Run Code Online (Sandbox Code Playgroud)
该-ss部分工作正常,但-t被忽略。它正确地删除了指定的初始指定秒数,-ss然后继续使用副本到达输入的末尾。
有没有办法在ffmpeg不重新编码的情况下切断视频的结尾?
如何以秒为单位获得视频时长?
我试过的:
ffmpeg -i file.flv 2>&1 | grep "Duration"
Duration: 00:39:43.08, start: 0.040000, bitrate: 386 kb/s
mediainfo file.flv | grep Duration
Duration : 39mn 43s
Run Code Online (Sandbox Code Playgroud)
这是什么接近,但它不是那么准确,2383 是 39.71 分钟
ffmpeg -i file.flv 2>&1 | grep "Duration"| cut -d ' ' -f 4 | sed s/,// | sed 's@\..*@@g' | awk '{ split($1, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] }'
2383
Run Code Online (Sandbox Code Playgroud)