如何以秒为单位获得视频时长?
我试过的:
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) 我正在处理一个视频托管项目,我想知道我是否以正确的方式转换了我的视频质量。
我的方程是:newY=(y/x)*newX
所以 1080p 是:
1080x460
than 720p
720x306
...
480x204
360x154
240x102
144x60
Run Code Online (Sandbox Code Playgroud)
我的问题是 360 及以下版本质量很差。将其与 youtube 进行比较,我想知道他们是否真的在更改视频分辨率或只是更改 kb/s?
我刚刚购买了一台配备两个 Intel E5-2695 处理器的新服务器,但惊讶地发现 FFmpeg 或 Ubuntu 并未利用所有内核。
top这是FFmpeg 运行时的输出:
top - 23:35:25 up 2:41, 2 users, load average: 5.35, 4.37, 3.12
Tasks: 333 total, 2 running, 331 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.0 us, 1.0 sy, 35.6 ni, 63.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.7 sy, 35.5 ni, 63.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.7 sy, 33.4 ni, 65.9 id, …Run Code Online (Sandbox Code Playgroud) 我正在使用 ffmpeg 将我的视频转换为 H.264/MP4。然后我用 将 moov atom 移动到文件的开头qt-faststart,这样我就可以流式传输视频了。
对于 5-10 分钟的小视频,一切正常,但对于 1-2 小时的大视频,开始播放可能需要很长时间。它加载了 6-10 MB 并且我只能开始播放视频。
对于 FLV 视频,情况并非如此;无论视频有多大,它都会立即播放。我该如何解决?