计算机 · 2021年5月31日 0

FFmpeg编程

ffmpeg编程学习

1.An ffmpeg and SDL Tutorial

通过少量的代码实现一个播放器

2.https://github.com/leandromoreira/ffmpeg-libav-tutorial

一个更新的ffmpeg libav tutorial

3.nvidia转码卡的使用

选项

  • -g设置gopsize
  • -r设置framerate
    -r可以作用于输入也可以作用于输出,作用于输出时是在所有filter之后编码之前起作用的;
  • -vf "fps=fps=30"通过filter设置帧率,不能和complex_filter同时使用
  • fps-r区别
  • framerate用于定义输入文件的fps
    https://stackoverflow.com/questions/51143100/framerate-vs-r-vs-filter-fps
  • 设置水印、背景图
    ffmpeg -i background.png -i video.mp4 -filter_complex "[1:v]colorkey=0x3BBD1E:0.3:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.flv
    只需要将图片作为一个输入,应用overlay就可以了

问题

  • 运行硬编ffmpeg的时候说nvenc API version不匹配,解决方法就是编译ffmpeg之前安装nv-codec-headers的时候要先把nv-codec-headers checkout到合适的版本,然后再安装nv-codec-headers和编译ffmpeg

资料