linux视频录制,推流处理

1.linux视频合成(视频后缀要一致)

 ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -lavfi hstack=inputs=3 4.mp4

 (input=3表示希望合并的视频的个数)

2.纵向合成视频

ffmpeg -i 1.mp4 -i 2.mp4 -lavfi vstack=input=2 3.mp4

3.合成音频和视频

ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental output.mp4

4.如果视频中已经包含了音频,这个时候还可以替换视频中的音频

ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental 

-map 0:v:0 -map 1:a:0 output.mp4

5.合并两个音频

ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex amerge -ac 2 -c:a libmp3lame -q:a 4 output.mp3

6.获取视频中的音频

ffmpeg -i input.mp4 -vn -y -acodec copy output.m4a

7.去掉视频中的音频

ffmpeg -i input.mp4 -an output.mp4

8.视频转换

ffmpeg -i input.avi output.mp4 

9.视频剪切:

下面的命令,可以从时间为00:00:15开始,截取5秒钟的视频。 

ffmpeg -ss 00:00:15 -t 00:00:05 -i input.mp4 -vcodec copy -acodec copy output.mp4 

-ss表示开始切割的时间,-t表示要切多少。上面就是从15秒开始,切5秒钟出来。

10.视频截图

ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg        //提取图片

ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi    //剪切视频

//-r 提取图像的频率,-ss 开始时间,-t 持续时间

11.视频录制

ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi

12.推流

ffmpeg -re -i source.flv -vcodec copy -acodec copy -f flv -y rtmp://127.0.0.1:1935/live/livestream  #推rtmp

 

ffmpeg -re -i cw.ts -vcodec copy -acodec copy  -f rtp_mpegts  rtp://238.123.46.66:8001  推rtp

 

ffmpeg -re -i cw.ts -vcodec copy -acodec copy  -f mpegts  udp://238.123.46.66:8001  推udp

13.推流应用

1、将文件当做直播送至live

ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName

2、将直播媒体保存至本地文件

ffmpeg -i rtmp://server/live/streamName -c copy dump.flv

14.将一个JPG图片经过h264压缩循环输出为mp4视频

ffmpeg.exe -i INPUT.jpg -an -vcodec libx264 -coder 1 -flags +loop -cmp +chroma -subq 10 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -flags2 +dct8x8 -trellis 2 -partitions +parti8x8+parti4x4 -crf 24 -threads 0 -r 25 -g 25 -y OUTPUT.mp4

15.将当前摄像头及音频通过DSSHOW采集,视频h264、音频faac压缩后发布

ffmpeg -r 25 -f dshow -s 640×480 -i video=”video source name”:audio=”audio source name” -vcodec libx264 -b 600k -vpre slow -acodec libfaac -ab 128k -f flv rtmp://server/application/stream_name

 

16.推流

ffmpeg -re -i a.mp4 -c copy -f flv rtmp://192.168.2.169/live?vhost=play/11

 

-re 按照时间戳顺序推流 不加的话直接把所有文件都推过去

-f  输出格式

-c  音视频格式 copy 与源流一样

 

 

 

17.ffmpeg -re -safe 0 -f concat -i test.txt -vcodec copy -acodec copy -f flv rtmp://xxx

 

-safe 0 可以用绝对路径,否则只能用相对路径

cat test.txt

file 'a.mp4'

file 'a.mp4'

file 'a.mp4'

18.同时录制音频

ffmpeg -f dshow -i video="screen-capture-recorder":audio="virtual-audio-capturer" av-out.mp4

posted @ 2019-04-11 16:28  江山一族  阅读(1325)  评论(0编辑  收藏  举报