首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ffprobe输出视频: png

ffprobe输出视频: png
EN

Stack Overflow用户
提问于 2019-12-15 13:02:11
回答 2查看 957关注 0票数 0

file告诉我我的视频文件是png格式的。

代码语言:javascript
复制
[png_pipe @ 0x7f9ece003c00] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, png_pipe, from '1.ts':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: png, rgb24(pc), 1x1 [SAR 3779:3779 DAR 1:1], 25 tbr, 25 tbn, 25 tbc

我有点困惑,因为它作为ts或mpeg文件播放得很好。但是当我运行ffmpeg -y -i in.ts -acodec copy -vcodec copy out.mp4时,该命令完成得很好,但是我最终得到了一个无法播放的文件。我从Quicktime收到一个警告,说“操作无法完成”,而且我也无法在Chrome或Firefox中打开它,所以我知道这不是Quicktime的问题。

所以,这可能与视频是png视频有关。我一直认为png是一种仅用于图像的格式,但现在我来了有人可以给我一些关于这方面的信息吗?我如何将其转换为mp4?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-10 17:25:00

我也有同样的问题,它可能是一个伪装成PNG报头的流。

我使用dd去掉了前8个字节,ffprobe检测到了正确的格式。

代码语言:javascript
复制
dd if=1.ts of=fixed/1.ts ibs=8 skip=1
票数 1
EN

Stack Overflow用户

发布于 2019-12-15 15:25:53

通过使用-vcodec copy,您可以将视频作为PNG流存储在MP4中。这是有效的,但没有得到玩家的广泛支持。相反,请将其编码为标准H.264 yuv420p像素流。

代码语言:javascript
复制
ffmpeg -y -i in.ts -c:a copy -c:v libx264 -pix_fmt yuv420p out.mp4

编辑:

该块实际上是MPEG-TS,但前127个字节似乎是一个附加在前面的小PNG文件。强制输入格式允许正确解码。

所以快跑,

代码语言:javascript
复制
ffmpeg -y -f mpegts -i in.ts -c copy out.mp4
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59341324

复制
相关文章

相似问题

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