ffmpeg 频中分离 video audio 截取片断

2024-01-25 04:48

本文主要是介绍ffmpeg 频中分离 video audio 截取片断,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1,获取视频的信息
   ffmpeg -i video.avi

2,将图片序列分解合成视频
   ffmpeg -i src.mpg image%d.jpg

   ffmpeg -f image2 -i image%d.jpg dst.mpg  

合成注意事项:

如果图片序列是3位数,用image%03d

如果jpg文件名字是乱的用,下面命令规整一下

x=1; for i in *jpg; do counter=$(printf %03d $x); mv  "$i" image"$counter".jpg; x=$(($x+1)); done

   
3, 从视频中分离 video, audio 片断

只要音频
ffmpeg -i src.mp4  -ss 00:00:10 -t 00:00:5  -vn -acodec copy  dst.mp4  ( -vn 表示 "video no" , -ss 00:00:10 -t 00:00:5 表示开始时间为10秒,长度5秒)

只要视频

ffmpeg -i src.mp4  -ss 00:00:10 -t 00:00:5  -an -vcodec copy  dst.mp4  ( -an 表示 "audio no" >)


4.从视频抽出声音,并存为Mp3
   ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3
( Ubuntu 下可能转化失败,现运行sudo apt-get install ffmpeg libavcodec-extra-53)

5 合成视频和音频
   ffmpeg -i son.wav -i video_origine.avi video_finale.mpg (音频也可以是 mp3 , 如果音频比视频长,用KMP播放文件, 视频播完后停最后一画面,音频继续) 

其他  
为视频重新编码以适合在iPod/iPhone上播放
   ffmpeg -i source_video.avi input -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4

为视频重新编码以适合在PSP上播放
   ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4

将.avi转成gif动画(未压缩)
   ffmpeg -i video_origine.avi gif_anime.gif

将.avi转成dv
   ffmpeg -i video_origine.avi -target pal-dv video_finale.dv


将.avi压缩成divx
   ffmpeg -i video_origine.avi -s 320x240 -vcodec msmpeg4v2 video_finale.avi
   


问题和高级技巧:

1)The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.

在command中加入  -acodec aac  -strict -2, 比如:

$ ffmpeg    -i 02软件园.mp4 -i 1.mp3  -acodec aac  -strict -2   软件园.mp4 


2)两个声音mix

ffmpeg -i input1.wav -i input2.wav -filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]" -ac 2 output.mp3

ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 output.mp3


3) join 

ffmpeg -i "concat:input1.mpg|input2.mpg|input3.mpg" -c copy output.mpg

ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts
ffmpeg -i input2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4

ffmpeg -f concat -i <(find . -name '*.wav' -printf "file '%p'\n") -c copy output.wav

4) 视频倒放

$ ffmpeg -i input.mkv -an -qscale 1 %06d.jpg
$ x=1; for i in $(ls -t *jpg); do counter=$(printf %03d $x); mv  "$i" img"$counter".jpg; x=$(($x+1)); done
$ 再合成jpg

5) 声音倒放

转化为 wav, 用sox 实现声音反转

sox -V audio.wav backwards.wav reverse
6)声音压缩

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv



ref

https://trac.ffmpeg.org/wiki/Concatenate

https://trac.ffmpeg.org/wiki/AudioChannelManipulation

http://stackoverflow.com/questions/2553448/encode-video-in-reverse

https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video


更多:

http://blog.csdn.net/leixiaohua1020/article/details/38284961

这篇关于ffmpeg 频中分离 video audio 截取片断的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/642123

相关文章

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

基于Java和FFmpeg实现视频压缩和剪辑功能

《基于Java和FFmpeg实现视频压缩和剪辑功能》在视频处理开发中,压缩和剪辑是常见的需求,本文将介绍如何使用Java结合FFmpeg实现视频压缩和剪辑功能,同时去除数据库操作,仅专注于视频处理,需... 目录引言1. 环境准备1.1 项目依赖1.2 安装 FFmpeg2. 视频压缩功能实现2.1 主要功

Spring Security 前后端分离场景下的会话并发管理

《SpringSecurity前后端分离场景下的会话并发管理》本文介绍了在前后端分离架构下实现SpringSecurity会话并发管理的问题,传统Web开发中只需简单配置sessionManage... 目录背景分析传统 web 开发中的 sessionManagement 入口ConcurrentSess

MySQL中读写分离方案对比分析与选型建议

《MySQL中读写分离方案对比分析与选型建议》MySQL读写分离是提升数据库可用性和性能的常见手段,本文将围绕现实生产环境中常见的几种读写分离模式进行系统对比,希望对大家有所帮助... 目录一、问题背景介绍二、多种解决方案对比2.1 原生mysql主从复制2.2 Proxy层中间件:ProxySQL2.3

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

MySQL主从复制与读写分离的用法解读

《MySQL主从复制与读写分离的用法解读》:本文主要介绍MySQL主从复制与读写分离的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、主从复制mysql主从复制原理实验案例二、读写分离实验案例安装并配置mycat 软件设置mycat读写分离验证mycat读

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结