首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ffmpeg不播放在HLS文件集的fMP4框中定义的校正像素纵横比?

为什么ffmpeg不播放在HLS文件集的fMP4框中定义的校正像素纵横比?
EN

Stack Overflow用户
提问于 2022-05-05 09:48:25
回答 1查看 68关注 0票数 0

我们创建了一个带有边框的10秒1920x1200视频文件来测试HLS流像素纵横比(PAR)校正。视频被缩放和编码的x264到320x176,使标准杆22/25。我们的源和输出HLS fMP4文件可以在这里找到https://gitlab.com/kferguson/aspect-ratio-streaming-files.git

moov.trak.tkhd MP4框在fragment_1000kbps_init.mp4文件中显示正确的视觉表示大小为281x176,...avc1.pasp框显示正确的PAR 22/25。(我们使用"isoviewer-2.0.2-jfx.jar“应用程序查看MP4框。)

如果master.m3u8文件是与VLC播放器或gstreamer一起播放的,

代码语言:javascript
复制
gst-launch-1.0 playbin uri=file:///master.m3u8

正确显示高宽比。然而,随着视频播放或流到hls.js的网站中,PAR没有得到纠正(视频中的圆圈被压扁了)。在MP4框中,ffplay和MP4“查找”是为了让它们正确地播放什么?

通过使用下面的Powershell命令将所有fMP4文件连接到一个.mp4文件中,我们做了进一步的实验:

代码语言:javascript
复制
gc -Raw .\fragment_1000kbps_init.mp4, .\fragment_1000kbps_00000.m4s, ..., .\fragment_1000kbps_00000.m4s | sc -NoNewline .\fragment_1000kbps.mp4

奇怪的是,ffplay以正确的标准播放这个连接的mp4文件。(也包括在上面的git链接中)。我们假设在片段m4s文件框中有一些信息,而ffplay (和hls.js)需要正确回放,但是,我们找不到它吗?

EN

回答 1

Stack Overflow用户

发布于 2022-05-27 11:36:33

问题是在“sar_width”MP4框的H.264序列参数集中需要可选的vui参数(avcC和sar_height)。vlc播放器和gstreamer只需要包含pasp框,但是,ffmpeg和hls.js播放器需要正确设置额外的vui参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72125162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档