#先用ffprobe生成视频流的帧信息
#ffprobe -show_frames -select_streams v -of csv -i cp_b_vbr.ts >cp_b_vbr.csv
import pandas as pd
csvfile = 'cp_b_vbr.csv'
#header=None数据第一行开始,sep=','逗号分隔
csvpd = pd.read_table(csvfile,sep=',',encoding='utf-8',low_memory=False,header=None)
#列名
csvpd.columns = ['frame','media_type','stream_index','key_frame','pkt_pts','pkt_pts_time','pkt_dts','pkt_dts_time','best_effort_timestamp','best_effort_timestamp_time','pkt_duration','pkt_duration_time','pkt_pos','pkt_size','width','height','pix_fmt','sample_aspect_ratio','pict_type','coded_picture_number','display_picture_number','interlaced_frame','top_field_first','repeat_pict','color_range','color_space','color_primaries','color_transfer','chroma_location']
#生成gop组(I开始到下一个I之前截止),下面是没办法的办法
#pict_type(series)列变成list再变成string
picttype = ''.join(csvpd.pict_type.tolist())
#把I替换成",I",然后用逗号切分成list
gop = picttype.replace('I',',I').split(',')
#切分之后,list的第一个元素是空的,remove掉第一个元素。
gop.remove(gop[0])
for i in gop:
print(i)
pandas生成视频文件的gop组
最新推荐文章于 2025-06-17 18:50:13 发布