video - 我的视频没有关键帧,这怎么可能?

标签 video ffmpeg h.264 ffprobe

当我在我的视频上运行以下行时,它只输出 P 帧和 B 帧而没有 I 帧,

ffprobe -select_streams v -show_frames -show_entries frame=pict_type -of csv 00000.MTS

视频怎么可能没有I帧。
Here是视频的链接。
根据this教程的定义,P帧只是建立在之前的帧之上,如果没有其他帧可以建立在我们如何使用P帧?
ffprobe -i 00000.MTS 的输出是:

...
Input #0, mpegts, from '00000.MTS':
  Duration: 00:17:13.24, start: 1.040000, bitrate: 16451 kb/s
  Program 1 
    Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 256 kb/s
    Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080

最佳答案

我在共享的示例视频中看到大量 I 帧。

运行

ffprobe videotoshare.mts -show_entries frame=key_frame,pict_type,pkt_pts_time -select_streams v -of compact -v 0 | grep ame=1

frame|key_frame=1|pkt_pts_time=1.520000|pict_type=I
frame|key_frame=1|pkt_pts_time=2.040000|pict_type=I
frame|key_frame=1|pkt_pts_time=2.560000|pict_type=I
frame|key_frame=1|pkt_pts_time=3.080000|pict_type=I
frame|key_frame=1|pkt_pts_time=3.600000|pict_type=I
frame|key_frame=1|pkt_pts_time=4.120000|pict_type=I
frame|key_frame=1|pkt_pts_time=4.640000|pict_type=I
frame|key_frame=1|pkt_pts_time=5.160000|pict_type=I

完整视频显示了类似的读数

ffprobe videotoshare-full.mts -show_entries frame=key_frame,pict_type,pkt_pts_time -select_streams v -of compact -v 0 | grep ame=1

frame|key_frame=1|pkt_pts_time=1.120000|pict_type=I
frame|key_frame=1|pkt_pts_time=1.640000|pict_type=I
frame|key_frame=1|pkt_pts_time=2.160000|pict_type=I
frame|key_frame=1|pkt_pts_time=2.680000|pict_type=I
frame|key_frame=1|pkt_pts_time=3.200000|pict_type=I
frame|key_frame=1|pkt_pts_time=3.720000|pict_type=I

关于video - 我的视频没有关键帧,这怎么可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48608792/

相关文章:

matlab - 在Matlab中从视频中提取音频。音频减速

video - 从辅助视频流 FFMpeg 中提取帧

ffmpeg在转码时构建缩略图序列

video - 1 小时高清视频的 H.264 文件大小

android - 在 Android 中以编程方式进行视频编辑

html - 尝试使用 onclick 在 html 视频上切换声音

bash - ffmpeg - bash 脚本淡出音频文件

javascript - 将图像与 GIF 合并 - FFMPEG

ios - 如何捕获 iOS 摄像头并发布 RTMP 直播流?

ubuntu - 在 ubuntu 12.04 上使用 melt 将媒体文件转换为 h.264 编码