标签: ffmpeg

FFmpeg:可以在转码时仅将过滤器应用于视频文件的一部分

我有一个 3:00 分钟的短片,中间只从左到右翻转了大约 30 秒。

所以如果整个事情从左到右翻转,我只想申请:

ffmpeg -i 3min.mp4 -vf hflip flipped_3min.mp4

但是由于它只是部分翻转,有没有办法在单个 ffmpeg 命令中为该 hflip 过滤器(1:30-2:00)应用时间段?

我正在寻找有关此的一些文档,但找不到任何此类内容,我想知道在 FFmpeg 中是否不可能。

video ffmpeg

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

ffmpeg:重新编码视频,保持设置相似

我正在处理一些在手机上编码并且非常大的 mp4 视频。

我认为 ffmpeg 可以做得更好。我试图找出使用哪些标志来保持 fps、分辨率并保持外观相同(无损或接近无损)。

我应该使用什么标志?

video mp4 ffmpeg

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

使用 ffmpeg 将 .mov 视频转换为 .mp4

我正在尝试使用 ffmpeg 将 .mov 视频转换为 .mp4:

ffmpeg -i ~/Desktop/Sample.mov ~/Desktop/Sample.mp4
Run Code Online (Sandbox Code Playgroud)

但这不起作用,当我尝试在 quicktime 中打开制作的视频时,它告诉我该文件已损坏或采用 quicktime 无法理解的格式。

我如何让这个工作?

video format ffmpeg macos-sierra macos

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

如何使用 FFmpeg 从视频中间创建缩略图

有没有办法在 FFmpeg 中抓取视频缩略图?

我想抓取最中间的帧作为视频并将其用作缩略图。视频时长未知。

指定缩略图尺寸的能力也很有帮助。

thumbnails ffmpeg

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

ImageMagick 可以从视频制作缩略图吗?

我正在尝试通过 ImageMagick 从视频中提取缩略图。我从他们的官方网站上找到了一些示例,但它制作的是 GIF,而不是 PNG。不过我想要一个纯缩略图。

它可以创建与此 ffmpeg 命令相同的输出吗?

ffmpeg -ss 600 -i myVideo.mp4 -vframes 1 -s 420x270 Out.bmp
Run Code Online (Sandbox Code Playgroud)

video thumbnails ffmpeg imagemagick thumbnail-generator

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

自动将大型 .mov 视频文件拆分为黑帧(场景变化)的较小文件?

我有 65 个名为 tape_01.mov、tape_02.mov、...、tape_65.mov 的 .mov 视频文件。每个大约 2.5 小时,占用许多 GB 空间。它们是 VHS 磁带(我家的“家庭电影”)的数字副本。

每个 2.5 小时的 .mov 视频文件都包含许多“章节”(从某种意义上说,有时场景以淡入黑屏结束,然后新场景淡入)。

我的主要目标是将 65 个大文件按章节切成小文件。我希望通过检测“场景”之间的黑框来自动完成。

我可以使用 ffmpeg(或任何东西)来传递 65 个原始文件名并让它自动迭代每个视频并将其切碎,命名生成的片段tape_01-ch_01.mov、tape_01-ch_02.mov、tape_01-ch_03.mov,等等?而且我希望它无需重新编码即可完成(我希望它是一个简单的无损切片)。

我怎样才能做到这一点?

以下是我想要的步骤:

  1. 遍历 .mov 文件文件夹(名为tape_01.mov、tape_02.mov、...、tape_65.mov)以将它们导出为 mp4 文件(名为tape_01.mp4、tape_02.mp4、...、tape_65.mp4) . 我希望这一步的压缩设置很容易配置。创建 .mp4 文件后,原始 .mov 文件应该仍然存在。
  2. 迭代 mp4 文件:对于每个 mp4 文件,生成一个文本文件,指定“场景”之间黑色段的开始时间和持续时间。每个 mp4 可以有 0 个或多个这些黑色场景中断。开始时间和持续时间应该精确到几分之一秒。HH:MM:SS 格式不够精确。
  3. 然后,我将能够手动仔细检查这些文本文件,以查看它们是否正确识别场景变化(黑色片段)。如果我愿意,我可以调整时间。
  4. 另一个脚本将读取每个 mp4 文件及其 txt 文件,并根据文本文件的行(此处指示的时间)将 mp4 拆分(以超快速和无损的方式)根据需要分成尽可能多的部分。分裂应该发生在每个黑色段的中间。这是一个示例 mp4 文件(出于隐私目的删除了音频),它具有淡入淡出的场景变化。在创建较小的 mp4 文件时,原始 mp4 文件应保持不变。较小的mp4文件应该有tape_01_001.mp4、tape_01_002.mp4、tape_01_003.mp4等命名方案。
  5. 奖金!如果另一个脚本可以遍历小的 mp4 文件并为每个文件生成一个 .png 图像,这是一个像这个人正在尝试的屏幕截图马赛克,那就太棒了:使用 FFmpeg 的视频的有意义的缩略图

我希望这些脚本是可以在 Mac、Ubuntu 和 Windows Git Bash …

video ffmpeg video-editing

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

使用 ffmpeg 使用 vp9 编解码器转换视频

我正在尝试将input.mp4视频转换为output.mkv使用 vp9 编解码器。我安装的ffmpeg通过的开发版:brew install ffmpeg --devel

ffmpeg -i input.mp4 -vcodec vp9 output.mkv
Run Code Online (Sandbox Code Playgroud)

但我收到错误:Unknown encoder 'vp9'甚至包括 vp9:ffmpeg -codecs

video ffmpeg video-codecs

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

使用 ffmpeg 获得类似 webrtc 的延迟?

我一直在 Chrome 和我的手机之间使用这个:

http://www.webrtc.org/demo

而且延迟非常好 - 不到 1 秒。

我一直试图在我的电脑上复制它,但没有成功。

ffmpeg -f video4linux2 -i /dev/video0  -s 320x200 -r 50 -deadline realtime -vcodec libvpx -f webm -fflags nobuffer udp://10.0.0.55:9002
Run Code Online (Sandbox Code Playgroud)

然后在另一边使用ffplay。

它仍然有几秒钟的滞后。

最终我想从我的电脑流式传输到 Android 手机,但延迟必须很好。

编辑- 这效果明显更好。如果我能把它剃掉一点,我会很高兴:

ffmpeg -vcodec rawvideo -f video4linux2 -i /dev/video0  -s 320x200 -r 25 -vcodec libvpx -f rtp -deadline realtime rtp://10.0.0.55:9002
Run Code Online (Sandbox Code Playgroud)

ffmpeg video-streaming

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

如何向 MP4 文件添加新的和未定义的元数据?

我一直在尝试了解如何向 MP4 文件添加一些额外的元数据。我了解如何添加元数据,如下所示:

ffmpeg -i bb.mp4 -metadata title="my title" bb2.mp4
Run Code Online (Sandbox Code Playgroud)

但我正在寻找的是如何添加一些像这样的新标签:

ffmpeg -i bb.mp4 -metadata newTag="newTag" bb2.mp4
Run Code Online (Sandbox Code Playgroud)

newTag 可能是作者生日之类的东西,任何不存在的新东西!

这甚至可能吗?

video metadata ffmpeg

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

使用 ffmpeg 从一组 .png 图像生成无损视频

我有一组 .png 图像,我想在 macOS 上使用 ffmpeg 将它们动画化为电影,但是当我查看生成的视频时,质量总是被压缩,并且当原始图像没有时,生成的视频有伪影。这是来自视频图像以及原始图像的同一部分。我曾尝试使用带有 crf = 0 的 h.264 编解码器进行编码,但是当我运行 ffmpeg 时出现一个奇怪的错误:

为输出文件 #0 (test.mp4) 指定的编解码器 AVOption crf(为恒定质量模式选择质量)尚未用于任何流。最可能的原因是类型错误(例如,没有视频流的视频选项)或者它是某个编码器的私有选项,实际上并未用于任何流。

我使用以下 ffmpeg 命令来生成它:

ffmpeg -f image2 -r 10 -i image%05d.png -vcodec h264 -crf 0 -y test.mp4

一种可能性是它被禁用(参见下面的完整控制台输出),但这对我来说没有意义,因为当我列出 ffmpeg 编解码器时它确实显示ffmpeg -codecs

DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: h264_videotoolbox )

这是完整的控制台输入/输出:

ffmpeg -f image2 -r 10 -i image%05d.png -vcodec h264 -crf 0 -y test.mp4
ffmpeg version …
Run Code Online (Sandbox Code Playgroud)

compression ffmpeg lossless

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