小编Lan*_*ane的帖子

配置NGINX + CloudFlare + SSL

所以...

我在端口8080上的服务器上运行节点应用程序,我正在尝试使用NGINX和CloudFlare使其能够在SSL上运行.请注意以下内容......

  1. 我的主机正在运行Ubuntu 16.04 LTS
  2. 我目前正在使用CloudFlare的通用SSL(免费套餐)
  3. 我将测试主机DNS设置为test.company.com
  4. 我已将此帖子中的CloudFlare origin pull证书复制到我的测试盒的/ etc/nginx/certs中

...我以前的NGINX配置看起来像......

server {
    listen 80;

    location / {
        proxy_pass http://localhost:8080;
    }
}
Run Code Online (Sandbox Code Playgroud)

......它现在看起来像......

# HTTP
server {
  listen 80;
  listen [::]:80 default_server ipv6only=on;
  return 301 https://$host$request_uri;
}

# HTTPS
server {
  listen 443;
  server_name test.company.com;

  ssl on;
  ssl_client_certificate /etc/nginx/certs/cloudflare.crt;
  ssl_verify_client on;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  ssl_prefer_server_ciphers on;

  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://localhost:8080/;
    proxy_ssl_session_reuse off;
    proxy_set_header Host …
Run Code Online (Sandbox Code Playgroud)

ssl https nginx cloudflare ubuntu-16.04

10
推荐指数
1
解决办法
2万
查看次数

将 H.264 Annex B 转换为 MPEG-TS

所以...

我在本地文件中有通过 RTSP 捕获的 RAW H.264 视频数据,我正在尝试在 Java FX 应用程序中播放视频。为此,我需要使用 Http Live Streaming。

我已经成功地设计了一个 Java FX 架构原型,该架构可以使用包含 .m3u8(HLS 索引)文件和 .ts(MPEG-TS)文件集合的本地文件夹通过 HLS 与本地服务器一起播放视频。我的最后一部分是用 .264 / .h264 文件替换 .ts 文件,并在本地服务器中,将 H.264 Annex B 数据转换/包装为 MPEG-TS。

我无法弄清楚将 H.264 Annex B 转换为 MPEG-TS 所需的条件。我找到了以下信息...

“附件B通常用于直播和流媒体格式,例如传输流......”

szatmary.org/blog/25

“该文件的附录 B 指定了一种这样的格式,它以类似于传统 MPEG 视频基本流的格式包装 NAL 单元,从而使其适用于像 MPEG PS/TS 这样无法提供所需帧的容器......”

wiki.multimedia.cx/?title=H.264

“Java FX 支持多种不同的媒体类型。媒体类型被认为是容器格式和一种或多种编码的组合。在某些情况下,容器格式可能只是包含编码数据的基本流。”

docs.oracle.com/javafx/2/api/javafx/scene/media/package-summary.html

“使用 EXT-X-STREAM-INF 标签的 CODECS 属性。当此属性存在时,它必须包括播放流所需的所有编解码器和配置文件......”

developer.apple.com/library/ios/documentation/networkinginternet/conceptual/streamingmediaguide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html

似乎我在基本流和传输流方面缺少一些简单的东西。我已经使用 ffmpeg 将我的 H.264 文件转换为 TS 文件并尝试了解差异。我知道大致的格式差异,但我仍然缺乏细节。有没有人有一个链接来展示这个或知道一些关于如何通过 MPEG-TS 提供 H.264 Annex B 数据的简单信息?

我不想使用工具,我需要在本地有一个自定义文件格式,我可以在其中解析 H.264 Annex B …

ffmpeg javafx h.264 http-live-streaming mpeg2-ts

5
推荐指数
1
解决办法
4099
查看次数

Sublime Text 3多线方法折叠

所以...

Sublime Text具有折叠方法的内置功能,但是一旦方法声明跨越多行,它就失去了这种能力.有没有人知道一个插件或一种方法来使这项工作?具体来说,我正在使用ruby(我的团队坚持关于行长度的严格样式指南),但语言应该无关紧要.

ruby character-limit multiline folding sublimetext3

5
推荐指数
1
解决办法
671
查看次数

Rails,PostgreSQL和历史触发器

所以...

我正在通过类似的东西添加由触发器填充的历史表,以便在我的项目中进行审计.

execute <<-SQL
  CREATE OR REPLACE FUNCTION process_history_table() RETURNS TRIGGER AS $history_table$
    BEGIN
      IF (TG_OP = 'DELETE') THEN
          INSERT INTO history_table VALUES (DEFAULT, 'D', now(), OLD.*);
          RETURN OLD;
      ELSIF (TG_OP = 'UPDATE') THEN
          INSERT INTO history_table VALUES (DEFAULT, 'U', now(), NEW.*);
          RETURN NEW;
      ELSIF (TG_OP = 'INSERT') THEN
          INSERT INTO history_table VALUES (DEFAULT, 'I', now(), NEW.*);
          RETURN NEW;
      END IF;
      RETURN NULL; -- result is ignored since this is an AFTER trigger
    END;
  $history_table$ LANGUAGE plpgsql;

  CREATE TRIGGER history_table …
Run Code Online (Sandbox Code Playgroud)

ruby database postgresql triggers ruby-on-rails

1
推荐指数
1
解决办法
420
查看次数