FFmpeg常用命令

当需要用ffmpeg保存RTMP直播流媒体的时候:

 

ffmpeg -i "rtmp://pub1.guoshi.com/live/newcetv1 live=1" -vcodec copy -acodec copy ttt.flv

 

当需要用ffplay播放RTMP直播流媒体的时候:

 

ffplay "rtmp://pub1.guoshi.com/live/newcetv1 live=1"

 

 

 

 

1.分离视频音频流

  1.  
    ffmpeg -i input_file -vcodec copy -an output_file_video  //分离视频流
  2.  
    ffmpeg -i input_file -acodec copy -vn output_file_audio  //分离音频流

2.视频解复用

  1.  
    ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264
  2.  
    ffmpeg –i test.avi –vcodec copy –an –f m4v test.264

3.视频转码

  1.  
    ffmpeg –i test.mp4 –vcodec h264 –s 352*278 –an –f m4v test.264 //转码为码流原始文件
  2.  
    ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352*278 –an –f m4v test.264 //转码为码流原始文件
  3.  
    ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi //转码为封装文件
  4.  
    //-bf B帧数目控制,-g 关键帧间隔控制,-s 分辨率控制

4.视频封装

ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file

5.视频剪切

  1.  
    ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg //提取图片
  2.  
    ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi //剪切视频
  3.  
    //-r 提取图像的频率,-ss 开始时间,-t 持续时间

6.视频录制

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

7.YUV序列播放

ffplay -f rawvideo -video_size 1920x1080 input.yuv

8.YUV序列转AVI

ffmpeg –s w*h –pix_fmt yuv420p –i input.yuv –vcodec mpeg4 output.avi

常用参数说明:

主要参数:
-i 设定输入流
-f 设定输出格式
-ss 开始时间
视频参数:
-b 设定视频流量,默认为200Kbit/s
-r 设定帧速率,默认为25
-s 设定画面的宽与高
-aspect 设定画面的比例
-vn 不处理视频
-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器
音频参数:
-ar 设定采样率
-ac 设定声音的Channel数
-acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器
-an 不处理音频

FFmpeg将mp4转成h264

注:建议采用copy的方式,速度相当快,不用重新转码。如果你愿意等,也可以用最简单的方式进行转码:

C:\Users\Administrator\Desktop\Desktop\SDL>ffmpeg -i chenyixun.mp4  chenyixun-new.ts

 FFmpeg会根据目标文件的后缀名决定转码出什么格式,切忌不要直接写成:

C:\Users\Administrator\Desktop\Desktop\SDL>ffmpeg -i chenyixun.mp4  chenyixun-new.h264

注意:mp4和h264是视频容器,如果要将mp4转成h264你的后缀应该是".ts"。

 

https://blog.csdn.net/boonya/article/details/82883417

posted @   流水江湖  阅读(301)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示