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

相关文章

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

springboot将lib和jar分离的操作方法

《springboot将lib和jar分离的操作方法》本文介绍了如何通过优化pom.xml配置来减小SpringBoot项目的jar包大小,主要通过使用spring-boot-maven-plugin... 遇到一个问题,就是每次maven package或者maven install后target中的ja

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

Apple quietly slips WebRTC audio, video into Safari's WebKit spec

转自:http://www.zdnet.com/article/apple-quietly-slips-webrtc-audio-video-into-safaris-webkit-spec/?from=timeline&isappinstalled=0 http://www.zdnet.com/article/apple-quietly-slips-webrtc-audio-video-