首页 > 其他分享 >ffmpeg

ffmpeg

时间:2023-10-04 23:57:14浏览次数:35  
标签:00 ffmpeg 音频 mp4 video copy

1.下载

2.播放视频

ffplay video.mp4 

3.播放音频

ffplay music.mp3

4.查看视频/音频属性

ffprobe video.mp4

5.视频后缀格式转换

ffmpeg -i video.mp4 output.mov

6.音频转换格式

ffmpeg -i music_flac.flac -acodec libmp3lame -ar 44100 -ab 320k -ac 2 out.mp3
  • flac无损音频格式
  • acodec: 指定音频编码器
  • ar:设置音频采样率,默认使用原音频,一般采用48hz和44.1hz
  • ab:指定音频比特率,默认是128k
  • ac:设置声道数。1单声道,2双声道立体声。默认采用原音频

7.视频压制

ffmpeg -i video.mp4 -s 1920x1080 -pix_fmt yuv420p -vcodec libx264 -preset medium -profile:v high -level:v 4.1 -crf 23 -acodec aac -ar 44100 -ac 2 -b:a 128k video_avi.avi
  • -s 1920x1080:缩放视频新尺寸(size)
  • -pix_fmt yuv420p:pixel format,用来设置视频颜色空间。参数查询:ffmpeg -pix_fmts
  • -vcodec libx264:video Coder Decoder,视频编码解码器
  • -preset medium: 编码器预设。参数:ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow,placebo
  • -profile:v high :编码器配置,与压缩比有关。实时通讯-baseline,流媒体-main,超清视频-high
  • -level:v 4.1 :对编码器设置的具体规范和限制,权衡压缩比和画质。
  • -crf 23 :设置码率控制模式。constant rate factor-恒定速率因子模式。范围051,默认23。数值越小,画质越高。一般在828做出选择。
  • -r 30 :设置视频帧率
  • -acodec aac :audio Coder Decoder-音频编码解码器
  • -b:a 128k :音频比特率.大多数网站限制音频比特率128k,129k
    其他参考上一个教程

8.码率控制

(1) -qp :constant quantizer,恒定量化器模式

无损压缩的例子(快速编码)

ffmpeg -i input -vcodec libx264 -preset ultrafast -qp 0 output.mkv

无损压缩的例子(高压缩比)

ffmpeg -i input -vcodec libx264 -preset veryslow -qp 0 output.mkv

(2) -crf :constant rate factor,恒定速率因子模式

(3) -b :bitrate,固定目标码率模式。一般不建议使用

3种模式默认单遍编码

VBR(Variable Bit Rate/动态比特率) 例子

ffmpeg -i input -vcodec libx264 -preset veryslow output

ABR(Average Bit Rate/平均比特率) 例子

ffmpeg -i input -vcodec libx264 -preset veryslow -b:v 3000k output

CBR(Constant Bit Rate/恒定比特率) 例子

... -b:v 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k ...

9.提取视频/音频

(1)单独提取视频(不含音频流)

ffmpeg -i video.mp4 -vcodec copy -an video_silent.mp4

(2)单独提取音频(不含视频流)

ffmpeg -i video.mp4 -vn -acodec copy video_novideo.m4a

具备多个音频流的,如

Stream #0:2[0x81]:Audio:ac3,48000Hz,5.1,s16,384kb/s
Stream #0:3[0x82]:Audio:ac3,48000Hz,5.1,s16,384kb/s
Stream #0:4[0x80]:Audio:ac3,48000Hz,5.1,s16,448kb/s

针对性的单一的提取,例如提取第2条,用指令: -map 0:3

10.合并视频/音频

ffmpeg -i video_novideo.m4a -i video_silent.mp4 -c copy video_merge.mp4

11.截取,连接音视频

(1)截取

ffmpeg -i music.mp3 -ss 00:00:30 -to 00:02:00 -acodec copy music_cutout.mp3

截取60秒

ffmpeg -i music.mp3 -ss 00:00:30 -t 60 -acodec copy music_cutout60s.mp3

-sseof : 从媒体末尾开始截取

ffmpeg -i in.mp4 -ss 00:01:00 -to 00:01:10 -c copy out.mp4
ffmpeg -ss 00:01:00 -i in.mp4 -to 00:01:10 -c copy out.mp4
ffmpeg -ss 00:01:00 -i in.mp4 -to 00:01:10 -c copy -copyts out.mp4

把-ss放到-i之前,启用了关键帧技术,加速操作。但截取的时间段不一定准确。可用最后一条指令,保留时间戳,保证时间准确。

(2)连接音视频

ffmpeg -i "concat:01.mp4|02.mp4|03.mp4" -c copy out.mp4

不同格式的音视频可以连接在一起,但不推荐不同格式连接在一起。
建议使用Avidemux软件连接

12.截图,水印,动图

(1)截图.

截取第7秒第1帧的画面

ffmpeg -i video.mp4 -ss 7 -vframes 1 video_image.jpg

(2)水印

ffmpeg -i video.mp4 -i qt.png -filter_complex "overlay=20:80" video_watermark.mp4

(3)截取动图

ffmpeg -i video.mp4 -ss 7.5 -to 8.5 -s 640x320 -r 15 video_gif.gif

13.录屏/直播

(1)录屏

windows:

ffmpeg -f gdigrab -i desktop rec.mp4

ubuntu:

sudo ffmpeg -f fbdev -framerate 10 -i /dev/fb0 rec.mp4

gdigrab :ffmpeg中的一个组件。

只捕获视频.若要录屏,录音,获取摄像头,麦克风,换组件,用OBS Studio软件

(2)直播

ffmpeg -re i rec.mp4 按照网站要求编码 -f flv "你的rtmp地址/你的直播码"

标签:00,ffmpeg,音频,mp4,video,copy
From: https://www.cnblogs.com/wsxier/p/17742936.html

相关文章

  • ubuntu_ffmpeg最速安装
    ffmpeg部署环境准备pkg_list=(\autoconf\automake\build-essential\cmake\git-core\libass-dev\libfreetype6-dev\libsdl2-dev\libtool\libva-dev\libvdpau-dev\libvorbis-dev\libxcb1-dev\libxcb-shm0-dev\libxcb-xfixes0-dev\p......
  • ffmpeg
    FFmpegFFmpeg是一个开源的多媒体处理工具,可以用于处理音频、视频和多媒体文件。它提供了一组强大的库和命令行工具,允许你执行各种多媒体处理任务。音视频转换:FFmpeg可以将一个多媒体文件从一种格式转换为另一种格式,比如AVI文件转换为MP4格式,或者将WAV音频转换为MP3剪......
  • ffmpeg音频滤镜
    分离声道1转码(源文件没问题可以省略)ffmpeg-ijy.ts -vcodech264 -acodecaacjy1.ts2取一个声道ffmpeg-ijy1.ts -af"pan=stereo|c0=FL|c1=FL"-c:vcopy1.ts  3取另一个声道 ffmpeg-ijy1.ts -af"pan=stereo|c0=FR|c1=FR"-c:vcopy2.ts单音轨变双音......
  • Linux系统使用ffmpeg将大量的图片合成.gif
    ubuntu系统可以使用ffmpeg命令对图像的格式和大小等进行转换,也可以对视频进行处理。安装ffmpegsudoapt-getupdatesudoapt-getupgradesudoaptinstallffmpeg使用ffmpeg将大量的图片合成.gif动图,比如,图片的命名格式为animation-cohesion.0001.tif、animation-cohesion.......
  • WebAssembly编译ffmpeg
    编译ffmpeg脚本build.shexportFFMPEG_PATH=./ffmpeg-snapshot/decoder_wasm/ffmpegecho"RunningEmscripten..."emcc-O1ffmpeg_decode.c--pre-jsdecode.js\-I${FFMPEG_PATH}/include/\${FFMPEG_PATH}/lib/libavcodec.a\${FFMPEG_PATH}/lib/libavu......
  • Ubuntu18.04编译安装Ffmpeg6.0
    本文仅使用Ffmpeg来推RTSP流,其他用途请谨慎参考。1、安装基础库apt-getinstallyasmapt-getinstalllibsdl1.2-devapt-getinstalllibstdl2-devapt-getinstallbuild-essentialaptinstalllibspeex-dev2、安装pkg-configaptintallpkg-config设置环境变量(如果不知......
  • rodert教你学FFmpeg实战这一篇就够了
    rodert教你学FFmpeg实战这一篇就够了前言todo有人问rodert哥这篇文章干货有多干,问就是,硌牙。ffmpeg有多强大,我想你都知道了,现在很多市场上的剪辑软件都是基于它做的,只是加了一些包装。读完本篇,你会发现一切如此简单。1.简介官网地址:https://trac.ffmpeg.org/wikiFFm......
  • arm linux 移植 ffmpeg 库 + x264 + x265
    背景Ffmpeg中带有h264的解码,没有编码,需要添加x264。libx264是一个自由的H.264编码库,是x264项目的一部分,使用广泛,ffmpeg的H.264实现就是用的libx264。FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转......
  • RK3568开发笔记(十一):开发版buildroot固件移植一个ffmpeg播放rtsp的播放器Demo
    前言  目标开发任务还有个功能,就是播放rtsp摄像头,当然为了更好的坐这个个,我们必须支持rtsp播放失败之后重新尝试,比如5s重新尝试打开一次,从而保障联网后重新打开,然后达成这个功能。 Demo   补充  得益于方案上的buildroot已经移植了ffmpeg4.1.3。  ......
  • Windows下FFMPEG调用测试(解码264)
    #include<stdio.h>#include<stdlib.h>#include<string.h>extern"C"{#include<libavcodec/avcodec.h>charav_error[AV_ERROR_MAX_STRING_SIZE]={0};#defineav_err2str(errnum)av_make_error_string(av_error,AV_ERROR......