使用ffmpeg合并视频遇到的坑

这篇具有很好参考价值的文章主要介绍了使用ffmpeg合并视频遇到的坑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下面以Linux环境介绍为主

1.ffmpeg可执行命令不同的环境是不同的,Linux在执行命令前还需要授权。

2.合并视频命令:

使用ffmpeg合并视频遇到的坑,ffmpeg,音视频,java

主要命令: {} -f concat -auto_convert 0 -safe 0 -i {} -y -c:v copy  

坑一:其中第一个花括号替换的是可执行命令所在的绝对路径,这里必须要使用ffmpeg的绝对路径,因为把应用打成jar包是无法获取到绝对路径的,具体可参考:Jar包启动通过ClassPathResource获取不到文件路径问题_classpathresource找不到文件_DanceDonkey的博客-CSDN博客

解决:但是我的可执行文件又无法使用流的方式读取,所以只能让运维把ffmpeg的可执行文件放到生产环境一个固定路径。

坑二:第二个花括号的值 =》是将原来多个视频的路径放到一个txt文件里面,这个值就是这个txt文件的决定路径。

之前我是将原多个视频的路径一个个跟在填充到第二个花括号里面,类似这种

使用ffmpeg合并视频遇到的坑,ffmpeg,音视频,java

发现一直保存,找不到文件。最后发现必须将这两个mp4的绝对路径按照一定的格式写入到txt文件中,然后把花括号替换这个txt文件的绝对路径才不会报错。

 使用ffmpeg合并视频遇到的坑,ffmpeg,音视频,java

使用ffmpeg合并视频遇到的坑,ffmpeg,音视频,java

 坑三:

使用ffmpeg合并视频遇到的坑,ffmpeg,音视频,java

 使用Runtime.getRuntime().exec 执行命令,发现这个命令是异步的,意思是大文件视频还没合成完,主线程就已经执行完了,这显然是不能接受的,于是加了一行

process.waitFor(); 测试环境验收完毕,已经就这样结束了,到生产才发现只要执行合并命令就会卡死,最后参考了这个贴子才解决

https://www.cnblogs.com/163yun/p/9878915.html

java关于ffmpeg推流停止的问题_ffmpeg停止推流_qq_35629433的博客-CSDN博客

使用ffmpeg合并视频遇到的坑,ffmpeg,音视频,java

使用ffmpeg合并视频遇到的坑,ffmpeg,音视频,java

 

关于ffmpeg的可执行包已上传

使用ffmpeg合并视频遇到的坑,ffmpeg,音视频,java文章来源地址https://www.toymoban.com/news/detail-600495.html

到了这里,关于使用ffmpeg合并视频遇到的坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java工程使用ffmpeg进行音视频格式转换(ws.schild)

    JAVE (Java Audio Video Encoder)是一个纯Java的音视频编码器和解码器库,它是基于FFmpeg。JAVE库提供了一些简单易用的API,用于音频和视频格式的转换、编码、解码等操作。它对于一些基本的音视频处理任务来说是一个不错的选择。 这些库都是基于FFmpeg的,并允许在Java中处理音频和

    2024年02月14日
    浏览(64)
  • 【FFmpeg】音视频录制 ① ( 查询系统中 ffmpeg 可录制的音视频输入设备 | 使用 ffmpeg 命令录制音视频数据 | 录制视频数据命令 |录制音频数据| 同时录制音频和视频数据命令 )

    在 Windows 系统中 , 使用 ffmpeg 命令 录制 音视频 , 需要先获取 系统的 音视频设备 信息 , 录制 音视频 本质上是从 系统音视频设备 中获取数据 ; 执行 命令 , 可以获取 系统中 ffmpeg 可用的 DirectShow 音视频输入设备 ; 命令参数解析 : -list_devices true : 列出所有 ffmpeg 的 指定类型的可

    2024年04月25日
    浏览(70)
  • [音视频处理] FFmpeg使用指北1-视频解码

    本文将详细介绍如何使用ffmpeg 4.4在C++中解码多种格式的媒体文件,这些媒体文件可以是视频、视频流、图片,或是桌面截屏或USB摄像头的实时图片。解码文件后,还将每帧图片转换为OpenCV的Mat格式以供后续使用。 目录 1 基于ffmpeg的媒体文件解码 1.1 简介 1.2 详细代码 2 ffmpeg函

    2024年02月07日
    浏览(46)
  • 强大开源的音视频处理工具ffmpeg安装与使用

    FFmpeg 是一个开源的跨平台音视频处理工具,提供了丰富的命令行模式下音视频处理功能,包括格式转换、编解码、过滤器应用等。 由于 FFmpeg 支持的格式广泛,且可用于多个平台和操作系统(如 Windows、Linux、MacOS 等),因此它已成为许多多媒体应用程序和服务的核心组件。

    2024年02月05日
    浏览(49)
  • 音视频开发五:visual studio集成使用FFmpeg

    ffmpeg 官网 - download - 选择Windows系统 - 选择gyan.dev版本- shared版本 在Windows系统上,Gyan.dev和BtbN都提供了FFmpeg的预编译版本。Gyan.dev通常使用MSVC编译器,而BtbN使用MinGW编译器。因此,Gyan.dev的版本可能会更符合Windows标准,而BtbN的版本可能会更加开放和跨平台。 选择 shared版本 各

    2024年02月04日
    浏览(43)
  • Java如何整合FFmpeg、FFprobe等音视频处理工具,零基础照样玩

    最后奉上工具的学习资料(感兴趣的可以看看),废话不多说!!!!! FFmpeg是啥 :​ ffmpeg(命令行工具) 是一个快速的音视频转换工具。 FFmpeg能干啥 :如果你用过爱剪辑的话或者其他一些音视频处理软件的话,你可以理解他们能做的你用玩意都能做。 为啥要用FFmpeg :开源

    2024年02月02日
    浏览(48)
  • 使用FFmpeg将本地文件通过UDP推流的音视频

    推流是指将音视频数据通过网络传输到指定的目标端,而FFmpeg是一个功能强大的跨平台多媒体处理工具,可以用于音视频编解码、转码、处理等操作。本文将介绍如何使用FFmpeg将本地文件通过UDP协议进行推流,实现音视频数据的传输。 首先,需要确保已经安装了FFmpeg工具。如

    2024年03月19日
    浏览(50)
  • 音视频开发:ffplay使用ffmpeg滤镜实现倍速播放

    曾经为实现倍速播放使用过ffmpeg,对音频使用atempo滤镜即可实现变速不变调。但是当时效果并不是特别好,和soundtouch相比处理后的音质有明显的区别。最近用新版本的ffmpeg滤镜重新实现了倍速播放,发现效果变好,已经达到可接受的程度,所以在此分享具体实现。 ffmpeg倍速

    2024年02月03日
    浏览(67)
  • 使用Android系统的MediaMuxer写一个音视频合并的方法。

    使用Android系统的MediaMuxer写一个音视频合并的方法。

    2024年02月11日
    浏览(35)
  • 【FFmpeg】ffmpeg 命令行参数 ⑤ ( 使用 ffmpeg 命令提取 音视频 数据 | 保留封装格式 | 保留编码格式 | 重新编码 )

    使用 ffmpeg 命令 从 视频数据 中 提取 音频数据 / 视频数据 保留封装格式 , 封装格式 指的就是 封装 视频数据 的 容器 ; 一个 mp4 格式的视频 , 其 封装容器 就是 mp4 容器 , 其中 封装了 h.264 格式的视频数据 和 aac 格式的 音频数据 ; 执行 命令 , 从 input.mp4 输入文件中 , 提取 音频

    2024年03月23日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包