ffmpeg常见视频操作

news/2024/7/5 23:22:39

ffmpeg版本号 3.1.2,以下操作都是亲自实践过:

1. 推流到rtmp服务器 

     ffmpeg -re -i BigBuckBunny.mp4 -c copy -f flv rtmp://10.15.40.2/liveshow/test

2. 从rtmp服务器dump文件

      ffmpeg -i rtmp://10.15.40.5/liveshow/pc_pc_for_pc_second_master_1510536339_4615 -c copy test.mp4

3.  从音视频文件中抽取视频

     ffmpeg  -i  test.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 320x180.h264

4.  视频格式转码

    ffmpeg -i test.mp4 -s 176x144 -b:v 40k -r 10 -g 10 -vcodec libx264 -profile:v baseline -ab 8k  -ar 8000 -ac 1 -acodec aac BigBuckBunny_176x144_baseline1.mp4

    视频码率40k,fps 10, GOP 10, baseline profile;音频aac,1声道, 8k采样率, 8k码率

5. 视频片断拼接:

   ffmpeg -f concat -safe 0 -i filelist.txt -c copy final_file_name

    其中filelist.txt为要拼接的文件列表,内容格式如下:

    file BigBuckBunny_176x144_baseline_1.mp4
    file BigBuckBunny_176x144_baseline._1mp4
    file BigBuckBunny_176x144_baseline_1.mp4

 6. 组合A的视频和文件B的音频

   ffmpeg -i $fileName -i $confVideo -map 0:v -map 1:a -vcodec libx264 -r 30 -b:v 1600k $targetFile

   将fileName的视频轨道和confVideo的音频轨道抽取出来,编码成新的文件 targetFile       

7. 提高wave的采样率:

     ffmpeg -i reliao_test_one.wav -ab 50k  -ar 48000 -ac 1 reliao_test_one_48k.wav

8. 变wav为pcm:

    ffmpeg -i reliao_test_one_48k.wav -f s16le -acodec pcm_s16le reliao_test_one_48k_s16le.pcm

9. 视频画中画(跳动)

    ffmpeg -i video1.mp4 -i video2.mp4 -y -filter_complex "[1:v]scale=240:320[scale];[0:v][scale] overlay=x='if(gte(mod(t,4),2),W-w,0)':y='if(gte(mod(t,8),4),0,H-h)' [out]" -map "[out]" -map 0:a -c:v libx264 -c:a copy output.mp4

10. 视频蒙版

    ffmpeg -i video.mp4 -i mask.png -y -filter_complex "[0:v][1:v] overlay=(W-w)/2:(H-h)/2 [v]" -map "[v]" -map 0:a -c:v libx264 -c:a copy out.mp4

11. 读取Windows上视频设备:
        ffmpeg.exe -list_devices true -f dshow -i dummy

12. 读取摄像头支持的Mode:
        ffmpeg.exe -f dshow -list_options true -i video="HD Pro Webcam C920"


http://www.niftyadmin.cn/n/4598711.html

相关文章

iOS 中文转url 编码方法

2019独角兽企业重金招聘Python工程师标准>>> [Name stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 转载于:https://my.oschina.net/zhuzhu1223/blog/531817

WebRTC的拥塞控制技术

转载: https://www.jianshu.com/p/9061b6d0a9011. 概述对于共享网络资源的各类应用来说,拥塞控制技术的使用有利于提高带宽利用率,同时也使得终端用户在使用网络时能够获得更好的体验。在协议层面上拥塞控制是TCP的一个总要的组成部分&#x…

WebRTC视频接收缓冲区基于KalmanFilter的延迟模型

转载: https://www.jianshu.com/p/bb34995c549a在WebRTC的视频处理流水线中,接收端缓冲区JitterBuffer是关键的组成部分:它负责RTP数据包乱序重排和组帧,RTP丢包重传,请求重传关键帧,估算缓冲区延迟等功能。…

PHP数组,数组排序算法,数组查找算法介绍

PHP数组,数组排序算法,数组查找算法介绍数组基础:php中,数组的下标可以整数,也可以是字符串php中,数组的元素顺序不是由下标决定,而是由其“加入”的顺序决定定义:$arr1 array(元素…

私钥和证书的创建方法

方法一:(http://blog.csdn.net/fenglibing/article/details/8610280) 1、使用OpenSSL生成私钥常用的生成算法有RSA及DSA,RSA生成的私钥可以用来加密以及签名,而DSA生成的私钥只可以用来签名1.1)、RSA算法生…

WebRTC56版本SDP详细解析

http://blog.csdn.net/onlycoder_net/article/details/76702432v0//sdp版本号&#xff0c;一直为0,rfc4566规定o- 7017624586836067756 2 IN IP4 127.0.0.1// RFC 4566 o<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-…

KCP传输原理

来自&#xff1a;https://wetest.qq.com/lab/view/391.html?fromcoop_gad 1 简介 KCP是一个快速可靠协议&#xff0c;能以比 TCP浪费10%-20%的带宽的代价&#xff0c;换取平均延迟降低 30%-40%&#xff0c;且最大延迟降低三倍的传输效果。纯算法实现&#xff0c;并不负责底层…

H264 Annex B 与 AVCC的区别

本文链接&#xff1a;https://blog.csdn.net/Romantic_Energy/article/details/50508332 首先要理解的是没有标准的H.264基本流格式。文档中的确包含了一个Annex&#xff0c;特别是描述了一种可能的格式Annex B格式&#xff0c;但是这个并不是一个必须要求的格式。标准文档中指…