
FFmpeg实用技巧
文章平均质量分 81
FFmpeg是一完整的跨平台解决方案,可用于音视频的录制、转码、流化处理等应用,号称音视频领域的神器,小巧高效多能。不仅在工作中可以使用,日常生活中也可以用来处理一些DIY视频。
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
Data-Mining
一枚典型的音视频技术爱好者
展开
-
《FFmpeg实用技巧》系列(初级)-总览
前言FFmpeg是一个完整的跨平台解决方案,可用于音视频的录制、转码、流化处理等应用,号称音视频领域的瑞士军刀,小巧高效多能。不仅在工作中可以使用,日常生活中也可以用来处理一些DIY视频。掌握FFmpeg的常规使用方式可以作为自己的一个加分技能。正文FFmpeg[1]-ffplay的正确打开方式(三剑客1)FFmpeg[2]-ffprobe的正确打开方式(三剑客2)FFmpeg[3]-ffmpeg的正确打开方式(三剑客3)FFmpeg[4]-将视频文件转码成FLV格式(FFmpeg转原创 2020-12-22 22:09:33 · 2292 阅读 · 8 评论 -
FFmpeg[3] - ffmpeg的正确打开方式(三剑客3)
前言FFmpeg是一个完整的跨平台音视频解决方案,它可以用于处理音频和视频的转码、录制、流化处理等应用场景。官网:http://ffmpeg.org/。FFmpeg有三大利器,分别是ffmpeg、ffprobe、ffplay。今天主要介绍ffmpeg,它是FFmpeg用于音视频转码,转封装、转推流的基础工具。实战一、编码器使用 ffmpeg -encoders 命令可以查看当前ffmpeg版本支持的编码器都有哪些。如果你正在使用ffmpeg编码,报错了,你可以使用这个命令查看一下当前的.原创 2020-08-07 14:04:27 · 1511 阅读 · 0 评论 -
FFmpeg[1] - ffplay的正确打开方式(三剑客1)
目录前言实战播放音频播放视频总结前言FFmpeg是一个完整的跨平台音视频解决方案,它可以用于处理音频和视频的转码、录制、流化处理等应用场景。官网:http://ffmpeg.org/。FFmpeg有三大利器,分别是ffmpeg、ffprobe、ffplay。今天主要介绍ffplay,它是FFmpeg用于播放音视频文件的播放器。实战ffplay既可以播放音频,又可以播放视频,是从事音视频相关开发的工作人员常用的基础工具之一。掌握ffpaly的使用是非常有必要的。接下来.原创 2020-07-05 23:06:29 · 1656 阅读 · 0 评论 -
FFmpeg[2] - ffprobe的正确打开方式(三剑客2)
目录前言实战分析音频分析视频总结前言FFmpeg是一个完整的跨平台音视频解决方案,它可以用于处理音频和视频的转码、录制、流化处理等应用场景。官网:http://ffmpeg.org/。FFmpeg有三大利器,分别是ffmpeg、ffprobe、ffpley。今天主要介绍ffprobe,它是FFmpeg用于查看媒体文件格式信息的强大工具。实战分析音频话不多说,先来看ffprobe的简单使用实例:ffprobe 少年.mp3在 少年.mp3 文件的同级目录运行上原创 2020-06-23 23:19:09 · 1707 阅读 · 6 评论 -
FFmpeg[7] - FFmpeg之预设编码参数preset
FFmpeg是一款非常强大的音视频处理工具,它不仅功能强大而且非常好用,比如视频转码中一个非常实用的参数就是preset。今天我们将重点介绍preset参数的作用以及它的使用方法。preset是FFmpeg中一个用于控制视频转码的预设参数,可以用来控制视频转码过程中的画面质量和转码速度。它主要用来平衡视频的质量和转码的速度,因为有时候我们希望视频的转码速度尽可能的快,有时候则希望输出视频的质量尽可能的好。因此,在这两个极端中间,FFmpeg提供了更多的选项,让大家根据自己的实际需要来选择。原创 2023-07-23 21:48:23 · 1350 阅读 · 0 评论 -
FFmpeg[36] - Could not write header for output file #0 (incorrect codec parameters ?): Invalid
今天想把 wav 音频文件转换成 mp3 音频文件,遇到了如下报错信息:-async is forwarded to lavfi similarly to -af aresample=async=1:min_hard_comp=0.100000:first_pts=0.[mp3 @ 0x5557a65be5c0] Invalid audio stream. Exactly one MP3 audio stream is required.Could not write header for outp原创 2021-12-20 23:56:42 · 7491 阅读 · 0 评论 -
FFmpeg[32] - x264 [error]: high422 profile doesn‘t support lossless
问题今天在使用 ffmpeg 的过程中,又遇到了一个问题,由于播放器的限制,现在需要把 x264 的 profile 调低一点。但是,把 profile 调整成baseline、main、high、high10、high422 等 level 之后,都会遇到如下报错信息:原创 2021-11-14 12:13:39 · 1602 阅读 · 0 评论 -
FFmpeg[31] - 利用FFmpeg设置视频预览封面
目录问题解决《FFmpeg实用技巧》系列-总览_liuzhen007的专栏-优快云博客前言FFmpeg是一个完整的跨平台解决方案,可用于音视频的录制、转码、流化处理等应用,号称音视频领域的瑞士军刀,小巧高效多能。不仅在工作中可以使用,日常生活中也可以用来处理一些DIY视频。掌握FFmpeg的常规使用方式可以作为自己的一个加分技能。正文FFmpeg[1]-ffplay的正确打开方式(三剑客1)FFmpeg[2]-ffprobe的正确打开方式(三剑客2)FFmpeg[3]-ffmpeg的正确...原创 2021-10-18 23:41:32 · 2896 阅读 · 11 评论 -
FFmpeg[30] - 使用FFmpeg命令生成常见的音频和视频格式的文件
问题为了验证播放器对音视频文件格式支持的范围,需要准备一些素材,包括常见的视频格式,比如 mp4、avi、mkv、mov、flv、rmvb等,常见的音频格式,比如 mp3、wav、wma、ape、flac、aac等。直接从网上下载对应格式的音视频文件是一种途径,但是还有没有别的方式呢?这就是我们今天要介绍的内容。解决为了获取这些封装格式的音频和视频文件,除了从网上下载别人生成好的媒体文件外,还可以自己生成对应的音视频文件,这就需要用到我经常介绍的多媒体利器——FFmpeg。接下来,我们就从转码和原创 2021-09-24 09:22:13 · 592 阅读 · 0 评论 -
FFmpeg[29] - Filter overlay has a unconnected output
《FFmpeg实用技巧》系列-总览问题今天使用ffmpeg命令的时候遇到了如下报错信息:Filter overlay has a unconnected output报错截图:原创 2021-09-07 22:24:24 · 2430 阅读 · 0 评论 -
FFmpeg[28] - FFmpeg实现多个视频文件的合并(时间和空间)
目录前言正文时间维度上空间维度上结尾前言FFmpeg实现视频文件合并可以从两个维度思考,分别是时间维度和空间维度。正文假设目前存在两个mp4视频文件(1.mp4和2.mp4),在合并这两个视频文件时,从时间维度上讲,我们可能想实现的是在1.mp4视频的后边拼接上2.mp4视频,最终的视频时长是1.mp4和2.mp4的视频时长的总和。从空间维度上讲,我们可能想实现1.mp4视频和2.mp4视频的同时播放,最终的视频是一个视频包含两个视频窗口,同时播放1.mp4和2.m.原创 2021-07-17 22:26:41 · 1500 阅读 · 2 评论 -
FFmpeg[26] - ffmpeg合并拼接mp4
从事音视频相关工作,特别是点播业务的研发同学,经常会遇到视频合并的问题。今天自己就遇到了一个问题,将录制产生的多个mp4视频文件合并成一个大的mp4文件。怎么操作才能满足这个需求?搜索的话,网上又很多ffmpeg合并的方法,但是针对mp4的可行方法不多,因为mp4文件有很多限制,比如不能直接拼接。通过实验,本人发现可行的方法有两种,接下来通过实例分别介绍一下这两种方法。假设,需...原创 2020-05-07 21:11:22 · 1989 阅读 · 0 评论 -
FFmpeg[27] - FFmpeg实现视频抠图技巧(chromakey)
前言经常玩抖音和快手的小伙伴,对于视频抠图功能应该不会陌生。在这个过程中,我们使用是手机(移动端)且用的是别人家的APP(不能进行个性化的DIY)。那么,我们可不可以自己在桌面客户端也实现类似的视频抠图功能呢?今天就大家体验一把这种神奇的操作。原创 2021-05-11 22:42:59 · 2442 阅读 · 9 评论 -
教你如何用Golang+FFmpeg哄女朋友开心【珍藏版】
目录前言正文party 1为女朋友吹的牛买单party 2抖音特效不够用,自己来加party 3让女朋友突破微信的限制最后前言本人其实非常内敛,不太爱炫耀自己的感情故事,奈何优快云推出了相关主题的征文活动,我都有些迫不及待的要动笔了。正文经常听到女同学和女同事抱怨,说程序猿不懂得浪漫,时间久了,仿佛我们程序猿也慢慢接受了这样的标签。其实,只要我们有一个有想法的心,就能创造出属于我们程序猿的浪漫。这种浪漫不一定要惊艳四座、不一定要轰轰烈烈,但是却实实在原创 2021-02-09 21:05:12 · 4087 阅读 · 7 评论 -
FFmpeg[24] - FFmpeg保存rtsp流为m3u8文件
目录问题解决方法一、分割ts法方法二、m3u8保存法问题目前遇到一个需求,希望把rtsp的线上视频流保存为m3u8文件,并保存到指定目录。解决方法一、分割ts法最开始想到的方法是先将rtsp视频流保存为ts文件,再进行裁剪分割保存成m3u8文件。保存ts文件的命令:ffmpeg -i "rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov" -c copy -y ./m3u8/s..原创 2020-12-27 11:45:29 · 3971 阅读 · 4 评论 -
FFmpeg[7] - 教你如何通过命令行在linux上下载ffmpeg可执行程序
问题从事服务器开发后发现,服务器也少不了调用ffmpeg进程去完成一些任务。在没有图形用户界面的linux服务器机器上,怎么下载ffmpeg可执行程序呢?解决众所周知,在linux服务器上的任何操纵都必须使用命令行。下载ffmpeg可执行程序也一样,接下来就看看具体怎么操作吧。一、进入官网下载页进行如图标记的操作,先选择linux系统,再选择“Linux Static Builds”。二、选择版本进入新页面后,我们看到如下图所示的信息。如果是正式生产环境使用,推荐使用原创 2020-12-20 09:49:55 · 2764 阅读 · 10 评论 -
FFmpeg[8] - FFmpeg将视频转换成GIF动图
前言今天突然想到一个问题,如何利用ffmpeg将一段mp4视频转换成GIF动图呢?接下来,开始我们的探索。正文经过分析发现,ffmpeg库已经集成了gif动图的转换能力,想要实现这样的效果其实非常简单。原创 2020-10-27 22:39:31 · 1969 阅读 · 0 评论 -
FFmpeg[9] - FFmpeg个性截取视频文件
前言工作和生活中会经常用ffmpeg去裁剪一些视频文件,今天就以mp4为例看看怎么裁剪。为什么用mp4呢,因为mp4格式的视频最为常见。正文通过时间参数裁剪命令:通过视频帧数裁剪使用ffprobe提前查看了视频帧率是30FPS,以截取两秒的时间片段为例。命令:ffmpeg -i 2.mp4 -vf trim=start_frame=30:end_frame=90+1 -an output.mp4参数分析:start_frame:表示起始帧的索引,这里..原创 2020-10-22 22:03:17 · 718 阅读 · 0 评论 -
FFmpeg[6] - 将视频文件转码成MKV格式(FFmpeg转封装3)
目录前言正文前言今天我们来看看FFmpeg如何将一个视频文件转换成MKV格式。正文MKV其实就是Matroska,它是一种开放标准的自由的容器和文件格式。作为一种多媒体封装格式,能够在一个文件中容纳不同数量的视频、音频、图片或字幕轨道。在概念上MKV和其他容器,比如AVI、MP4比较类似,但其在技术规程上完全开放,在实现上包含了很多开源软件。可将多种不同编码的视频及16条以上不同格式的音频和不同语言的字幕流封装到一个MKV媒体文件当中。最大的特点就是能容纳多种不同类型编码的视频.原创 2020-10-18 20:56:00 · 2569 阅读 · 1 评论 -
FFmpeg[10] - ffmpeg推流到指定的服务器
rtmp流媒体服务器启动后,就可以运行如下命令,使用ffmpeg向服务器推流。搭建服务器可以参考这篇文章(点这里)。ffmpeg -re -stream_loop -1 -i 凉凉-MV.mp4 -vcodec copy -acodec copy -f flv rtmp://localhost:1935/test/live-stream_loop : -1 表示循环推流 -0 表...原创 2019-04-18 17:34:51 · 6124 阅读 · 0 评论 -
FFmpeg[5] - 将视频文件转码成MP4格式(FFmpeg转封装2)
前言今天我们来看看FFmpeg如何将一个视频文件转码成MP4格式。正文结论原创 2020-10-17 17:38:35 · 1751 阅读 · 0 评论 -
FFmpeg[4] - 将视频文件转码成FLV格式(FFmpeg转封装1)
前言今天就来看看FFmpeg如何将一个视频文件转码成FLV格式。正文FLV封装格式支持常见的视频H264(AVC)、H263,音频mp3、AAC、speex等编码。所以进行转换前需要查看源视频文件的音频和视频编码是否在FLV支持的范围之列,这个可以使用ffprobe工具(参考链接)查看。如果源视频文件存在不被支持的音频或视频编码方式,则需要单独进行相应的转码操作。...原创 2020-10-16 20:27:34 · 2120 阅读 · 0 评论 -
FFmpeg[11] - ffmpeg去除水印(图片和文字)
前言之前有篇文章介绍了如何使用ffmpeg给视频叠加图片水印,内容比较简单,这篇文章在篇幅上会有所不同,不要多想,只会更简单。想了解的可以点击传送门。正文一、准备素材视频素材还用凉凉的MV吧,先手动增加图片水印。命令:ffmpeg -i 凉凉-MV.mp4 -acodec copy -b:v 600k -vf "movie=face.jpg[watermark];[in][watermark]overlay=20:20" output.mp4具体参数就不详细介绍了,可以参考链原创 2020-10-02 14:02:31 · 4333 阅读 · 5 评论 -
FFmpeg[12] - FFmpeg之视频分段裁剪(等时间段)
FFmpeg有非常多的功能。实际生活中,经常会遇到想把一段视频等比例切片的情况,今天就来介绍一下怎么实现这个功能。实现这个功能的前提就是对FFmpeg的视频操作非常了解。这个功能涉及到一个参数 segment_time ,意思是时间切片时长,你可以使用时间格式,时:分:秒 ,表明时间切片长度。比如我们想将test.mp4进行切片,每片视频的时间长度是6分钟,可以使用如下命令。windows机器:ffmpeg.exe -i C:/clips/test.mp4 -c copy -map原创 2020-09-06 10:39:50 · 9642 阅读 · 15 评论 -
FFmpeg[13] - 如何实现视频文件的倍速播放和慢速播放
如何利用实现视频文件的倍速播放和慢速播放,这个神奇就是ffmpeg。利用ffmpeg相应的配置命令将视频文件转码成对应效果的视频文件。1. 把视频文件转码成慢两倍速播放的命令实例ffmpeg -i test.mp4-filter:v "setpts=2.0*PTS" test-output.mp42.把视频文件转码成慢四倍速播放的命令实例ffmpeg -i test.mp4-filter:v "setpts=4.0*PTS" test-output.mp43.把视频...原创 2020-08-25 13:58:03 · 4775 阅读 · 0 评论 -
FFmpeg[15] - 从官网下载FFmpeg时的坑,你有遇到吗?
由于项目需要一个ffmpeg库,比较着急,自己就懒得单独编译了,直接去官网下载一个现成的得了,毕竟官网提供了三种对应的版本,完全够用了。说真的,好久不来FFmpeg官网了,老样子,看准系统macOS,好的,点击去,下载全量版本,到时候自己什么就挑什么。这个时候,我们来到了下载界面,坑出现了,注意颜色变化。深色表示选中状态,默认下载的不是稳定的发布版本,而是一个临时的编译版本,我的天啊!当时我居然没有发现。(不能怨官网,只怪自己不细心)那么后来,我是怎么发现的呢?功能开发完后,自己梳理技.原创 2020-05-14 16:15:58 · 5815 阅读 · 0 评论 -
FFmpeg[16] - FFmpeg 4.2 release
不知不觉,ffmpeg已经更新到4.x了,想想最初接触的版本还是2.x,2019年8月5日,ffmpeg发布了4.2版本,上个版本4.1是2018年11月6日,版本更新还是很紧凑的。现把该版本的release亮点保存一下:tpad过滤器 通过libdav1d支持AV1解码 点过滤器 chromashift和rgbashift滤镜 冻结检测过滤器 truehd_core比特流过滤器 ...原创 2019-10-15 17:39:45 · 2071 阅读 · 0 评论 -
FFmpeg[20] - ffprobe 的常用方法
ffprobe是ffmpeg的一个重要模块,可以用来查看文件的各种媒体信息。ffprobe的英文解释:Simple multimedia streams analyzer,它的命令行使用方式如下:usage: ffprobe [OPTIONS] [INPUT_FILE]它的主要参数如下:其实,ffprobe不仅支持本地媒体文件的分析,还支持在线文件分析。例子1,比如运行如下命令...原创 2019-05-13 10:29:43 · 3395 阅读 · 0 评论 -
FFmpeg[21] - ffmpeg 叠加图片水印
Mac安装ffmpeg工具后,就可以使用简单的命令行来处理视频,进行叠加图片水印操作,下边举个例子:把图片1.jpg叠加到test.mp4视频的底部,命令如下:ffmpeg -i test.mp4 -vf "movie=1.jpg,scale=480:120[watermask];[in][watermask] overlay=1:820[out]" -y out.mp4参数解析:...原创 2018-10-15 17:44:53 · 4997 阅读 · 0 评论 -
FFmpeg[17] - no startcode found, use the video bitstream filter ‘h264_mp4toannexb‘
自己遇到这个问题的时候,正在使用ffmpeg录制保存某股线上的rtmp流,具体报错信息如下:[avi @ 0x7f9efa893600] H.264 bitstream malformed, no startcode found, use the video bitstream filter 'h264_mp4toannexb' to fix it ('-bsf:v h264_mp4toann...原创 2018-09-17 21:18:50 · 3802 阅读 · 0 评论 -
FFmpeg[19] - ffmpeg: Unable to find a suitable output format for ‘–i‘
遇到这个问题就是不细致造成的,从网页上粘贴过来命令,直接运行。(我也是这样的~~)其实原因很简单,就是我们使用了破折号(–)代替来了应该使用的连字符号(-)。睁大自己的眼睛哟!...原创 2018-09-17 20:49:04 · 25370 阅读 · 7 评论 -
FFmpeg[18] - mac解决yasm/nasm not found or too old. Use --disable-yasm for a crippled build.
编译ffmpeg时,出现这个报错。原因是ffmpeg使用了yasm编译指令,需要机器安装yasm插件。解决方法非常简单,命令行输入:brew install yasm前提是本机已经安装了brew插件,如果没有安装参考链接:如果是window系统或者linux系统,请参考链接:原创 2017-11-29 17:34:38 · 2756 阅读 · 0 评论