首页 > 其他分享 >ffmpeg

ffmpeg

时间:2024-05-25 12:07:23浏览次数:22  
标签:ffmpeg ProcessBuilder bytedeco pb org public

1.ffmpeg

  1. ffmpeg官网,https://ffmpeg.org/ffmpeg.html。
  2. FFmpeg是领先的多媒体框架,能够解码、编码、转码、过滤和播放多媒体。

2.项目中视频处理使用ffmpeg的两种方式

  1. 方式一。

    1. 官方下载ffmpeg的基于windows或者linux的工具包。
    2. 将ffmpeg的bin添加到path中,然后就可以直接使用ffmpeg命令。
    3. 项目中直接使用命令的方式(如直接执行ls)调用即可。
  2. 方式二,Java中引入ffmpeg的包。

    1. 引入依赖。
    <dependency>
        <groupId>org.bytedeco</groupId>
        <artifactId>ffmpeg</artifactId>
        <version>6.1.1-1.5.10</version>
    </dependency>
    
    <dependency>
        <groupId>org.bytedeco</groupId>
        <artifactId>ffmpeg-platform</artifactId>
        <version>6.1.1-1.5.10</version>
    </dependency>
    
    1. 代码使用。
    import org.bytedeco.javacpp.Loader;
    
    public class App {
        public static void main(String[] args) throws Exception {
            test02();
        }
    
        /**
         * 将视频转换为音频
         */
        public static void test02() throws Exception {
            String ffmpeg = Loader.load(org.bytedeco.ffmpeg.ffmpeg.class);
            ProcessBuilder pb = new ProcessBuilder(ffmpeg, "-i", "D:\\1.mp4", "-vn", "-ab", "160k", "-ar", "44100", "-ac", "2", "D:\\temp\\a.mp3");
            pb.inheritIO().start().waitFor();
        }
    
        /**
         * 使用ffmpeg每隔0.5将视频截取为图片
         */
        public static void test01() throws Exception {
            String ffmpeg = Loader.load(org.bytedeco.ffmpeg.ffmpeg.class);
            ProcessBuilder pb = new ProcessBuilder(ffmpeg, "-i", "D:\\1.mp4", "-vf", "fps=1/0.5", "D:\\temp\\%d.png");
            pb.inheritIO().start().waitFor();
        }
    }
    

标签:ffmpeg,ProcessBuilder,bytedeco,pb,org,public
From: https://www.cnblogs.com/godistance/p/18212257

相关文章

  • ffmpeg显示视频信息
    方式1:通过命令获取ffprobe../input.mp4方式2:代码获取main.c#include"libavutil/log.h"#include"libavformat/avformat.h"intmain(intargc,char**argv){av_log_set_level(AV_LOG_DEBUG);if(argc<2){av_log(NULL,AV_LOG_ERROR,......
  • ffmpeg常用命令
    #通过ffmpeg查看文件属性,使用参数-hide_banner隐藏ffmpeg本身信息ffmpeg-ivideo_file.mp4-hide_banner#格式转换,使用-qscale0来保留原始的视频质量ffmpeg-ivideo_input.wav-qscale0video_output.mp4#格式转换,使用-c:a(音频)和-c:v(视频)来指定编码器名......
  • CentOS 7安装mediainfo以及ffmpeg工具
    基于CentOS7.9的基础镜像,安装mediainfo以及ffmpeg工具一、安装FROMcentos:centos7.9.2009RUNyuminstallepel-release-yRUNyuminstallmediainfo-yRUNrpm-Uvhhttps://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpmRUNyuminstallf......
  • FFMPEG windows版本编译
    安装MSYS2:更新MSYS2系统:pacman-Syu打开正确的终端:?如果您要编译64位版本的FFmpeg)或MSYS2MinGW32-bit(如果您需要编译32位版本)。安装所需组件:?在打开的MinGW-w64终端中,安装编译FFmpeg所需的工具链、开发工具和依赖库:pacman-Sbase-develgitmingw-w64-x86_64-toolchainm......
  • 命令行视频处理工具ffmpeg学习总结
    处理视频是我经常进行得一个操作,但是需要下载大量得视频处理工具,而ffmpeg是个十分强大但是轻量得视频处理工具,通过在命令行里面输入一些指令,我们可以对视频进行许多操作。你可能对它并不了解,但是很多软件都利用了它的技术或者核心库,因此学习一下ffmpeg得使用还是十分有必要的。......
  • FFmpeg开发笔记(二十二)FFmpeg中SAR与DAR的显示宽高比
    ​《FFmpeg开发实战:从零基础到短视频上线》一书提到:通常情况下,在视频流解析之后,从AVCodecContext结构得到的宽高就是视频画面的宽高。然而有的视频文件并非如此,如果按照AVCodecContext设定的宽高展示视频,会发现画面被压扁或者拉长了。比如该书第10章源码playsync.c在播放meg.vob时......
  • FFmpeg开发笔记(二十一)Windows环境给FFmpeg集成AVS3解码器
    ​AVS3是中国AVS工作组制定的第三代音视频编解码技术标准,也是全球首个已推出的面向8K及5G产业应用的视频编码标准。AVS工作组于2019年3月9日完成第三代AVS视频标准(AVS3)基准档次的制订工作,参考软件的测试表明,AVS3基准档次的性能比上一代标准AVS2和HEVC提升了约30%。libuavs3d是AV......
  • FFmpeg
    命令格式:ffmpeg{通用参数}{输入音频参数}{输出音频参数}使用文档:https://cloud.baidu.com/doc/SPEECH/s/7k38lxpwf(百度)https://www.quarkbook.com/wp-content/uploads/2019/10/ffmpeg%E7%BF%BB%E8%AF%91%E6%96%87%E6%A1%A3.pdf(中文翻译) 1、音频格式转换//pcm转为wav注......
  • Lazarus使用FFMpeg解码视频文件
    一、下载ffmpeg-delphi-pascal-headers下载地址Headers|FFVCL–DelphiFFmpegVCLComponents(VideoEncoderandVideoPlayer)下载 Releases·BtbN/FFmpeg-Builds·GitHub 下载与上面版本对应的DLL库二、引用单元libavformat,libavcodec_codec,libavcodec,FFUtils......
  • FFmpeg 命令:从入门到精通 | ffmpeg 命令图片和视频转换
    FFmpeg命令:从入门到精通|ffmpeg命令图片和视频转换截取一张图片转换视频为图片(每帧一张图)图片转换为视频从视频中生成GIF图片将GIF转化为视频FFmpeg命令:从入门到精通|ffmpeg命令图片和视频转换本节主要介绍了ffmpeg命令图片和视频转换的方法,并列举了一些例......