相关疑难解决方法(0)

将原始OpenCV图像管道传输到FFmpeg

这是使用OpenCV的python绑定读取网络摄像头的一个相当简单的例子:

'''capture.py'''
import cv, sys
cap = cv.CaptureFromCAM(0)                    # 0 is for /dev/video0
while True :
    if not cv.GrabFrame(cap) : break
    frame = cv.RetrieveFrame(cap)
    sys.stdout.write( frame.tostring() )
Run Code Online (Sandbox Code Playgroud)

现在我想将输出管道输出到ffmpeg,如下所示:

$ python capture.py | ffmpeg -f image2pipe -pix_fmt bgr8 -i - -s 640x480 foo.avi

可悲的是,我无法将ffmpeg魔术咒语完全正确而且失败了

  libavutil     50.15. 1 / 50.15. 1
  libavcodec    52.72. 2 / 52.72. 2
  libavformat   52.64. 2 / 52.64. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.19. 0 /  1.19. 0
  libswscale     0.11. 0 /  0.11. …

python linux opencv ffmpeg pipe

25
推荐指数
1
解决办法
3万
查看次数

使用OpenCV ffmpeg在Mac上编写MP4文件

我在Mac上使用OpenCV和ffmpeg来编写视频.我已经能够使用编解码器/ fourcc代码FMP4成功编写.avi文件.不过,我想写.mp4文件.当我尝试使用fourcc FMP4编写.mp4文件时,我收到此错误:

[mp4 @ 0x100b4ec00] Tag FMP4/0x34504d46 incompatible with output codec id '13' ( [0][0][0])
Run Code Online (Sandbox Code Playgroud)

当我使用AVC1时,我收到以下错误:

[libx264 @ 0x104003000] broken ffmpeg default settings detected
[libx264 @ 0x104003000] use an encoding preset (e.g. -vpre medium)
[libx264 @ 0x104003000] preset usage: -vpre <speed> -vpre <profile>
[libx264 @ 0x104003000] speed presets are listed in x264 --help
[libx264 @ 0x104003000] profile is optional; x264 defaults to high
Could not open codec 'libx264': Unspecified error
Run Code Online (Sandbox Code Playgroud)

有没有人知道正确的编解码器与OpenCV和ffmpeg一起使用来写入Mac上的MP4容器?

如果AVC1是正确的编解码器,我该如何正确安装ffmpeg + OpenCV?我做到了

brew install gpac
brew install …
Run Code Online (Sandbox Code Playgroud)

macos opencv ffmpeg fourcc

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

标签 统计

ffmpeg ×2

opencv ×2

fourcc ×1

linux ×1

macos ×1

pipe ×1

python ×1