给视频打水印及音频格式转换

package com.d3.picture.util;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.util.ArrayList;

import java.util.List;

import org.apache.commons.io.IOUtils;

import org.apache.commons.lang.math.NumberUtils;

import org.apache.log4j.Logger;

public class FFmpegCmdExecuter {

private static final Logger logger = Logger.getLogger(FFmpegCmdExecuter.class);

public static String FFMPEG = "ffmpeg";

/**

* mp3 to amr

* @param src

* @param dest

*/

public static void mp3ToAmr(String src ,String dest){

logger.info("mp3 to amr:" + dest);

List<String> cmd = new ArrayList<String>();

cmd.add(FFMPEG);

cmd.add("-i");

cmd.add(src);

cmd.add("-ac");

cmd.add("1");

cmd.add("-ar");

cmd.add("8000");

cmd.add(dest);

exec(cmd);

}

/**

* wav to mp3

* @param src

* @param dest

*/

public static void wavToMp3(String src,String dest){

logger.info("wav to mp3:"+dest);

List<String> cmd = new ArrayList<String>();

cmd.add(FFMPEG);

cmd.add("-i");

cmd.add(src);

cmd.add("-acodec");

cmd.add("libmp3lame");

cmd.add(dest);

exec(cmd);

}

/**

* amr to mp3

* @param src

* @param dest

*/

public static void amrToMp3(String src ,String dest){

logger.info("amr to mp3:"+dest);

List<String> cmd = new ArrayList<String>();

cmd.add(FFMPEG);

cmd.add("-i");

cmd.add(src);

cmd.add(dest);

exec(cmd);

}

/**

* 执行指令

* @param cmd 执行指令

*/

public static void exec( List<String> cmd){

BufferedReader stdout = null;

try {

ProcessBuilder builder = new ProcessBuilder();

builder.command(cmd);

builder.redirectErrorStream(true);

Process proc = builder.start();

stdout = new BufferedReader(

new InputStreamReader(proc.getInputStream()));

String line;

while ((line = stdout.readLine()) != null) {

logger.debug(line);

}

proc.waitFor();

} catch (Exception e) {

e.printStackTrace();

}finally{

IOUtils.closeQuietly(stdout);

}

}

/**

* 根据水印图片给视频加水印

* @param src

* @param dest

* @param water

* @param wmPosition

* @param alpha

* @param wmPosition

* @return

*/

public static void videoWater(String src,String dest,String water,int wmPosition, float alpha,String platform) {

List<String> cmd = new ArrayList<String>();

cmd.add(FFMPEG);

cmd.add("-i");

cmd.add(src);

cmd.add("-i");

cmd.add(water);

cmd.add("-filter_complex");

cmd.add("‘‘overlay=main_w-overlay_w:main_h-overlay_h‘‘");

cmd.add("-strict");

cmd.add("-2");

if(NumberUtils.toInt(platform, 0)==3){

cmd.add("-ar");

cmd.add("8000");

}

cmd.add("-b");

cmd.add("877k");

cmd.add("-qscale");

cmd.add("0.01");

cmd.add(dest);

exec(cmd);

}

/**

* 根据水印图片给视频加水印

* @param src

* @param dest

*/

public static void videoPic(String src,String dest) {

List<String> cmd = new ArrayList<String>();

cmd.add(FFMPEG);

cmd.add("-i");

cmd.add(src);

cmd.add(dest);

exec(cmd);

}

}

时间: 2024-10-10 02:53:10

给视频打水印及音频格式转换的相关文章

ffmpeg下载安装和简单应用(C#音频格式转换)

ffmpeg下载安装和简单应用 先介绍一下ffmpeg:FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影.转换.流功能,包含了libavcodec -这是一个用于多个项目中音频和视频的解码器库,以及libavformat--一个音频与视频格式转换库.名字由来:"FFmpeg"这个单词中的"FF"指的是"Fast Forward"[2].有些新手写信给"FFmpeg"的项目负责人,询问FF是不是代表"Fas

怎样将M4A音频格式转换成MP3格式

因为MP3音频格式应用的广泛性,所以很多时候我们都需要将不同的音频格式转换成MP3格式的,那么如果我们需要将M4A音频格式转换成MP3格式,我们应该怎样进行实现呢?下面我们就一起来看一下吧. 操作步骤: 步骤一:先在电脑上准备好需要进行转换的M4A音频文件,因为音频文件的转换我们需要通过电脑来进行实现. 步骤二:音频文件准备好后,我们就可以通过电脑浏览器搜索迅捷PDF在线转换器,来帮助我们对音频文件进行转换了. 步骤三:进入到在线转换器页面后,在页面上方有一排的功能选项导航,我们需要从音视频转换

iOS音频格式转换工具库:ExtAudioConverter

前段时间的工作,和iOS的音频相关,需要一个功能:将音频从wav格式转为mp3格式.这个需求不是很强,但却不太好实现. 于是我写了一个音频格式转换的开源库,这个库包含了iOS/OS X支持的所有音频格式,另外也支持mp3格式(使用lame实现).它仿照OS X上的afconvert命令的参数设置,未来会比afconvert应用范围更大. 开源库名叫ExtAudioConverter,基于ExtAudioFile实现.链接在这里:https://github.com/lixing123/ExtAu

音乐格式怎么转换,音频格式转换的方法

今天所说的是教大家如何转换音频.音乐格式.在生活中我们会听到一些比较好听的歌曲,我们经常会将这些好听的歌曲给下载下来.然而有的时候我们会惊奇地发现某些音乐的格式很奇怪,是一些自己没有见过的音频格式,而且许多的播放器不支持播放,这个时候或许会让你们感到头疼,其实碰到这些比较少见的音频格式的时候我们完全没有必要头疼,将其转换成我们比较常见的mp3格式就行了,那么怎么进行转换呢?看看下面的教程吧. 音频转换器https://www.xunjieshipin.com/download-audioedit

iOS 音频格式转换--caf转mp3

一般为了实现 iPhone 与 Android 实现音频互通. 那么MP3格式的音频文件是一个比较好的选择,当然除此之外Amr是一个最好的选择:Amr音频文件10秒大概就5K大小. 我们这里用一个第三方的框架——lame,把caf,pcm转化成MP3格式 好废话不多说现在开始进入正题 那么在转换之前呢? 就需要先录制好音频文件,使用 AVAudioRecorder 进行音频录制之前,进行如下参数设置: //注意如果是采用WebURL就不能采用AVAudioPlayer只能采用AVPlayer这点

【 优秀的视频播放和格式转换工具】Leawo Prof. Media for Mac

[简介] Leawo Prof. Media 是一款Mac上集成了多种视频相关功能于一体的软件,具有视频播放.视频格式转换.在线视频下载.光盘镜像制作.电子相册制作.视频特效编辑等功能,很强大的一款多功能视频处理软件! Leawo Prof Media Mac版是一款macOS平台的全功能视频音频格式转换工具,Prof Media for Mac可以帮助我们在mac电脑上非常方便地进行视频格式转换.音频格式转换等. Leawo Prof Media Mac版支持超过180多种的视频格式转换,Le

音频格式转换器哪个最快最好用

在我们的日常工作中,许多人开始尝试着将音频进行格式转换,它简单却很有效,利用音频转换工具,将不同的格式进行转换,让我们随意转换自己喜欢的格式,那么,哪款转换器简单又好用呢?如何简单快速地进行音频格式转换呢?相信大家都有这样一个疑问,下面,跟着小编一起进入今天的课堂! 工具特色: 迅捷音频转换器它是一款多功能的音频编辑处理软件,软件具有音频剪切.音频提取.音频合并和音频转换这四个功能,这款工具操作简单,功能强大可以多种分割方式进行音频剪切,操作简单特点,支持而且软件不仅支持单个文件操作,还支持文件

史林枫:C#.NET利用ffmpeg操作视频实战(格式转换,加水印 一步到位)

ffmpeg.exe是大名鼎鼎的视频处理软件,以命令行参数形式运行.网上也有很多关于ffmpeg的资料介绍.但是在用C#做实际开发时,却遇到了几个问题及注意事项,比如如何无损处理视频?如何在转换格式的同时添加水印,以提升处理效率?,ffmpeg的版本应该选择什么版本?.今天史林峰将用实战的方式来探索C#操作ffmpeg的奥秘. 关于ffmpeg的使用及其参数命令,这里就不做过多介绍了.主要以项目实战中为主. 因工作需要,笔者手头有近300部短视频需要处理,在网上找了不少工具,虽然能用,但是用起来

mp3文件如何使用迅捷视频转换器在线转换成ape音频格式呢?

有些人听音乐喜欢品质高的,市面上有很多音频格式都是有损压缩,像mp3就把人耳听不到的删掉了,再好的设备也不可能还原.mp3音频格式是大家熟悉的音频格式,而mp3是有损压缩,就是把人耳听不到的全部删除了,不能恢复的.但是ape就不一样,ape是无损压缩,压缩后还能恢复源文件,保证了其完整性.迅捷PDF在线转换器是一款多功能的在线音频转换器软件.可一键实现MP3,M4A,WMA,OGG,APE等多种格式的音频转换,不仅转换快速,而且操作非常简单方便.下面给大家详细介绍下迅捷PDF在线转换器的使用方法