siberiawind

1. 简单的视频流和音频流串流

ffmpeg -i <video> -i <audio> output.mp4

示例:

ffmpeg -i input.mp4 -i input.m4a output.mp4

2. 对数字信号传输得到的1080i视频进行反交错处理(针对ts文件)

ffmpeg -i <video> -s <WxH> -deinterlace output.mp4

在做反交错处理前,最好先确认当前输入的视频帧大小与想要的帧大小是否一致,如若不一致,则需要添加调整帧大小的-s参数,以及目标帧大小
否则,只是反交错处理得到的视频帧大小仍不是我们想要的:

这里我需要将 1440x1080i的视频 反交错转换为1920x1080p的视频,可以使用下方的命令:

ffmpeg -i input.ts -vcodec h264 -s 1920x1080 -deinterlace -acodec copy output.mp4

3. 对视频进行转码

Q. 为什么我用IDM插件后油管上下载到的是MKV格式文件?
A: youtube的话使用的视频编码格式是VP90,音频编码格式是OPUS,而支持这两种编码的封装容器一般会用到更加灵活的MKV格式,MP4的话是无法支持的

ffmpeg -i <video> -vcodec h264 -crf 22 -acodec aac output.mp4

4. 视频剪切

用下方的FFmpeg命令进行视频剪切,输出视频的视频流与音频流是同步的

ffmpeg -ss <start_time> -i <video> -to <end_time> -c copy output.mp4

可能是aegisub的原因,如果是基于视频进行打轴的话,得出的文本时间戳是正确的
而基于音频进行打轴的话,视频流会快于音频流
也就是说,如果想要打K轴的话,视频的切分需要通过其它软件才可以了

已解决github主页上拉取最新分支的Aegisub,不要用Vmoe汉化的Aegisub官网或者Aegisub官网上给的stable版本

5. 合并多个视频

按顺序将需要合并的文件以下述的格式写入list.txt中

file \'1.mp4\'
file \'2.mp4\'

示例:

file \'42-51.mp4\'
file \'32-41.mp4\'
file \'22-31.mp4\'
file \'12-21.mp4\'
file \'4-11.mp4\'
file \'1-3.mp4\'

然后在命令行中再敲入下述命令:

ffmpeg -f concat -i list.txt -c copy output.mp4

6. 添加字幕

ffmpeg -i <video> -vf subtitles=\'<ass_file>\' -vcodec h264 -crf 22 -acodec copy output.mp4

-vf 用来给视频(video)添加一个滤镜(filter),字幕也是一种滤镜哦

7. 添加字幕的同时添加水印图片

ffmpeg -i <video> -i <LOGO> -filter_complex \'overlay=x=0:y=0,subtitles=<ass_file>\' output.mp4

有关overlay中图片放置的位置参数,可以参考下图:

W代表整张画幅的宽,H代表整张画幅的高,w代表水印图片的宽,h代表水印图片的高

8. 视频流推送

如果是推送到RTMP地址的话,最后只能封装进FLV容器内

ffmpeg -i <.m3u8文件> -c copy -acodec copy -f flv "rtmp://<rtmp地址>"

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-04-15
  • 2021-11-29
  • 2022-12-23
  • 2021-09-21
  • 2021-05-22
  • 2021-12-27
猜你喜欢
  • 2021-10-09
  • 2021-12-01
  • 2021-12-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案