首页 > 系统相关 >ffmpeg推送音视频流、拉取音视频流 —— Windows

ffmpeg推送音视频流、拉取音视频流 —— Windows

时间:2024-06-13 22:29:49浏览次数:14  
标签:233.233 udp ffmpeg Windows xxx 音视频 mp4 input

一、压缩视频文件

例如将 input.mp4 转码成 output.avi。在Windows下,打开cmd,执行:

ffmpeg -i input.mp4 output.aviffmpeg -i input.mp4 output.avi

有很多参数可以指定,见ffmpeg官网 。
例如:

ffmpeg -i input.mp4 -c:v libx264 -preset ultrafast -b:v 6000k output.avi

 其中,
 :v 代表视频,:a 代表音频;
 -c:v libx264 表示使用264编码器,此时可以设置 -preset,ultrafast 表示最快;
 -b 6000k 指定码率(比特率),码率低时速度快,但失真严重,码率高时反之;
 -vcodec copy 表示不重新编码,在格式未改变的情况采用?;
 -t xxx 表示只编码 xxx 秒,写入 xxx 秒后会停止;
 -frames xxx 表示只编码 xxx 帧,写入 xxx 帧后会停止;
 -f xxx 指定输出格式为 xxx;
 -y 表示如果已存在 output.avi 则将其覆盖;
 -pix_fmt xxx 表示像素格式为 xxx,有时候会提示 pix_fmt 已失效,要改为 pixel_format,视频默认是 yuv420p,还可以是yuv422p、rgb0、rgb24 等。

 
二、播放视频文件

使用 ffplay 而不是 ffmpeg,不用写 -i,也不用指定输出,如

ffplay input.mp4

三、.yuv 文件

如果输入文件是原始视频格式 .yuv,则在 -i input.yuv 前面要说明分辨率:
如 -s 1920x1080,有时候会提示 s 已失效,要改为 video_size。

输出文件也可以是 .yuv。

四、发送 UDP 流

类似压缩视频,只是将输出文件改为 udp 地址,在前面必须指定输出格式,即 -f 。

在 -i 前面要加 -re,表示按帧率发送。

ffmpeg -re -i input.mp4 -f h264 udp://233.233.233.233:6666

循环推流  在 -re后面加上-stream_loop -1,表示循环发送。

ffmpeg -re -stream_loop -1 -i input.mp4 -f h264 udp://233.233.233.233:6666

如果输入文件是 .yuv 则前面还要说明分辨率,即 -s。
-f rawvideo 表示发送的格式为原始未打包视频流? 由于未打包,无法接收回来。

要想发送未压缩的视频流可以打包成 TS 流,即 -f mpegts。

ffmpeg -re -s 1920x1080 -i input.yuv -b:v 60000k -f mpegts udp://233.233.233.233:6666

五、接收/播放 UDP 流

类似压缩视频,只是将输入文件改为 udp 地址,在前面要说明格式

ffmpeg -f h264 -i udp://233.233.233.233:6666 output.avi

如果是 rawvideo 格式,前面还要写 -s,但反正 rawvideo 没用。

如果接收的是 TS 流,似乎不需要在前面说明格式,加了 -f mpegts 反而报错。

ffmpeg -i udp://233.233.233.233:6666

播放 udp 流和播放视频文件类似

ffplay udp://233.233.233.233:6666

如需用VLC拉流,需安装VLC播放器,下载链接:VLC下载

内有各个系统的安装包,选择自己的系统下载安装即可。

安装好后,打开网络串流,输入对应的地址即可拉流显示。

本次分享到此结束,感谢大家的阅读!

想了解ffmpeg搭建的朋友请看我另一篇博客

Windows系统 搭建 FFmpeg运行环境

标签:233.233,udp,ffmpeg,Windows,xxx,音视频,mp4,input
From: https://blog.csdn.net/xuezhe5212/article/details/139660151

相关文章

  • 用C++判断Windows是否锁屏
    点击查看代码#include"windows.h"#include"Windows.h"#include"Wtsapi32.h"#include<tchar.h>#pragmacomment(lib,"WtsApi32.lib")usingnamespacestd;typedefHDESK(WINAPI*PFNOPENDESKTOP)(LPSTR,DWORD,BOO......
  • 蓝牙BLE上位机工具开发理论线索梳理_1.Win32设备(Windows 属性系统)
    1.Windows属性系统     Windows属性系统是一个可扩展的数据定义读/写系统,它提供一种统一的方式来表达有关Shell项的元数据。WindowsVista及更高版本中的Windows属性系统使你能够存储和检索Shell项的元数据。Shell项是任何单个内容,例如文件、文件夹、电......
  • 记录两个群音视频开源框架LiveKit和mediasoup
    mediasoup: https://github.com/versatica/mediasoupliveKit: https://github.com/livekit/livekit 为开发者提供的实时视频、音频和数据传输解决方案LiveKit是一个开源项目,基于WebRTC提供可扩展的多用户会议功能。它旨在为您的应用构建实时视频、音频和数据交互能力提......
  • usoclient命令 参数 是一个用于管理 Windows Update 的命令行工具,可以在 Windows 10
    usoclient是一个用于管理WindowsUpdate的命令行工具,可以在Windows10和WindowsServer操作系统中使用。它提供了一种在命令行界面下执行Windows更新任务的方法,从而允许管理员和技术支持人员以更灵活和自动化的方式处理更新。为什么使用 usoclient 命令?自动化更新......
  • SFC(System File Checker)是Windows操作系统中的一个实用程序,用于扫描和修复受损或丢失
    SFC(SystemFileChecker)是Windows操作系统中的一个实用程序,用于扫描和修复受损或丢失的系统文件。以下是一些常见的SFC命令及其用途:sfc/scannow描述:扫描所有受保护的系统文件,并尽可能修复文件。用法:在命令提示符(以管理员身份运行)中输入 sfc/scannow。sfc/verifyon......
  • 禁止Windows用户使用cmd、powershell、注册表、*.bat脚本、修改网卡IP等操作
    如果你想让你的计算机或域控用户的计算机禁止使用cmd、powershell、注册表、bat脚本、修改网卡IP等操作1. 使用本地组策略(如果是本地用户)如果是非域用户,如果你在Windows10Pro或更高版本上,可以使用本地组策略(LocalGroupPolicy)来限制访问。打开“本地组策略编辑器”(gpedit.......
  • C#如何查看/写入日志到Windows事件查看器
    Windows事件日志Windows操作系统将与计算机的系统性能、应用程序和安全方面相关的每个事件记录在C:\WINDOWS\system32\winevt的日志中。事件查看器从这些原始事件日志中读取信息,然后以可读格式呈现信息。打开Windows事件查看器的方法是1、运行输入eventvwr2、Windows+X打......
  • c/c++ 创建windows 服务程序
    1项目介绍本次的项目是设计windows服务程序监听系统时间,对误差的时间进行修改,解决不连网下的本地时间的误差问题。2程序设计当程序直接运行时为创建该程序为windows服务程序,创建的windows服务程序设置为开机自启且运行带参数"-krunservice"以进行区别为创建服务还是运行程序......
  • windows 新增加的功能 揭秘
    1老c++没有被抛弃新c++是老c++的扩展使用新c/c++依然可以使用老代码的系统函数‘API’2html5其实就增加了一个视频播放器,这个播放器看着很‘牛’ 其实它真的很牛兼容性好!3windows10和11在桌面右键有显示功能里面设置图形卡选独立显卡那个芯片那个进程......
  • Windows Server 2012 R2部署网站后IIS,只要访问网址应用程序池就自动停止,浏览器页面提
     解决方案:1.查看windows日志通过文件资源管理器查看:打开文件资源管理器,找到“我的电脑”。右键点击“管理”。在弹出的窗口中,点击“事件查看器”。在事件查看器中,点击“Windows日志”即可查看各种日志信息 2.找到错误信息......