1.保存文件:

ffmpeg -i rtsp://admin:12345@172.29.61.108/Streaming/Channels/1 -vcodec copy  -acodec libvo_aacenc -f mpegts 
"F:\\wgg\\sound_test.ts"

-i 后面接输入流, vcodec 后面视频编码方式,copy表示不重新编码。 -acodec 后面跟音频编码方式,libvo_aacenc 是增强型编码方式 。-f 后面跟封装格式也就是format mpegts表示ts流。

2. 按时间保存文件

 ffmpeg -ss 00:00:00 -vsync 0 -t 00:10:00 -re -i D:\wgg\test.ts -vcodec copy -an -f mp4 test.mp4

-i 前面要加上-re,-表示按时间戳读取文件, 不需要音频 -acodec 替换位-an 后面不跟参数。

3. ffmpeg 向rtmp server推流

ffmpeg  -re -i D:\record\langxi\langxi.ts  -vcodec copy -f flv rtmp://127.0.0.1/live/mystream

推送rtmp视频流时 流format需要设定位flv, mystream 可以被替换,比如 rtmp://127.0.0.1/live/teststream。

4. ffmpeg 发布hls流

ffmpeg -i rtsp://admin:12345@172.28.12.35:554/streaming/channels/101 -vf scale=320:240 -c:v libx264 
-hls_time 1 -hls_list_size 10 -hls_wrap 10 D:\wgg\test\streaming.m3u8

 scale=320:240 表示新的视频宽高位320X240 编码方式位h264 -hls_time 大小影响到每个hls切片时间,-hls_wrap影响到切片的个数。

5.视频流中抓取图片命令

ffmpeg -i rtsp://admin:12345@IP:PORT/streaming/channels/101 -f image2 -ss 5 -vframes 1 -s 320*240 D:\record\test.jpeg

 -vframes 1表示抓取一张图片

6.图片格式转换

ffmpeg -i 1.jpg -s 640x480 -pix_fmt yuv420p 1.yuv

  640x480表示分辨率 ,可以自己的需要更改,yuv420p是像素格式。

7. ffmepg 获取pc摄像头视频并推流命令

ffmpeg -f dshow  -i video="Integrated Webcam" -c:v libx264  -s 320*240 -f flv rtmp://127.0.0.1/live/mystream

  Integrated Webcam是摄像头名称,可以从设备管理器中看到。也可以通过ffmpeg -list_devices true -f dshow -i dummy

命令获取。

8. 硬件加速设备查询命令

ffmpeg.exe  -hwaccels

9. 批量合成文件命令

 a. 建立一个TXT文件(video.txt),文件内容为:

File ‘文件全名’

File ‘123.flv’

……

b.利用合并命令:

ffmpeg -f concat -i video.txt -c copy output.mkv

10. 添加水印:

ffmpeg.exe -i D:\record\8B86E8A9-EDCC-4904-999A-744B097BD40D\20170412\20170412112120.ts   -vf "movie=D\\:\\test\\\\test1.jpg[watermask];[in][watermask] overlay=100:100[out]" -y  d:\record\test.ts

11.从视频流中获取图片:

ffmpeg.exe -i rtsp://admin:admin12345@192.168.1.65:554/h264/ch1/main/av_stream -vframes 5 -an d:\%d.jpeg

-vframes 5 表示 取5张图片 d:\%d.jpeg 表示图片存在d:\目录下 文件名从1.jpeg开始到5.jpeg结束。

 

ffmpeg 命令的更多相关文章

  1. 【Andorid】短视频拍摄SDK——Vitamio Recorder 2.0 发布(支持ffmpeg命令行)

    简介 VCamera SDK Android 版(短视频拍摄SDK)是炫一下(北京)科技有限公司推出的软件开发工具包,为Android开发者提供简单.快捷的接口,帮助开发者实现Android平台上的短 ...

  2. java封装FFmpeg命令,支持原生ffmpeg全部命令,实现FFmpeg多进程处理与多线程输出控制(开启、关闭、查询),rtsp/rtmp推流、拉流

    前言: 之前已经对FFmpeg命令进行了封装http://blog.csdn.net/eguid_1/article/details/51787646,但是当时没有考虑到扩展性,所以总体设计不是太好, ...

  3. 搭建rtmp直播流服务之3:java开发ffmpeg实现rtsp转rtmp并实现ffmpeg命令的接口化管理架构设计及代码实现

    上一篇文章简单介绍了java如何调用ffmpeg的命令:http://blog.csdn.net/eguid_1/article/details/51777716 上上一篇介绍了nginx-rtmp服 ...

  4. 搭建rtmp直播流服务之2:使用java实现ffmpeg命令接口化调用(用java执行ffmpeg命令)

    欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) 一.环境搭建 1.安装ffmpeg 下载对应系统的ffmpeg安装包,个人采用windows平台进行开发,所以安装了windo ...

  5. FFmpeg命令行工具学习(一):查看媒体文件头信息工具ffprobe

    一.简述 ffprobe是ffmpeg命令行工具中相对简单的,此命令是用来查看媒体文件格式的工具. 二.命令格式 在命令行中输入如下格式的命令: ffprobe [文件名] 三.使用ffprobe查看 ...

  6. 使用 FFMPEG 命令为视频嵌入字幕

    有些电影的视频与字幕是分离的,如果在视频中嵌入字幕,那么观看起来会更方便一些,不必在播放前额外去加载字幕文件. 在 Linux 中,可以使用 ffmpeg 命令实现上述功能. ffmpeg -i in ...

  7. FFmpeg命令详解

    命令格式 功能 FFmpeg命令是在ffmpeg.exe可执行文件环境下执行,ffmpeg.exe用于音视频的转码,加水印,去水印,视频剪切,提取音频,提取视频,码率控制等等功能. 最简单的命令 ff ...

  8. FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑

    FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没 ...

  9. 流媒体中ffmpeg 命令的使用

    在linux系统中,使用到的有关流媒体音视频流进行处理的ffmpeg 命令的常用的命令己命令对应的参数如下:记录一下: 1.分离视频音频流 ffmpeg -i input_file -vcodec c ...

  10. 音视频】5.ffmpeg命令分类与使用

    GT其实平时也有一些处理音视频的个人或者亲人需求,熟练使用ffmpeg之后也不要借助图示化软件,一个命令基本可以搞定 G: 熟练使用ffmpeg命令!T :不要死记硬背,看一遍,自己找下规律,敲一遍, ...

随机推荐

  1. 【风马一族_php】NO0_搭建web服务器

    原文来自:http://www.cnblogs.com/sows/p/5977996.html  (博客园的)风马一族 侵犯版本,后果自负 安装apache apache是一种B/S结构的软件,apa ...

  2. 判断手机,pc方式登录

     <script type="text/javascript">         function browserDetect() {             var  ...

  3. CentOS 6.4安装Kangle面板

    kangle web server一键安装包是一个用Linux Shell编写的可以为CentOS 6 VPS(VDS)或独立主机安装kangle web server(kangle,easypane ...

  4. windwos异地备份Mysql数据库

    @echo off@title Mysqlbackup echo MySQL数据库备份 echo ***********************echo Today %date%echo Time % ...

  5. 数据包判断是否丢包 ping+tracert+mtr

    1.用咱们最常用的Ping命令来查看是不是真的丢包了 这里可以看到数据包发送了4个,返回了4个,丢失=0  证明没有丢失 也有可能中间路由做了策略不给ICMP的回应 这样就ping没法判断了  正常情 ...

  6. MessageBox详解

    MessageBox.Show();可谓是winform开发中用的次数最多的东东啦.先贴一张msdn的图解 msdn好像没有更新哎,只提供了这几种方法,并且参数名称和最新的有差别,但实际上messag ...

  7. GoldenGate中使用FILTER,COMPUTE 和SQLEXEC命令

    本文主要介绍OGG中一些过滤或计算函数的用法,以及sqlexec的基本用法 SQLPREDICATE 在使用OGG初始化时,可以添加此参数到extract中,用于选择符合条件的记录,下面是OGG官方文 ...

  8. LevelDB系列之Log文件

    上节内容讲到log文件在LevelDb中的主要作用是系统故障恢复时,能够保证不会丢失数据.因为在将记录写入内存的Memtable之前,会先写入Log文件,这样即使系统发生故障,Memtable中的数据 ...

  9. DevExpress 中 WaitForm 使用

    第一步: 在程序中拖入: splashScreenManager1 控件 在需要处理的地方 使用以下语句来打开 WaitForm窗体(当然需要在 splashScreenManager1控件中绑定一个 ...

  10. 《大话设计模式》ruby版代码:策略模式

    需求: 商场收银软件,根据客户购买物品的单价和数量,计算费用,会有促销活动,打八折,满三百减一百之类的. 一,使用工厂模式. # -*- encoding: utf-8 -*- #现金收费抽象类 cl ...