ffmpeg - 为什么 ts 文件只包含一帧时无法播放?
问题描述
我有一个 mp4 格式的视频文件,可以很好地播放。它只包含一帧视频。当我将其转码为 TS 格式时。我玩的时候黑屏。我该怎么做才能使它作为 mp4 执行?
解决方案
Mp4 为每一帧编码了一个持续时间,因此播放器知道将帧保持在屏幕上多长时间。传输流不编码帧持续时间,持续时间是通过从下一帧时间戳中减去帧时间戳来计算的。没有下一帧,没有帧持续时间。这意味着帧的持续时间为零,并且显示时间为零毫秒。
您要求的不是 TS 具有的功能。您需要修改播放器以更改其零持续时间帧的行为。
推荐阅读
- sql-server - SQL 部署自动化
- java - 如何在 Spring Boot 中将 @MockBean 与 JUnit 5 一起使用?
- c# - ASP.NET Web API 避免将文件保存为“BodyPart_...”
- oracle - 如何在 Oracle apex 的页眉上显示登录的用户 ID?
- git - 删除大小(在磁盘空间中)大于给定值的提交
- shell - : 使用 ansible shell 模块的 grep 命令中的字符错误
- upgrade - Apostrophecms 2.86 版本升级问题
- c - 如何使用 libmodbus 从 modbus/tcp 读取
- vba - VBA计数表B中表A记录A中字段X的出现次数并插入表A记录A字段Y
- algorithm - 在项目之间反复选择后确定排名的算法