花流利 2024-06-05 13:22 采纳率: 0%
浏览 4

关于MVC下MP4视频外网电脑无法播放的问题

遇到一个视频播放的问题,请教各位伙伴
我的网站下有些视频播放
我的网站是 .Net MVC框架的
我的网站下几个MP4格式的视频
现在的情况是这些MP4视频在内网及外网的移动端都可以正常播放
视频的地址大概是这样的:http://12345.com:8000/video/1.mp4
然而在电脑上只有内网可以播放,外网无法播放,如果外网电脑直接访问这个地址,结果是这样的,如下图:

img

不知如何解决

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-05 13:22
    关注

    引自免费微信小程序:皆我百晓生

    要解决这个问题,我们需要检查几个关键点,包括Web服务器配置、HTTP响应头以及可能存在的防火墙限制。以下是针对这些问题的解决方案步骤。

    第一步:检查IIS(Internet Information Services)设置

    确保您的IIS服务器正确配置了静态内容处理。打开IIS管理器,找到您的网站,然后展开“MIME类型”。确认.mp4文件类型已经被添加并且设置了正确的MIME类型为video/mp4。如果没有,右键点击"MIME类型" -> "添加",输入".mp4"作为扩展名,MIME类型选择"video/mp4"。

    第二步:检查HTTP响应头

    当用户请求MP4文件时,服务器应返回正确的响应头。这包括Content-Type(例如video/mp4),以及可能的Cache-ControlExpires头,以允许浏览器缓存资源。您可以通过Fiddler或其他网络分析工具(如Chrome开发者工具中的Network面板)检查这些响应头。确保它们正确无误。

    第三步:检查服务器端脚本

    如果视频播放功能依赖于服务器端脚本(如ASP.NET MVC控制器动作),确保没有意外的限制阻止外网访问。例如,检查控制器方法是否有特定的授权或IP过滤。如果有,尝试移除这些限制,看看是否能解决问题。

    第四步:检查防火墙设置

    确保您的服务器防火墙没有阻止来自外部的视频流请求。默认情况下,Windows防火墙可能会阻止非标准端口(如8000)的入站连接。您可以尝试将8000端口添加到防火墙例外列表中,或者将服务迁移到更常见的端口(如80或443,后者需要SSL证书)。

    第五步:考虑CDN(内容分发网络)

    为了提高视频的可访问性和性能,考虑使用CDN服务。CDN会将您的视频存储在全球各地的边缘节点,让用户可以从最近的节点获取内容,从而绕过可能的网络限制。一些免费或低成本的CDN服务包括Cloudflare、Amazon CloudFront等。将视频上传到CDN并更新URL,这样无论内外网用户都能流畅地访问视频。

    第六步:测试和调试

    完成上述所有步骤后,请再次在外网电脑上尝试访问视频。如果仍然无法播放,建议使用开发者工具(如Chrome的开发者控制台)检查错误日志,以便进一步定位问题。

    如果你不熟悉操作IIS或服务器设置,可能需要寻求具有相关经验的系统管理员或开发人员的帮助。对于CDN的集成,通常需要阅读提供商的文档并进行相应的配置。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月5日

悬赏问题

  • ¥15 java和硬件交互问题
  • ¥15 前台多人编辑时怎么让每个人保存刷新都互不干扰
  • ¥20 如何用Python删除单元格内连续出现的重复词?
  • ¥15 WangEditor嵌入到geeker-admin中,回车没有办法换行
  • ¥30 stm32f103c8t6制作万能红外遥控器
  • ¥15 有人会fastcrud写前端页面吗
  • ¥15 如何解除Uniaccess管控
  • ¥15 微信小程序跳转关联公众号
  • ¥15 Java AES 算法 加密采用24位向量报错如何处理?
  • ¥15 使用X11可以找到托盘句柄,监控到窗口点击事件但是如何在监听的同时获取托盘中应用的上下文菜单句柄