ffmpeg命令基本语法和常见命令

ffmpeg命令基本语法和常见命令1 最简单转换命令 ffmpeg iinput mp4output mkv2 更加精准的控制转换命令 ffmpeg iinput mp4 c vvp9 c alibvorbisou mkv c v 控制视频格式

大家好,欢迎来到IT知识分享网。

1)常用命令

1、最简单转换命令

ffmpeg -i input.mp4 output.mkv

2、更加精准的控制转换命令

ffmpeg -i input.mp4 -c:v vp9 -c:a libvorbis output.mkv

(-c:v  控制视频格式, -c:a  控制音频格式)

 3、调节比特率

ffmpeg -i  GVG-981.mp4 -c:v libx264 -b:v 2M -maxrate 2M -bufsize 1M GVG-981-out.mp4

ffmpeg -i input.webm -c:a copy -c:v vp9 -b:v 1M output.mkv

(-b:v 1M 代表着视频的比特率变成1Mb

This will copy the audio (-c:a copy) from input.webm and convert the video to a VP9 codec (-c:v vp9) with a bit rate of 1M/s (-b:v), all bundled up in a Matroska container (output.mkv).)

4、调节帧率

ffmpeg -i 002.mp4 -filter:v fps=fps=29.97  002-out.mp4

ffmpeg -i input.webm -c:a copy -c:v vp9 -r 30 output.mkv

(This creates a new Matroska with the audio stream copied over and the video stream’s frame rate forced to 30 frames per second, instead of using the frame rate from the input (-r 30).)

5、调节视频尺寸(分辨率)

ffmpeg -i  FC2PPV–1.mp4 -c:a copy -s 854×480 FC2PPV–1-out.mp4

ffmpeg -i input.mkv -c:a copy -s 1280×720 output.mkv

(声音原封不动拷贝过去,视频编码格式不变,只是尺寸调整到1280×720)

6、截取部分视频(时长)

ffmpeg -i input.mkv -c:a  copy  -c:v copy  -ss 00:01:00  -t 10  output.mkv

(音视频格式不变, 从00:01:00开始拷贝10s过去)

7、 提取关键帧

ffmpeg -skip_frame nokey -i 480P_2000K_.mp4 -vsync 0 -r 30 -f image2 480P_2000K_\%02d.png

8,使用 ffmpeg 命令将 raw.mp4 的音频替换为 out.wav 的音频

ffmpeg -i raw.mp4 -i out.wav -map 0:v -map 1:a -c:v copy -c:a copy replaced_audio.mp4 

8、对视频进行帧提取

您可以使用以下命令将视频分解成图片序列:

ffmpeg -i input.mp4 -vf fps=1 frame_%04d.png 

这条命令将 input.mp4 视频分解成图片序列,每秒保存一帧。输出的文件名为 frame_0001.pngframe_0002.png 等。您可以根据需要更改输入文件名、帧率和输出文件名模式。

ffmpeg -i .\input.mp4 -vf ‘select=gte(n\,1),setpts=PTS-STARTPTS’ ‘input/%05d.png’

ffmpeg -i .\input.mp4 -vf ‘select=gte(n\,1),setpts=0.5*PTS’ ‘input/%05d.png’

ffmpeg -i .\input.mp4 -vf ‘select=between(n\,{START_FRAME}\,{END_FRAME}),setpts=0.5*PTS’ ‘input/%05d.png’

setpts的具体参数含义如下:

  • Start counting PTS from zero
    setpts=PTS-STARTPTS 
  • Apply fast motion effect:
    setpts=0.5*PTS 
  • Apply slow motion effect:
    setpts=2.0*PTS 
  • Set fixed rate of 25 frames per second:
    setpts=N/(25*TB) 
  • Set fixed rate 25 fps with some jitter:
    setpts='1/(25*TB) * (N + 0.05 * sin(N*2*PI/25))' 
  • Apply an offset of 10 seconds to the input PTS:
    setpts=PTS+10/TB 
  • Generate timestamps from a “live source” and rebase onto the current timebase:
    setpts='(RTCTIME - RTCSTART) / (TB * )' 
  • Generate timestamps by counting samples:
    asetpts=N/SR/TB

9、从png序列生成视频文件

ffmpeg -y -r {TARGET_FPS} -f image2 -pattern_type glob -i ‘*.png’ ‘/content/gdrive/My Drive/{OUTPUT_FILE_PATH}’

2)命令基本语法

ffmpeg命令基本语法和常见命令

注意:这里面的非方括号部分(蓝字)都是必须得有的。

全局选项:

Global options (affect whole program instead of just one file:
-loglevel loglevel  set libav* logging level
-v loglevel         set libav* logging level
-report             generate a report
-max_alloc bytes    set maximum size of a single allocated block
-y                  overwrite output files
-n                  do not overwrite output files
-stats              print progress report during encoding
-bits_per_raw_sample number  set the number of bits per raw sample
-vol volume         change audio volume (256=normal)








输入输出选项:

3)ffmpeg背后的多媒体基础知识

看这里

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/124746.html

(0)
上一篇 2025-10-03 20:26
下一篇 2025-10-03 20:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信