小编Moh*_*ahi的帖子

使用 H264 编解码器将视频保存在 opencv 中

我正在使用opencv-python==4.5.1.48python3.9docker。我想以 h264 格式保存视频。这是我保存视频的功能:

import cv2

def save_video(frames):
    fps = 30
    video_path = '/home/save_test.mp4'
    fourcc = cv2.VideoWriter_fourcc(*'h264')
    video_writer = cv2.VideoWriter(video_path, fourcc, fps, (112, 112))

    for frame in frames:
        video_writer.write(frame)

    video_writer.release()
Run Code Online (Sandbox Code Playgroud)

当我使用 .mp4 格式保存视频时,出现以下错误:

OpenCV:FFMPEG:编解码器 ID 27 和格式“mp4 / MP4(MPEG-4 第 14 部分)”不支持标记 0x34363268/'h264' OpenCV:FFMPEG:回退使用标记 0x31637661/'avc1' 找不到编解码器的编码器id 27:未找到编码器

我搜索并阅读了一些解决方案,但没有一个解决我的问题。

更新

我也安装了这篇文章libx264-dev中推荐的但没有用。

python video opencv

11
推荐指数
2
解决办法
1万
查看次数

将数据帧的每一行转换为列表

我有一个像这样的数据框:

df = pd.DataFrame({'A': ['1', '2', '3'], 'B': ['aa', 'b', 'c']})
   A  B
0  1  aa
1  2  b
2  3  c
Run Code Online (Sandbox Code Playgroud)

我想将每一行列转换B为一个列表。例如,我想要的输出是这样的:

   df_new
   A  B
0  1  [aa]
1  2  [b]
2  3  [c]
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

4
推荐指数
2
解决办法
3207
查看次数

在 pandas 中使用嵌套字典压平列

我从 MySQL 数据库获取数据。获取的数据有一列,其中包含嵌套列表和字典。这个 json 与我的数据库中存储的数据类似:

my_dict = {'id': [1, 2, 3],
           'b': [{'100': [{'p': 10, 'max': 20, 'min': 15},
                          {'p': 20, 'max': 30, 'min': 20}]
                 },
                 {'101': [{'p': 100, 'max': 200, 'min': 150}],
                  '102': [{'p': 105, 'max': 205, 'min': 155},
                          {'p': 102, 'max': 202, 'min': 152}]},
                 {'103': [{'p': 210, 'max': 2110, 'min': 1115}]}]}
Run Code Online (Sandbox Code Playgroud)

在代码中,我只有df

df = pd.DataFrame(my_dict)

df   
      id                             b
   0  1   {'100': [{'p': 10, 'max': 20, 'min': 15}, {'p': 20, 'max': 30, 'min': 20}]}
   1  2   {'101': …
Run Code Online (Sandbox Code Playgroud)

python pandas

1
推荐指数
1
解决办法
106
查看次数

标签 统计

python ×3

pandas ×2

dataframe ×1

opencv ×1

video ×1