• 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

  • 相关阅读:
    构造方法
    不死神兔
    类与对象
    成员变量和局部变量的区别
    this关键字的理解
    private关键字理解
    如何设置客户端证书
    有关中文的正则表达式
    Web和证书服务:建立电子商务外部网
    认证服务Web 网页循序渐进指南
  • 原文地址:https://www.cnblogs.com/qiyc/p/10690575.html
Copyright © 2020-2023  润新知