ffmpeg将mjpeg流转mp4
前言
最近项目中有个需求,就是将usb摄像头的mjpeg流转为mp4视频格式,记录一下过程中用到的一些命令,ffmpeg的基础使用命令请自行学习,本文不在赘述
命令
将多张图片转为mp4格式
1
2
3#-i 标识从哪里输入 -c:v copy264格式的流,8线程 b:600k码率(码率越高,视频越大) 输出mp4格式
#图片命名格式image0001.jpg,image0002.jpg,可自行更改
ffmpeg -i image%04d.jpg -c:v libx264 -threads 8 -b 600k -preset veryslow -crf 25 out.mp4将mjpeg流转为flv格式的视频
1
2#可直接输入usb的视频地址
ffmpeg -f mjpeg -i http://192.168.1.1:8080/?action=stream -f flv -vcodec flv -q 10 D:/input.flv将mp4格式转为ts
1
ffmpeg -i o1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb o1.ts
将多个ts文件合并为mp4
1
2
3
4
5
6
7#1、如果这种方式不奏效,请使用第二种方式
ffmpeg -i "concat:o1.ts|o2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc merge.mp4
#2、将要合并的视频名称放入文件中,如list.txt内容如下,一行一条,文件名必须是单引号括起来
# file 'NTR1.mp4'
# file 'NTR2.mp4'
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4 #将文件中的视频合并成一个将帧率拉长(类似快进)
1
2#2.7类似快进一倍
ffmpeg -i 2.mp4 -filter:v "setpts=2.7*PTS" -pix_fmt yuv420p 2_1.mp4