Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angular 2 html视频非英语字幕由apache2提供_Apache_Angular - Fatal编程技术网

angular 2 html视频非英语字幕由apache2提供

angular 2 html视频非英语字幕由apache2提供,apache,angular,Apache,Angular,我有最新angular cli的angular 2应用程序。应用程序有html视频播放器,能够播放带有英文字幕(vtt)的视频。apache2提供视频和字幕文件,dist/的angular bundle也提供视频和字幕文件。英文字幕效果不错,但非英文字幕根本不会出现在视频中 关键的区别在于,当我使用chrome a访问非en sub时,编码正确(预期字符)。但是当被访问时(由track标签加载),编码是错误的(一些混乱的字符) 我只注意到req头中的差异:accept,但我怀疑这是原因 使用ch

我有最新angular cli的angular 2应用程序。应用程序有html视频播放器,能够播放带有英文字幕(vtt)的视频。apache2提供视频和字幕文件,dist/的angular bundle也提供视频和字幕文件。英文字幕效果不错,但非英文字幕根本不会出现在视频中

关键的区别在于,当我使用chrome a访问非en sub时,编码正确(预期字符)。但是当被访问时(由track标签加载),编码是错误的(一些混乱的字符)

我只注意到req头中的差异:accept,但我怀疑这是原因

使用chrome直接访问:

按曲目加载:

我包括我的apache配置(最后几行只是尝试编码,好久不见apache…)

apache2.conf:

...
<IfModule mod_mime.c>
 AddType application/x-javascript .js
 AddType text/css .css
 AddType text/plain .webapp
 AddType text/xml .xml
 AddType application/xml .xml
 AddType application/javascript .js
 AddType application/javascript .json
</IfModule>
<IfModule mod_deflate.c>
 SetOutputFilter DEFLATE
 <IfModule mod_setenvif.c>
  SetEnvIfNoCase Request_URI \.(?:rar|zip)$ no-gzip dont-vary
  SetEnvIfNoCase Request_URI \.(?:gif|jpg|png)$ no-gzip dont-vary
  SetEnvIfNoCase Request_URI \.(?:avi|mov|mp4)$ no-gzip dont-vary
  SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
 </IfModule>
 <IfModule mod_headers.c>
  Header append Vary User-Agent env=!dont-vary
 </IfModule>
</IfModule>

AddDefaultCharset utf-8
<FilesMatch \.vtt$>
 ForceType text/vtt;charset=utf-8
</FilesMatch>
AddType text/vtt .vtt
AddCharset UTF-8 .vtt
<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options -Indexes FollowSymLinks
        AllowOverride None
        Header set Access-Control-Allow-Origin "*"
    </Directory>
    <Directory /var/www/>
        Header set Access-Control-Allow-Origin "*"
        Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
        Options FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    <Directory /var/www/hvp/>
        Header set Access-Control-Allow-Origin "*"
        Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
        Options FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
    Redirect permanent / https://myserver/
</VirtualHost>


<VirtualHost *:443>
    ServerAdmin webmaster@localhost

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/myserver/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/myserver/privkey.pem

    <Directory /var/www/hvp/>
        Header set Access-Control-Allow-Origin "*"
        Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
        Options FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>


    ErrorLog ${APACHE_LOG_DIR}/https_error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/https_access.log combined
</VirtualHost>
。。。
AddType应用程序/x-javascript.js
AddType text/css.css
AddType text/plain.webapp
AddType text/xml.xml
AddType应用程序/xml.xml
AddType应用程序/javascript.js
AddType应用程序/javascript.json
SetOutputFilter放气
setEnvifLocase请求_URI\(?:rar | zip)$无gzip不变
SetEnvIfNoCase请求_URI\(?:gif | jpg | png)$no gzip不变
setEnvifLocase请求_URI\(?:avi | mov | mp4)$无gzip不变
SetEnvIfNoCase请求\u URI\.mp3$no gzip不变
浏览器匹配^Mozilla/4 gzip纯文本/html
浏览器匹配^Mozilla/4\.0[678]无gzip
BrowserMatch\bMSIE!没有gzip!仅限gzip文本/html
标头附加变量用户代理env=!不要改变
AddDefaultCharset utf-8
ForceType文本/vtt;字符集=utf-8
AddType text/vtt.vtt
添加字符集UTF-8.vtt
apache2配置站点已启用/000默认值。配置:

...
<IfModule mod_mime.c>
 AddType application/x-javascript .js
 AddType text/css .css
 AddType text/plain .webapp
 AddType text/xml .xml
 AddType application/xml .xml
 AddType application/javascript .js
 AddType application/javascript .json
</IfModule>
<IfModule mod_deflate.c>
 SetOutputFilter DEFLATE
 <IfModule mod_setenvif.c>
  SetEnvIfNoCase Request_URI \.(?:rar|zip)$ no-gzip dont-vary
  SetEnvIfNoCase Request_URI \.(?:gif|jpg|png)$ no-gzip dont-vary
  SetEnvIfNoCase Request_URI \.(?:avi|mov|mp4)$ no-gzip dont-vary
  SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
 </IfModule>
 <IfModule mod_headers.c>
  Header append Vary User-Agent env=!dont-vary
 </IfModule>
</IfModule>

AddDefaultCharset utf-8
<FilesMatch \.vtt$>
 ForceType text/vtt;charset=utf-8
</FilesMatch>
AddType text/vtt .vtt
AddCharset UTF-8 .vtt
<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options -Indexes FollowSymLinks
        AllowOverride None
        Header set Access-Control-Allow-Origin "*"
    </Directory>
    <Directory /var/www/>
        Header set Access-Control-Allow-Origin "*"
        Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
        Options FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    <Directory /var/www/hvp/>
        Header set Access-Control-Allow-Origin "*"
        Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
        Options FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
    Redirect permanent / https://myserver/
</VirtualHost>


<VirtualHost *:443>
    ServerAdmin webmaster@localhost

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/myserver/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/myserver/privkey.pem

    <Directory /var/www/hvp/>
        Header set Access-Control-Allow-Origin "*"
        Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
        Options FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>


    ErrorLog ${APACHE_LOG_DIR}/https_error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/https_access.log combined
</VirtualHost>

服务器管理员webmaster@localhost
DocumentRoot/var/www
选项-索引跟随符号链接
不允许超限
标题集访问控制允许原点“*”
标题集访问控制允许原点“*”
Header始终设置访问控制允许Header“x-requested-with、内容类型、来源、授权、接受、客户端安全令牌”
选项如下符号链接多视图
不允许超限
命令允许,拒绝
通融
标题集访问控制允许原点“*”
Header始终设置访问控制允许Header“x-requested-with、内容类型、来源、授权、接受、客户端安全令牌”
选项如下符号链接多视图
不允许超限
命令允许,拒绝
通融
ErrorLog${APACHE_LOG_DIR}/error.LOG
#可能的值包括:调试、信息、通知、警告、错误、临界值、,
#警惕,埃默格。
日志级别警告
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
重定向永久/https://myserver/
服务器管理员webmaster@localhost
斯伦金安
SSLCertificateFile/etc/letsencrypt/live/myserver/fullchain.pem
SSLCertificateKeyFile/etc/letsencrypt/live/myserver/privkey.pem
标题集访问控制允许原点“*”
Header始终设置访问控制允许Header“x-requested-with、内容类型、来源、授权、接受、客户端安全令牌”
选项如下符号链接多视图
不允许超限
命令允许,拒绝
通融
ErrorLog${APACHE\u LOG\u DIR}/https\u error.LOG
日志级别警告
CustomLog${APACHE\u LOG\u DIR}/https\u access.LOG组合

什么会导致这种行为?thx.

我设法解决了它

首先,当一个文件有一个.vtt后缀时,chrome会解释它并找到正确的编码。所以比较这两者是没有意义的。现在,当潜艇工作时,我在网络选项卡中看到乱七八糟的字符,但在播放器中它工作了

第二,在时间定义中将逗号替换为点有助于在webstorm中编辑和在vlc中检查结果

所以真正的问题是字幕文件的编码和/或逗号,而不是时间定义中的点