ffplay问题Protocol 'rtp' not on whitelist 'file,crypto'!

相信很多人的视频编解码在网上找到的很多资料都是雷霄骅博士的文章,在这里补充一点。
雷霄骅博士的文章FFmpeg发送流媒体的命令(UDP,RTP,RTMP)写得很详细
http://blog.youkuaiyun.com/leixiaohua1020/article/details/38283297
而实际上,照着做行,提示 Protocol ‘rtp’ not on whitelist ‘file,crypto’!白名单一类的问题。其实是ffplay需要额外的参数,如:
-protocol_whitelist “file,http,https,rtp,udp,tcp,tls”
完整如下
发送rtp流 ffmpeg -re -i frame.h264 -vcodec copy -f rtp rtp://127.0.0.1:1239>
test.sdp
接收rtp流 ffplay -protocol_whitelist “file,http,https,rtp,udp,tcp,tls” test.sdp
具体的ip可自行修改,可先执行ffmpeg然后暂时,产生sdp文件,再运行ffplay,最后执行ffmpeg。

<think>嗯,用户遇到了在zsh中使用ffplay时出现“command not found”的问题。根据提供的引用内容,我需要综合这些信息来给出解决方案。首先,引用[3]提到如果已经安装了ffmpeg但找不到ffplay,可能是因为之前安装的残留文件导致冲突。所以用户可能需要先卸载旧版本,再重新安装。 接下来,引用[1]指出环境变量的问题ffmpeg的路径可能没有被添加到.zshrc文件中。用户需要检查是否将/usr/local/bin添加到PATH中,因为Homebrew通常会把软件安装到这里。然后,引用[2]提到在编译ffmpeg时需要确保CONFIG_FFPLAY设置为yes,这可能涉及到重新编译ffmpeg,但如果是通过Homebrew安装的,可能不需要手动编译,但需要确认安装选项是否正确。 可能的步骤包括:检查现有安装、卸载旧版本、通过Homebrew安装ffmpeg并确保包含ffplay组件、配置环境变量。另外,用户可能需要验证安装后的路径是否正确,以及是否重启终端让配置生效。如果问题依旧,可能需要检查安装时的配置选项,或者是否存在其他路径冲突。</think>### 逐步解决方案:解决zsh中ffplay命令未找到的问题 1. **检查现有安装并卸载旧版本** - 输入以下命令查看是否已有残留的ffmpeg/ffplay: ```bash which ffmpeg which ffplay ``` - 若路径显示为`/usr/local/bin/ffmpeg`或类似,手动删除旧版本(引用[3]): ```bash sudo rm /usr/local/bin/ffmpeg # 删除旧ffmpeg sudo rm /usr/local/bin/ffplay # 删除旧ffplay ``` 2. **通过Homebrew安装最新版ffmpeg(包含ffplay)** - 安装或更新Homebrew: ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` - 安装带ffplay支持的ffmpeg(需启用相关编译选项): ```bash brew install ffmpeg --with-sdl2 # 确保包含SDL2以支持ffplay ``` 3. **配置环境变量** - 打开zsh配置文件: ```bash open ~/.zshrc ``` - 添加Homebrew路径(若未配置): ```bash export PATH="/usr/local/bin:$PATH" ``` - 保存后执行: ```bash source ~/.zshrc ``` 4. **验证安装** - 输入以下命令检查ffplay是否可用: ```bash ffplay -version ``` - 若显示版本信息(如`ffplay version 6.0`),则安装成功。 5. **处理特殊编译场景(非Homebrew安装)** 若手动编译ffmpeg,需在配置时启用ffplay(引用[2]): ```bash ./configure --enable-ffplay --enable-sdl2 make && sudo make install ``` --- ### 关键原理说明 - **环境变量配置**:zsh未找到命令通常是因为可执行文件路径未加入`PATH`,通过修改`.zshrc`可永久生效(引用[1])。 - **版本冲突**:旧版残留文件会覆盖新安装版本,需彻底删除(引用[3])。 - **编译依赖**:ffplay依赖SDL2库,安装时需明确启用相关选项(引用[2])。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值