【发布时间】:2018-07-07 07:48:24
【问题描述】:
我开始对视频更加认真。我正在将我在完全更新的 Linux 中使用 ffmpeg 的视频处理成 mp4,以便直接在 HTML5 中使用。
现在,我有旧的 AVI 视频,我想使用 ffmpeg 将其转换为 mp4 以用于 HTML5。特别是我有这个:
(我知道,质量很差……抱歉)。根据ffprobe:
Duration: 00:01:35.30, start: 0.000000, bitrate: 1284 kb/s
Stream #0:0: Video: mpeg4 (Simple Profile) (DX50 / 0x30355844), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 1144 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16p, 128 kb/s
这看起来很完美:mpeg4 视频和 mp3 音频。所以我尝试了:
ffmpeg -i input.avi -acodec copy -vcodec copy output.mp4
它生成的文件在mplayer 中播放良好,但在firefox 中却没有出现错误:
Video format or MIME type not supported.
Chrome 播放音频,但没有显示视频...现在,如果我这样做:
ffmpeg -i input.avi output.mp4
firefox 可以工作,但视频被重新编码为另一个大小的一半(比特率的一半)。这就是ffprobe 对重新编码视频的评价:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.71.100
Duration: 00:01:35.30, start: 0.000000, bitrate: 685 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 548 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
我想我失去了很多质量(以及处理视频的时间)。所以,我的问题:
-
为什么浏览器不使用
copy编解码器播放我的视频? -
我可以在这个特定文件中使用
ffmpeg而无需重新编码吗?如果是,怎么做? -
如果我需要重新编码,哪些是“合理”的参数以保持接近原始质量?会像
ffmpeg -i input.avi -b:v 1024k -bufsize 1024k output.mp4
这个视频够了吗?这会生成一个尺寸更接近原始视频的新视频。
谢谢!
【问题讨论】:
标签: ffmpeg html5-video video-encoding