在 drupal 7 中更改 CDN 中的视频内容类型(mime 类型)
Posted
技术标签:
【中文标题】在 drupal 7 中更改 CDN 中的视频内容类型(mime 类型)【英文标题】:Changing video content type (mime type) in CDN in drupal 7 【发布时间】:2014-03-17 20:18:09 【问题描述】:我正在使用媒体模块将媒体保存在 CDN 中。要播放视频,我们在 Drupal 7 中使用 jwplayer。Jwplayer 在 IE 中抛出错误,如果视频不是 content type [mime type]
*video/mp4*。我已将现有的 CDN 视频 mime 类型从 application/octet-stream
更改为 video/mp4。
现在上传/保存到 cdn 的任何 mp4 视频都应该只是 video/mp4 mime 类型,但是当我在媒体模块中上传 mp4 视频时,它会以 mime 类型 application/octet 保存在 CDN 中-stream,如何将上传的mime type [content type]
更改为video/mp4。
CDN module code
function CDNtransfer_content($source,$destination)
$s3=_CDN_transfer_load();
$up_bucket="cdn.example.com";
$uploadOk=null;
$expires=date('D, d M Y H:i:s O', strtotime('+10 year'));
$headers=array('Content-Type' => 'video/mp4', 'Expires' => $expires);
if($destination)
$up_state=$s3->putObject($up_bucket, $destination, $source, 'true', $headers);
if($s3->objectExists($up_bucket, $destination))
$uploadOk =1;
else
$uploadOk ="Error: File Not Uploaded Correctly. Please try again.";
return $uploadOk;
即使设置上面的标题似乎也不起作用!!!不知道为什么??
我们在 drupal 中使用s3 php sdk 2 aws stand alone class 和我们的自定义模块。
在上传 mp4 视频时,如何在 Drupal 7 媒体模块中将 mime type[content type]
更改为 video/mp4。
【问题讨论】:
【参考方案1】:MIME-TYPE 是服务器端设置。您可以要求您的托管服务提供商为您添加 MP4 MIME-TYPE。
或者,您可以将 .htaccess 文件添加到您上传的存储目录中。
添加 MP4 MIME-TYPE 的示例 .htaccess 文件是:
<IfModule mod_rewrite.c>
AddType video/mp4 .mp4
</IfModule>
如果您无法正确添加 MIME TYPE,您可以使用的一种解决方法是强制 JW 播放器作为 Flash 运行,这对 MIME-TYPE 不那么严格,通过将此行添加到播放器的嵌入代码:
primary: 'flash',
如果这有帮助,请告诉我!
【讨论】:
我正在和我的团队一起检查这个......我在这里发现了类似的东西***.com/a/10040559/1877909我们没有这样的选择吗?? 您是否将文件存储在 blob 上? 我在 .htaccess 文件中进行了更改,但似乎不适用于 CDN。我发现这两个链接有一些类似的问题但没有解决方案 --> ***.com/questions/9090708/… ..... @ 987654323@ 另外,如果您需要在平板电脑中使用,您的第二个解决方案仅适用于浏览器,它将再次产生问题...@ethan:是否有任何其他解决方法...或解决方案...我确定这是已知问题...其他客户如何将 jwplayer 与 CDN 一起用于 IE 浏览器 是的,这就是为什么你需要设置 MIME TYPE 来完全解决这个问题。将 flash 设置为主要只是掩盖了问题,但并没有解决手头的真正问题。【参考方案2】:找到答案:
1) 正如 Ethan 所说,“MIME-TYPE 是一种服务器端设置。您可以要求您的托管服务提供商为您添加 MP4 MIME-TYPE。
或者,您可以将 .htaccess 文件添加到您上传的存储目录”。
添加 MP4 MIME-TYPE 的示例 .htaccess 文件是:
<IfModule mod_rewrite.c>
AddType video/mp4 .mp4
</IfModule>"
来源:Need to Change Video Content Type to video/mp4 so it plays in IE
但是由于某种原因这对我不起作用
2) 我对我在 drupal 模块中用于 CDN 上传的核心类文件进行了更改 我在我的 class.s3.php 文件中进行了更改 -> 在 mime_type[] 数组中,并且还使用 putObject() 函数进行了交叉检查。
**
mime 类型的设置总是在编码端完成,而不是在 AWS S3 中 bucket,我们需要使用 AWS PHP Class 文件或 sdk 来做 在 mime 类型中进行操作或在核心类中进行必要的更改 文件(例如 class.s3.php )
** 详情请查看find-mime-type-of-file-or-url-using-php-for-all-file-format
第二个答案对我有用:)
【讨论】:
以上是关于在 drupal 7 中更改 CDN 中的视频内容类型(mime 类型)的主要内容,如果未能解决你的问题,请参考以下文章
在 Drupal 7 公开视图下拉选择器过滤器中更改默认“-Any-”