视频捕捉软件哪个好 视频字幕提取工具使用

随着自媒体的兴起,很多人会***或者找视频素材剪辑,配上背景音乐或者解说,加上各种特效边框。经过处理后,他们会生成新的视频文件,发布到各大平台。生成的原始视频文件都很大,我们需要转换格式或者压缩大小,这样才能上传或者分享到定位器等其他设备上。FFmpeg简介FFmpeg...

随着自媒体的兴起,很多人会***或者找视频素材剪辑,配上背景音乐或者解说,加上各种特效边框。经过处理后,他们会生成新的视频文件,发布到各大平台。生成的原始视频文件都很大,我们需要转换格式或者压缩大小,这样才能上传或者分享到定位器等其他设备上。

FFmpeg简介

FFmpeg是一个开源的免费多媒体视频处理工具。其功能包括视频捕获、视频格式转换、视频捕获、视频水印等。它为音频和视频的录制、转换和流式传输提供了完整的解决方案。

FFmpeg项目在开源界的影响力也是数一数二的。你看到的视频转换软件或者播放器中使用的几乎所有功能或者编解码都是基于FFmpeg的。它使用LGPL或GPL许可证。国内一些著名玩家使用FFmpeg源代码,未申报,被FFmpeg钉在了历史的耻辱柱上。

FFmpeg安装

FFmpeg提供源代码,可以自己编译。几乎所有的发行版Linux库都已经有FFmpeg了,可以直接安装。

# debian/ubuntuapt install ffmpeg# redhat/centos/fedora'yum install ffmpeg或dnf install ffmpeg

FFmpeg官方还提供二进制包:ffmpeg.org/download.html.

建议使用FFmpeg官方静态二进制包,不需要额外的动态库,只有一个可执行文件。官网下载ffmpeg后,有三个可执行文件:FFmpeg、ffprobe、ffplay。

FFmpeg使用

从官网下载的FFmpeg解压后有三个可执行文件:

ffmpeg:音视频文件处理转换ffprobe:读取视频文件信息ffplay:一个简易的播放器

Fft命令:

ffmpeg -i video.w***。/video.mp4

将video.w***视频文件转换为mp4格式。默认情况下,ffmpeg mp4格式使用h2***编码。

ffmpeg-I video . WMA-c:v libx 265 video . MP4

将video.w***视频文件转换为h265编码的mp4格式。

H265的压缩率比h2***高,低比特率生成的文件更小。
也就是说同等质量的h265代码比h2***更清晰。对于同样大小的视频文件,h265编码比h2***编码小。但当视频比特率达到一定规模时,两者差别不大。
h2***比h265有更好的兼容性。有些***默认不支持h265编码的视频文件,需要软件解码。
视频转换,h265编码比h2***编码耗时更长,消耗的CPU资源更多。

ffmpeg-I video.mp4-s 1280 ×720 video2.mp4

将视频压缩到1280 ×20分辨率。

ffmpeg-I video.mp4-ss 00:00:10-I video.mp4-t 00:00:30-c:v copy-c:a copy cut . MP4

在不改变视音频编码的情况下剪切视频,10秒视频后保留30秒,因为音视频编码指定了参数值copy,不会影响视频质量。

ss参数必须在-i之前使用。如果在-i之后写入,ffmpeg将理解起点应用于输出文件。

ffmpeg-I video.mp4-元数据:s:v rotate = ”90″-c:v copy -c:a copy out.mp4

将视频翻转90度,而不改变视频和音频的质量。将横屏改为竖屏。

ffmpeg-f X11 grab-r 30-I:0.0-f alsa-I HW:0.0-acodec AAC-vcodec libx 2*** out . mkv

使用FFmpeg视频录制,此命令在Linux上有效。每秒30帧,音频格式使用aac,视频格式使用h2***,输出mkv格式。

Vcodec和c:v参数一样,指定视频编码,比如libx2***和libx265
acodec和c:a参数一样,指定音频编码,比如aac、mp4和flac。

FFmpeg还有很多其他用途,比如调整码率,帧数等。使用ffmpeg & # 8211帮助可以看到所有参数的描述。

GPU加速

默认情况下,FFmpeg使用CPU编码。当执行ffmpeg命令时,资源管理器可以看到CPU使用率的增加。

如果使用GPU运算,转换速度可以提高一倍,尤其是h265编码视频的转换。

检查ffmpeg支持的视频编码格式:

ffmpeg -codecs

找到hevc,也就是h265代码:

HEVC _ QSV:英特尔核显HEVC _ NV ENC:英伟达显卡HEVC _ AMF:如果AMD显卡使用h2***编码,使用h2***_qsv/h2***_nvenc。

ffmpeg-I ./video . MP4-c:v hevc _ qsv。/out.mp4

使用GPU编码,运行上面的ffmpeg命令,可以看到GPU占用率增加了。

用GPU加速视频转换要快很多,我只能用比CPU转码快几倍的核显。

Ffprobe命令

ffprobe。/video.mp4

查看视频文件信息。

从输出信息可以看出,视频文件采用h2***编码,分辨率为1280 ×70,平均视频比特率为921kbps,24帧。视频音频采用aac编码,采样率为44100Hz,比特率为128kpbs。

ffprobe -v错误-show_streams -print_for***t json。/video.mp4

使用json格式输出视频信息。

Ffplay命令

ffplay。/video.mp4

播放视频文件。会弹出一个播放器。

ffplay命令也有许多控制参数。但是我觉得用处不大。毕竟,图形播放器更容易使用,功能也更强大。

发展

使用FFmpeg命令,我们可以使用程序或脚本来完成自动视频转换。也可以让我们开发的系统具备视频转码或者读取视频信息的功能。以Java为例:

public static int doWaitFor(Process process) { InputStream in = null; InputStream err = null; int exitValue = -1; // returned to caller when p is finished try { in = process.getInputStream(); err = process.getErrorStream(); boolean finished = false; // Set to true when p is finished while (!finished) { try { while (in.available() > 0) { // Print the output of our system call Character c = new Character((char) in.read()); System.out.print(c); } while (err.available() > 0) { // Print the output of our system call Character c = new Character((char) err.read()); System.out.print(c); } // Ask the process for its exitValue. If the process // is not finished, an IllegalThreadStateException // is thrown. If it is finished, we fall through and // the variable finished is set to true. exitValue = process.exitValue(); finished = true; } catch (IllegalThreadStateException e) { // Process is not finished yet; // Sleep a little to save on CPU cycles Thread.currentThread().sleep(500); } } } catch (Exception e) { e.printStackTrace(); } finally { try { if (in != null) { in.close(); } } catch (IOException e) { e.printStackTrace(); } if (err != null) { try { err.close(); } catch (IOException e) { e.printStackTrace(); } } } return exitValue;}

Java使用runtime.getruntime()调用外部命令。exec(命令)。
使用call ffmpeg命令时,必须读取该命令输出流中的内容,这样程序才不会阻塞。否则,当缓冲区已满时,进程将被阻塞。
视频转换可能非常耗时,具体取决于硬件性能。在实际应用中,我们也可以打开线程来处理。

FFmpeg还提供C调用和公共库集成。以上方法并非最优解,仅提供参考。

本文来自奶味小仙女投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/517113.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 04-23
下一篇 04-23

相关推荐

  • 颗粒捕捉器堵了怎么解决

    如果是汽油车,我们可以换到S档,然后再以较高的速度行驶一段时间,这样排气管的温度就会升高这时颗粒捕集器中的颗粒就会被烧尽,堵塞问题就可以解决了六粒子陷阱被堵住了 很正常的现象首先,刘国发动机应该使用专用。使用清洗设备清洗颗粒捕捉器的流程一般如下 1首先将颗粒捕

    2023-07-19 14:01:01
    791 0
  • cad对象捕捉快捷键是什么(cad对象捕捉快捷键命令)

    对象捕捉是CAD软件的重要功能之一,所以你在CAD入门学习的过程中一定要熟练掌握。所谓物体捕捉,就是利用现有图形的一些特征点,如端点、中点、中心、交点等。,帮助我们绘制或定位其他图形。对象捕获是最常用的绘图助手工具。下面分享一下关于对象捕捉的CAD入门学习技巧。一

    2023-06-08 08:35:02
    280 0
  • 视频捕捉软件哪个好(手机视频捕捉软件)

    7月28日,萤石发布智能锁新品——极光人脸视频锁Y3000FV,售价2799元,首发价2199元。现在这个新产品来到了我们的评估室。下面给大家一张图。Y3000FV采用纤薄机身,极简线条,悬浮式面板,有晶石紫和极灰两种颜色可选。细沙质地,手感柔软,光滑亲肤。核心功能上,萤石极光人

    2023-05-26 10:43:01
    938 0
  • 阿尔宙斯火山神兽用什么捕捉

    宙斯火山神兽玩家现在需要在扔球之前在地上捡一些泥球接住;[火山]岩浆巨兽有一个火焰保护罩。直接扔球,没接住盖,球又出来了。这个时候,你可以用包和他一起进入战斗。这次也是强行抓捕,打死你再回来。宙斯(日语:ァルセスス,英语:Arceus)是主机游戏系列和改编动画系列《宝

    2023-05-24 08:58:01
    381 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信