已掉线,重新登录

首页 > 绿虎论坛 > 杂类 > 超级灌水 (发帖)

标题: MP4和MKV的区别

作者: @Ta

时间: 2022-05-03发布,2022-05-03修改

点击: 718

MP4和MKV都是视频封装格式,MKV是开源的封装格式,
同样是封装,微信、QQ及老虎林,MKV不能直接播放,
MP4封装兼容性更好,或者说常用软件都当作视频显示,
MKV待遇就不一样了,MKV好多地方直接当作文件下载。

[隐藏样式|查看源码]


『回复列表(27|隐藏机器人聊天)』

1. @老虎会游泳 ,我记得你不是说过,无所谓,h.256 才重要吗
(/@Ta/2022-05-03 16:14//)

3.
iPhone13 PRO MAX 1T 国行远峰蓝 非海南免税版
(/@Ta/2022-05-03 18:10//)

4.

@爱特,因为浏览器确实不支持MKV封装啊

视频链接

图片.png

(/@Ta/2022-05-04 01:22//)

5.

@胡椒舰长,h.265是视频数据的格式,视频数据要和音频数据交织在一起,保存在一个文件里,才能拿来发给别人。单独的视频和音频裸数据流确实也可以逐字节保存成文件,但是视频和音频就只能分开保存了,用起来不方便。所以网上流传的一般都是封装好的视频文件。

mp4(实际名称是“ISO Base Media File Format”,ISO基础媒体文件格式,ISO 14496-12)就是这样一种可以封装视频和音频流的文件格式。

mkv(Matroska)是另一种封装文件格式。

两者都可以封装h.265,并且可以是完全相同的h.265流。用ffmpeg命令的-codec copy指令就能实现转封装:

ffmpeg -i my.mp4 -codec copy my.mkv
ffmpeg -i my.mkv -codec copy my2.mp4

但是,如果某个程序不支持某种封装格式,就没办法把视频和音频流从封装中提取出来,就算里面封装的是它支持的H.264,它也无法播放。


Mozilla 维护了一个详尽的音视频编解码器和容器文件格式文档:
https://developer.mozilla.org/zh-CN/docs/Web/Media/Formats/Video_codecs

图片.png

(/@Ta/2022-05-04 03:59//)

6.

所以,浏览器要实现mkv播放,就必须加载一个解封装用的js(浏览器必须支持媒体源扩展,否则也没用)。flv有这样的js(B站开发的flv.js),所以现在可以在虎绿林播放。

(/@Ta/2022-05-03 23:28//)

7. @老虎会游泳,YouTube的在线视频IDM下载下来就是MKV格式的。
(/@Ta/2022-05-03 23:28//)

8.

@爱特@胡椒舰长,这里说webm格式是MKV格式的子集,所有有可能可以通过把MIME类型设为video/webm来实现播放。我试试。

https://github.com/videojs/video.js/issues/5910

(/@Ta/2022-05-03 23:31//)

9.

@爱特,因为webm格式是MKV格式的子集,所以你下载下来的格式应该是webm,当然从逻辑上来说它也是mkv,但是两者的MIME类型不同,浏览器只识别video/webm

(/@Ta/2022-05-03 23:32//)

10.
(/@Ta/2022-05-03 23:34//)

11. @老虎会游泳,YouTube的在线播放器是支持MKV视频的。
xiaoqidun_2022-05-03_23-33-49.png
(/@Ta/2022-05-03 23:34//)

12. MKV没几个浏览器能直接解析吧
我是晨曦,我喂自己袋盐!
(/@Ta/2022-05-03 23:34//)

13.

@爱特,把你的视频扩展名修改为.webm重新上传,确实可以播放。我会修改上传代码,把webm视为视频流,并且给mkv自动添加扩展名.webm。
@胡椒舰长

(/@Ta/2022-05-03 23:35//)

14.

@爱特,你看看Youtube的HTTP请求,视频文件的Content-Type应该是video/webm

(/@Ta/2022-05-03 23:37//)

15.

同一个视频文件
content-type: video/x-matroska,不能播放
content-type: video/webm,可以播放

有什么区别?
webm一定是mkv,mkv不一定是webm,使用了没有包含进webm标准里的功能和视频音频编码,就不是webm。

所以,浏览器应该能够播放使用H.264/VP8/VP9/AV1视频编码、WAV/MP3/AAC/Ogg Vorbis音频编码的MKV,只要假装它是webm即可。
但是,这种假装必须在服务器端完成,因为要设置MIME类型为video/webm
鉴于阿里云OSS根据文件扩展名自动选择MIME类型,所以最简单的兼容方案是上传时在原始文件名后面附加扩展名.webm。

(/@Ta/2022-05-04 01:50//)

16. @老虎会游泳,YouTube出现2个头:audio/webm、video/webm,看上去就是WebM。
(/@Ta/2022-05-03 23:53//)

17.

@爱特@胡椒舰长,图文快贴和附件上传已经支持webm和mkv在线播放,mkv会被伪装成webm。

视频链接

视频链接

(/@Ta/2022-05-04 01:18//)

18. 还有个很少见的RMVB格式
(/@Ta/2022-05-04 00:26//)

19. @老虎会游泳,播放器控件绝对有问题,我拖动不了,要么直接拖到最后一秒。
正在检查更新
版本 100.0.4896.127(正式版本) (arm64)
(/@Ta/2022-05-04 00:54//)

20.

@胡椒舰长,虎绿林没有重载播放器控件,所以播放器控件是你的浏览器自己提供的。

(/@Ta/2022-05-04 01:13//)

下一页 1/2页,共27楼

回复需要登录

7月6日 06:56 星期天

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1