ffprobe输出视频:png
ffprobe output video: png
ffprobe 告诉我我的视频文件是 png。
[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 收到一条提示 "The operation could not be completed",但我无法在 Chrome 或 Firefox 中打开它,所以我知道这不是 Quicktime 的问题。
所以,这可能与视频是 png 视频有关。我一直认为 png 只是一种图像格式,但我在这里。谁能给我一些这方面的信息,我怎样才能将它转换成 mp4?
通过使用 -vcodec copy
,您可以将视频作为 PNG 流存储在 MP4 中。这是有效的,但没有得到玩家的广泛支持。相反,将其编码为标准的 H.264 yuv420p 像素流。
ffmpeg -y -i in.ts -c:a copy -c:v libx264 -pix_fmt yuv420p out.mp4
编辑:
该块实际上是 MPEG-TS,但前 127 个字节似乎是贴在前面的小 PNG 文件。强制输入格式允许正确解码。
所以运行,
ffmpeg -y -f mpegts -i in.ts -c copy out.mp4
我遇到了同样的问题,它可能是伪装成 PNG 的流 header。
我使用 dd 去除了第一个 8 个字节,ffprobe 检测到正确的格式。
dd if=1.ts of=fixed/1.ts ibs=8 skip=1
ffprobe 告诉我我的视频文件是 png。
[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 收到一条提示 "The operation could not be completed",但我无法在 Chrome 或 Firefox 中打开它,所以我知道这不是 Quicktime 的问题。
所以,这可能与视频是 png 视频有关。我一直认为 png 只是一种图像格式,但我在这里。谁能给我一些这方面的信息,我怎样才能将它转换成 mp4?
通过使用 -vcodec copy
,您可以将视频作为 PNG 流存储在 MP4 中。这是有效的,但没有得到玩家的广泛支持。相反,将其编码为标准的 H.264 yuv420p 像素流。
ffmpeg -y -i in.ts -c:a copy -c:v libx264 -pix_fmt yuv420p out.mp4
编辑:
该块实际上是 MPEG-TS,但前 127 个字节似乎是贴在前面的小 PNG 文件。强制输入格式允许正确解码。
所以运行,
ffmpeg -y -f mpegts -i in.ts -c copy out.mp4
我遇到了同样的问题,它可能是伪装成 PNG 的流 header。
我使用 dd 去除了第一个 8 个字节,ffprobe 检测到正确的格式。
dd if=1.ts of=fixed/1.ts ibs=8 skip=1