标签: video-processing

如何使用OS X中的shell脚本以编程方式将FLV视频文件转换为MP4?

我想批量转换包含数百个FLV文件的目录,以便每个文件都具有MP4等效项.我正在尝试通过编写shell脚本并从终端运行它来自动执行此过程.我该怎么做呢?大多数可用的指令都是针对使用ffmpeg的Linux,但我认为OS X没有它.谢谢.

unix macos shell video-processing transcoding

9
推荐指数
2
解决办法
8278
查看次数

使用FFMPEG将两个MTS文件连接在一起

我有两个MTS视频文件,每个文件长2分钟.我需要能够将文件连接在一起并将格式转换为MPEG4.我有一个合适的命令行,用于将MTS转换为MP4,但首先不知道如何将文件连接在一起.

网上的一些文章建议使用CAT命令,如:

cat video1.mts video2.mts > whole_video.mts
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用,根据FFMPEG,"whole_video.mts"只有2分钟,而不是4分钟.

有谁知道如何将文件加在一起?FFMPEG是最好的程序吗?提前致谢.

video join ffmpeg video-processing mts

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

当我想编写视频处理应用程序时,是否有合适的C++替代品?

我想写一个视频编辑软件,"逻辑"结论是我必须使用的语言是C++ ...但我不喜欢它(抱歉c ++粉丝)

我想写一些很酷的东西,比如Lisp或Haskell或Erlang ...但我不知道这些语言的开源实现(我没有钱购买许可证)让我制作了一个有竞争力的软件(在表演区)

你怎么看?您有什么推荐的吗?

lisp erlang haskell programming-languages video-processing

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

如何使用OpenCV在视频上查找对象

要跟踪视频帧上的对象,首先我从视频中提取图像帧并将这些图像保存到文件夹中.然后我应该处理这些图像以找到一个对象.实际上我不知道这是否是实用的,因为所有的算法都是一步完成的.它是否正确?

c++ opencv video-capture image-processing video-processing

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

视频处理和过滤库

我正在尝试决定选择哪个库来创建可以过滤视频的应用,例如美化或清晰度.

在我搜索期间,我遇到了两个候选人:OpenCv和FFmpeg,我找到了一个仅适用于FFmpeg的完整框架(所以+1为此).

我无法找到两者之间的完全比较,所以如果有人尝试过它们并且可以发布答案,那将非常有帮助.

编辑:

另一个候选人是Android的Marvin框架(Java项目) - https://code.google.com/p/android-image-filtering/

android opencv ffmpeg video-processing marvin-framework

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

如何使用VLC或FFMPEG命令行将外部音频轨道添加到视频文件

我想使用bash脚本将audio.mp3音轨添加到无声的video.mp4文件中,"cvlc""ffmpeg"命令行的正确语法是什么?

我用VLC和--no-audio选项录制了视频,因此没有可以从原始视频复制的比特率或编码等设置.

ffmpeg vlc video-processing audio-processing

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

在VTDecompressionSessionCreate中解码H264 VideoToolkit API失败,错误为-8971

我正在尝试使用硬件支持的视频工具包解码器编写视频解码器.但是,如果我尝试初始化解码会话,如下面发布的示例,我在调用VTDecompressionSessionCreate时收到错误-8971.谁能告诉我这里做错了什么?

感谢你并致以真诚的问候,

奥利弗

OSStatus status;

int tmpWidth = sps.EncodedWidth();
int tmpHeight = sps.EncodedHeight();
NSLog(@"Got new Width and Height from SPS - %dx%d", tmpWidth, tmpHeight);

const VTDecompressionOutputCallbackRecord callback = { ReceivedDecompressedFrame, self };
status = CMVideoFormatDescriptionCreate(NULL,
                                       kCMVideoCodecType_H264,
                                       tmpWidth,
                                       tmpHeight,
                                       NULL,
                                       &decoderFormatDescription);

if (status == noErr)
{
    // Set the pixel attributes for the destination buffer
    CFMutableDictionaryRef destinationPixelBufferAttributes = CFDictionaryCreateMutable(
                                                                 NULL, // CFAllocatorRef allocator
                                                                 0,    // CFIndex capacity
                                                                 &kCFTypeDictionaryKeyCallBacks, 
                                                                 &kCFTypeDictionaryValueCallBacks);

    SInt32 destinationPixelType = kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange;
    CFDictionarySetValue(destinationPixelBufferAttributes,kCVPixelBufferPixelFormatTypeKey, CFNumberCreate(NULL, kCFNumberSInt32Type, &destinationPixelType));
    CFDictionarySetValue(destinationPixelBufferAttributes,kCVPixelBufferWidthKey, CFNumberCreate(NULL, kCFNumberSInt32Type, &tmpWidth)); …
Run Code Online (Sandbox Code Playgroud)

macos xcode video-processing h.264 ios

9
推荐指数
2
解决办法
6510
查看次数

使用视频中的ffmpeg进行场景变换/镜头检测/图像提取

我正在尝试为视频获取有代表性的帧,以便删除可能出现在视频中的冗余帧.这是我用来获取帧的方法.

./ffmpeg -i video.mp4 -vf select="eq(pict_type\,PICT_TYPE_I)" -vsync 2 -s 320x240 thumb-%02d.png

我也试过了

./ffmpeg -i video.mp4 -f image2 -vf "select=gt(scene\,.4)" -vsync vfr thumb%04d.png

这方面的主要问题是模糊.如果我只是每5秒对帧进行一次采样,我看不到任何模糊,但是使用上面两个命令我会得到很多模糊.

该视频可在此处找到,http://www.cs.umd.edu/~bharat/video.mp4

为了每10秒对视频进行一次采样,我使用以下内容:

./ffmpeg -i video.mp4 -r 1/10 filename%03d.jpg

使用正常采样输出: 采样输出

使用select输出: 选择输出

但是,对于某些视频,正常采样可能不好,并且可能会创建冗余帧.有没有办法在ffmpeg中使用一些选项并获得没有这种模糊的帧?如果正常采样可以获得良好的帧,则附近应该存在没有模糊的帧.我已经查看了ffmpeg中的场景切换等选项,但我不熟悉将它们用于此应用程序.

video ffmpeg image-processing video-processing computer-vision

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

python脚本中的ffmpeg

我想在python脚本中运行以下命令,我还想让它循环遍历文件夹中的几个视频.这是我想要运行的命令.

ffmpeg -i mymovie.avi -f image2 -vf fps=fps=1 output%d.png

我希望适合这样的事情:

import ffmpy
import os

path = './Videos/MyVideos/'
for filename in os.listdir(path):
    name = filename.replace('.avi','')
    os.mkdir(os.path.join(path,name))
    *ffmpeg command here*
Run Code Online (Sandbox Code Playgroud)

我找到了一个名为ffmpy的ffmpeg包装器,这可能是一个解决方案吗?

python ffmpeg video-processing

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

Opencv VideoCapture总是在Heroku上返回false

我正在使用以下代码打开视频流:

import cv2
video = cv2.VideoCapture()
video.open("some_m3u8_link")
success, image = video.read()
Run Code Online (Sandbox Code Playgroud)

但是,即使代码在本地工作,在Heroku success上总是错误的.

我正在使用带有以下buildpacks的cedar-14堆栈:

Heroku的/蟒蛇

https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.git

(我为ffmpeg尝试了几个buildpack选项)

ffmpeg --version在heroku实例上运行将返回ffmpeg version 4.0-static https://johnvansickle.com/ffmpeg/

是否有任何我错过的设置/配置,以使其在部署上工作?谢谢!

稍后编辑:我尝试了几个"some_m3u8_link"链接,包括来自抽搐和其他流媒体服务(包括流量传输)复制的一个例子:

python -c "import cv2; video=cv2.VideoCapture(); video.open('https://hddn01.skylinewebcams.com/live.m3u8?a=5tm6kfqrhqbpblan9j5d4bmua4'); success, image = video.read(); print(success)"
Run Code Online (Sandbox Code Playgroud)

在本地计算机上返回True,在Heroku上返回False.

(链接取自这里)

python opencv ffmpeg heroku video-processing

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