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. Linux 64位编译\链接32位程序

    测试机器:Ubuntu14.04 64位 gcc编译32位程序,添加参数-m32: $ gcc -c -fno-builtin -m32 TinyHelloWorld.c ld链接32位代码,添加参数 ...

  2. css的#和.的区别

    css的#和.的区别, css的#和.的区别 2009-03-04 14:43fyws  分类:Html/Css | 浏览 1911 次 css的#和.的区别如:#home #h3 { padding ...

  3. 使用memcached实现tomcat集群session共享

    环境centos6.7,下载安装必要的软件:yum -y install epel-release(tomcat7在此源上,tomcat7是现在主流版本) yum -y install tomcat ...

  4. 在Spark中使用Kryo序列化

    spark序列化  对于优化<网络性能>极为重要,将RDD以序列化格式来保存减少内存占用. spark.serializer=org.apache.spark.serializer.Jav ...

  5. delphi 类型转化

    1.typecasting类型强制转化 var B : Boolean; Begin B := Boolean(1); End; 对于对象和接口,采用as操作符进行转化,但要先进行兼容性判断. 2.P ...

  6. WPF中线性渐变画刷的一个小窍门

    最近被项目里面控件的设计搞的死去活来的,大部分的设计都会需要使用进度条的功能,因为UI形状的变态,使用ProgressBar不能满足需求,没办法就自己想办法实现进度显示.折腾的多了发现一个很不错的方法 ...

  7. java的变量

    什么是变量? 在计算机中用来存储信息,通过声明语句来指明存储位置和所需空间. 变量的声明方法及赋值 分号:语句结束标志             赋值号:将=右边的值赋给左边的变量 变量有哪些数据类型? ...

  8. Spring的IoC应用

    IoC(Inversion of Control,控制反转) Spring的IoC应用是其框架的最大的特点,通过依赖注入可以大大降低代码之间的耦合度,从而实现代码和功能之间的分离.在代码中可以不直接和 ...

  9. Java中HashMap,LinkedHashMap,TreeMap的区别[转]

    原文:http://blog.csdn.net/xiyuan1999/article/details/6198394 java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类 ...

  10. Lex+YACC详解

    1. 简介 只要你在Unix环境中写过程序,你必定会邂逅神秘的Lex&YACC,就如GNU/Linux用户所熟知的Flex&Bison,这里的Flex就是由Vern Paxon实现的一 ...