首页 > 其他分享 >ffmpeg

ffmpeg

时间:2023-07-10 12:33:45浏览次数:30  
标签:编码 ffmpeg .. 音频 ....... x265

ffmpeg

目录

0. ffprobe

0.1 获取流列表

不用加任何参数即会打印流列表:

  Duration: 00:07:26.29, start: 0.000000, bitrate: 891 kb/s
  Stream #0:0: Video: h264 (High), yuv420p(tv, bt709/unknown/bt709, progressive), 852x480 [SAR 640:639 DAR 16:9], 24 fps, 24 tbr, 1k tbn
    Metadata:
      DURATION        : 00:07:26.249000000
  Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp
    Metadata:
      DURATION        : 00:07:26.293000000

其中,Stream #0:1表示这是第一个输入文件(序号为0)的第二个流(序号为1);

0.2 获取流信息

-show_streams

0.3 所有编码分组

-show_packets

0.4 统计帧数

-count_frames

0.5 所有帧

-show_frames

0.6 像素格式

-show_pixel_formats

0.7 选择流

-select_streams v:0

0.8 打印格式

-pretty

1. ffmpeg命令基本形式

ffmpeg [global-options] {[input_file_options] -i input_url} ... {[output_file_options] output_url}

2. 流选择

2.1 从多个文件中选择特定的流

先用"ffprobe"获取流列表(参考ffprobe功能 );

比如现有两个源媒体文件"1.mkv"和"2.mkv",要选取第一个文件的视频和第二个文件的音频,且两个文件的视频和音频通道的索引均为0,1,输出到目标文件"output.mkv"中,则命令为

ffmpeg -i 1.mkv -i 2.mkv -map 0:0 -map 1:1 output.mkv

2.2 屏蔽所有视频流

-vn

2.3 屏蔽所有音频流

-an

3. 时长

3.1 从某刻开始一定时间

-ss time_point -t duration

3.2 从某刻到某刻

-ss time_point1 -to time_point2

4. 视频编码

4.1 指定视频帧数量

-frames:v 2400

4.2 指定视频编码格式

-c:v hevc

4.3 指定帧率

-r 24

4.4 指定编码码率

-b:v 256k

4.5 缩放

-vf scale=640:-1

5. 音频编码

5.1 音频通道数

-ac 2

5.2 音频编码格式

-c:a libopus

5.3 码率

-b:a 96k

5.4 采样率

-ar 48000

6. 编码器特有选项

如:

libx265 AVOptions:
-crf E..V....... set the x265 crf (from -1 to FLT_MAX) (default -1)
-qp E..V....... set the x265 qp (from -1 to INT_MAX) (default -1)
-forced-idr E..V....... if forcing keyframes, force them as IDR frames (default false)
-preset E..V....... set the x265 preset
-tune E..V....... set the x265 tune parameter
-profile E..V....... set the x265 profile
-udu_sei E..V....... Use user data unregistered SEI if available (default false)
-x265-params E..V....... set the x265 configuration using a :-separated list of key=value parameters

7. yuv

7.1 编码YUV

ffmpeg -pix_fmt nv21 -s 640*360 -i output.yuv -r 20 output.mp4

7.2 解码为YUV

指定后缀名为YUV即可;

ffmpeg -i input.file output.yuv

8. 性能

8.1 线程

-threads

9. 其它

9.1 提取关键帧

ffmpeg -i test.mp4 -vf select='eq(pict_type\,I)' -vsync 2 -f image2 kf-%02d.bmp

标签:编码,ffmpeg,..,音频,.......,x265
From: https://www.cnblogs.com/amazzzzzing/p/17540753.html

相关文章

  • golang 使用ffmpeg工具实现音视频转码
    1ffmpeg工具是什么FFmpeg即是一款音视频编解码工具,同时也是一组音视频编码开发套件,作为编码开发套件,它为开发者提供了丰富的音视频处理的调用接口。FFmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种多彩格式转换、多种采样率转换、多种码率转换......
  • ffmpeg指定屏幕区域录屏
    ffmpeg-hide_banner-loglevelerror-fgdigrab-show_region1-framerate6-video_size1914x930-offset_x1921-offset_y105-idesktop-pix_fmtyuv420pout6.mp4 -loglevelerror:只显示错误日志-video_size1914x930-offset_x1921-offset_y105:指定录屏......
  • ffmpeg编码中的一些问题
    1.在查看设备支持的dshow设备时出现:[dshow@00000286dc5e7e40]Couldnotenumeratevideodevices(ornonefound).解决:下载screencapturerecorder并安装(github上有),然后就可以正常使用。2.avformat_open_input打开输入设备时报错返回码为-5?源码如下:extern"C"{#in......
  • FFmpeg 已支持动画 JPEG-XL
    导读除了Apple宣布在其Safari浏览器中支持JPEG-XL图像格式之外,FFmpeg也宣布现已支持解码动画JPEG-XL文件。去年以来,FFmpeg已经能够使用libjxl库解码静态JPEG-XL图像,随着本周在FFmpeg6.1发布之前合并的提交,现在它也能够处理动画/多帧JPEG-XL内容。......
  • 离线安装ffmpeg源码包【详细教程】
    今天分享一下ffmpeg源码包的安装过程,针对在没有网络环境下,且不能直接使用yum如何成功安装ffmpeg源码包。博主本人通过正式服务器测试,记录整个安装过程。值得大家收藏同时,我会分享一下如何使用ffmpeg对H.264格式视频(MP4)进行m3u8+ts切片的转换,并生成m3u8+ts格式文件ffmpeg所需要环......
  • FFMPEG 在网络源关闭时保持连接
      FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的......
  • ffmpeg播放RTSP的一点优化
    简单记录一下最近使用ffmpeg播放RTSP做的一点参数优化。先做如下定义:AVDictionary*options=NULL;1.画质优化原生的ffmpeg参数在对1920x1080的RTSP流进行播放时,花屏现象很严重,根据网上查的资料,可以通过增大“buffer_size”参数来提高画质,减少花屏现象如:av_dict_set(&op......
  • ffmpeg常用操作命令
    添加音轨ffmpeg-iinput.mp4-icc.MP3-c:vcopy-c:aaac-map0:v-map1:a-shortestoutput.mp4并行合并多个视频ffmpeg-ivideo1.mp4-ivideo2.mp4-ivideo3.mp4-ivideo4.mp4-filter_complex"[0:v][0:a][1:v][1:a][2:v][2:a][3:v][3:a]concat=n=4:v=1:a=1[outv]......
  • 使用ffmpeg将rtsp流转流实现h5端播放
    主要实现rtsp转tcp协议视频流播放ffmpeg下载安装(公认业界视频处理大佬)a、官网地址:www.ffmpeg.org/b、gitHub:github.com/FFmpeg/FFmp…c、推荐下载地址:ffmpeg.zeranoe.com/builds/(选择如下图)2.配置ffmpeg环境变量:a、解压缩上一步的ffmpeg文件b、配置环境变量,把ffmpeg下的bin配置......
  • 音视频处理工具FFmpeg与Java结合的简单使用
    一、什么是FFmpegFFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都......