FFmpeg使用指南

FFmpeg

  • 下载地址 https://ffmpeg.org/download.html
  • 官方参考文档 https://ffmpeg.org/documentation.html

使用

下载m3u8视频

ffmpeg -i "http://127.0.0.1/index.m3u8" -c copy out.mp4

拼合多个视频文件

简单拼合多个视频

concat

# TODO

拼合m3u8片段(无加密)

# TODO

拼合m3u8片段(有加密)

# TODO

视频切割(时间切割)

# TODO

视频切割(画面切割)

crop=w:h:x:y从(x,y)开始截取(w,h)大小的画面

ffmpeg -i in.mp4 -filter_complex "[0:v]crop=trunc(iw/2)*1:ih:0:0[Left]" -map "[Left]" -map 0:a left.mp4

去黑边

ffmpeg -i in.mp4 -filter_complex "[0:v]crop=iw:trunc(ih/10)*8:0:trunc(ih/10)[SubVideo]" -map "[SubVideo]" -map 0:a "SubVideo.mp4"

视频画面扩展

pad=w:h:x:y将视频幕布大小扩展到(w,h),原视频放到(x,y)处

# 将视频宽度扩大到原视频的二倍,原视频的坐标位于画面右侧,不是拉伸画面
ffmpeg -i in.mp4 -filter_complex "[0:v]pad=iw*2:ih:iw:0[outv]" -map "[outv]" -map 0:a out.mp4

加黑边

# 在视频上下加上0.1高度的黑边
ffmpeg -i in.mp4 -filter_complex "[0:v]pad=iw:ih*1.2:0:ih*0.1[outv]" -map "[outv]" -map 0:a out.mp4

制作简单的(伪)左右眼3D视频

左右眼3D视频需要双机位拍摄,这里只是将视频做成类似左右眼3D的样子

# 截取原视频画面左边9/10的画面 [Left0]
# 截取原视频画面右边9/10的画面 [Right0]
# 将[Right0]幕布宽度拉伸为原来的二倍[Right]
# 将[Left0]覆盖到[Right]上
ffmpeg -i in.mp4 -filter_complex "[0:v]crop=trunc(iw/10)*9:ih:0:0[Left0]; [0:v]crop=trunc(iw/10)*9:ih:trunc(ih/10)*9:0[Right0]; [Right0]pad=iw*2:ih:iw:0[Right]; [Right][Left0]overlay[out]" -map "[out]" -map 0:a -y -loglevel error "out_3d.mp4"

TODO

你可能感兴趣的:(视频编解码,音视频)