ffmpeg usage

ffmpeg 命令行

FFMPEG命令行详细参数

播放rgb格式的视频

1
ffplay -f rawvideo -pixel_format bgr24 -video_size 1280x1280 -framerate 10 video_cuda_1.rgb 

播放 h264格式的视频

1
ffplay -f h264 -width 1920 -height 1080 record_424_sensor_ipcamera_h264_10_128_156_101.h264

转码 h264 => mp4

1
ffmpeg -i Free_Test_Data_15MB_MP4.h264 -framerate 30 -vcodec copy -f mp4 output.mp4

转码 mp4 => h264

1
ffmpeg -i Free_Test_Data_15MB_MP4.mp4 -vcodec libx264 -acodec aac Free_Test_Data_15MB_MP4.264

yuv视频 => jpeg

1
ffmpeg -pix_fmt yuyv422 -s ${w}x${h} -i ${name}.yuv ${name}.jpg

yuv => h265 ./ffmpeg -pix_fmt yuv420p -s 1920x1080 -i input.yuv -vcodec hevc_nvenc 1.h265

ffmpeg + cuda

源码编译

https://docs.nvidia.com/video-technologies/video-codec-sdk/11.1/ffmpeg-with-nvidia-gpu/index.html

阅读Read Me pdf 或者网站文档,找到对应nvcodec sdk版本的 ffmpeg 版本

编译问题: 1. ERROR: failed checking for nvcc. https://github.com/NVIDIA/cuda-samples/issues/46 解决方案

1
for those who are lurking, you can just add --nvccflags="-gencode arch=compute_75,code=sm_75 -O2" to configure command of ffmpeg and you don't need to change anything in the source code.
arch 和 sm 可以换成对应自己机器上的版本,查看架构信息:

https://blog.csdn.net/2301_77554343/article/details/134697452


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!