当前位置: 首页 > 软件库 > 管理和监控 > >

GOP

Go 应用开发的管理工具
授权协议 MIT
开发语言 Google Go
所属分类 管理和监控
软件类型 开源软件
地区 国产
投 递 者 乜飞航
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

GOP 是一个专为在 GOPATH 之外的 Go 应用开发的管理工具。当然他肯定不支持 Go Get 了。GOP 会将所有的依赖项拷贝到 src/vendor 目录下,应用本身的源代码也在 src 下。

一个通常的使用过程如下:

git clone xxx@mydata.com:bac/aaa.git
cd aaa
gop ensure -g
gop build
gop test

特性

  • GOPATH 兼容,工程本身作为 GOPATH

  • 多编译目标支持

  • 将您的工程放到全局 GOPATH 之外

安装

情确保您能正常运行 Go 命令,GOP 将依赖 Go 命令编译和测试

go get github.com/lunny/gop

工程目录结构

工程目录结构示例如下:

<project root>
├── gop.yml
├── bin
├── doc
└── src
    ├── main
    │   └── main.go
    ├── models
    │   └── models.go
    ├── routes
    │   └── routes.go
    └── vendor
        └── github.com
            ├── go-xorm
            │   ├── builder
            │   ├── core
            │   └── xorm
            └── lunny
                ├── log
                └── tango

可以看出主文件默认放在 src/main 下可以自动识别,当然也可以在 Gop.yml 中指定

Gop.yml

工程配置文件,必须存在并且放在和 src 平级。如果你没有定义任何目标,默认的目标将是 src/main, 目标名是工程名。

targets:
- name: myproject1
  dir: main
  assets:
  - templates
  - public
  - config.ini
  - key.pem
  - cert.pem
- name: myproject2
  dir: web
  assets:
  - templates
  - public
  - config.ini

命令

init

初始化 Gop 工程目录

mkdir newproject
cd newproject
gop init

ensure

自动从全局 GOPATH 拷贝所需要的依赖项到 src/vendor 目录下。-g 参数将会自动调用 go get <package> 下载不在全局 GOPATH 中的包并且拷贝到 vendor 下。 -u 则总是调用 go get <package> 更新每一个依赖包并且拷贝到 vendor 下。

gop ensure [-g|-u] [target_name]

status

列出当前目标所有依赖包并显示拷贝状态。

gop status [target_name]

add

从 GOPATH 中拷贝指定的依赖包到 vendor 目录下。-u 将会覆盖原先存在 vendor 下面的包。

gop add [-u] <package>

rm

从工程 vendor 中删除某个包。

gop rm <package>

build

go build 编译目标

gop build [target_name]

run

go run 编译并运行目标

gop run [target_name]

test

运行 go test 将执行单元测试.

gop test [target_name]

release

运行 go release 将自动编译并拷贝资源到 bin 目录下

gop release [target_name]
  • 所谓GOP,意思是画面组,MPEG格中的帧序列,分为I、P、B三种,如排成IBBPBBPBBPBBPBBP...样式,这种连续的帧图片组合即为GOP(画面群,GROUP OF PICTURE),是MPEG将来存取的最本基本的单位,它的排列顺序将会一直重复到影像结束。一个GOP就是一组连续的IPB画面。MPEG编码将画面(即帧)分为I、P、B三种,I是内部编码帧,P是前向预测帧,B是双向内插帧。简单

  • 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明,违反必究。 本文链接:https://blog.csdn.net/junxing2018_wu/article/details/126334989 用 kaldi 计算gop得分 计算原理 该部分参考 kalid官方操作指南 GOP-GMM 在传统的基于GMM-HMM的系统中,GOP最早是在(W

  • 流媒体分析–GOP HLS加载缓慢 一.GoP性能调优分析 Group of Picture(以下简称GoP)顾名思义就是有一组帧组成的一个序列。Wikipedia上给出的一个图简单的解释了GoP是怎么回事: GoP由I帧开始,后面跟随者一组B帧和P帧,直到下一个I帧之前的帧为一个GoP。了解了GoP之后,就会发现播放器只有在拿到某个GoP中的I帧之后才能播放视频。对于GoP来说,编码器都是可以进

  • 默认的srs缓存gop长度是0到1gop,所以延迟也是0到1gop,但是实际有个需求,是做公司内网转发直播,通过内网观看直播(大型晚会,重大直播),解决外网带宽瓶颈。监于srs默认延迟不符合需求,所以二次开发,扩展了一个字段,conf配置后,可是gop缓存长度为1-2gop,增加延迟,最大限度操作播放流畅。其实srs源码开发并不难,没啥好说的,技术上不难实现。有需求的朋友可以私信我

  • H.264帧类型 主要有五种编码帧:I(IDR帧)、i(非IDR I帧)、P(P帧)、B(参考B帧)、b(非参考B帧)。 IDR帧,NALU_type = 0x65。IDR帧是一种特殊的I帧,在解码IDR帧前,清空所有前后向参考缓冲区,IDR帧随后的所有帧不能参考IDR前面的任何帧。IDR帧是视频安全的随机访问点,找到一个IDR帧可以丢弃前面所有帧数据而正确解码。 i帧是帧内预测帧,它的解码不依赖

  • fmpeg和H264视频的编解码 Gemfield A CivilNet Maintainer 105 人赞同了该文章 背景 做CV的人经常面对的东西之一就是用ffmpeg处理视频,本文聚焦的就是ffmpeg和H264视频编码的一些概念和命令。因为实际使用的时候大多数的人都会遇到一些比较困惑的问题,比如ffmpeg截取视频为什么做不到帧级的精确。不管怎样,本文还是属于偏工程方面的论述。 在专栏文章

  • 转自:https://blog.csdn.net/xiaojun111111/article/details/80094894 二.GoP性能调优分析 Group of Picture(以下简称GoP)顾名思义就是有一组帧组成的一个序列。Wikipedia上给出的一个图简单的解释了GoP是怎么回事 GoP由I帧开始,后面跟随者一组B帧和P帧,直到下一个I帧之前的帧为一个GoP。了解了GoP之后,就

  • GOP(Group of picture): 关键帧的周期,也就是两个IDR帧之间的距离,一个帧组的最大帧数,一般而言,每一秒视频至少需要使用 1 个关键帧。增加关键帧个数可改善质量,但是同时增加带宽和网络负载。 需要说明的是,通过提高GOP值来提高图像质量是有限度的,在遇到场景切换的情况时,H.264编码器会自动强制插入一个I帧,此时实际的GOP值被缩短了。另一方面,在一个GOP中,P、B帧是由

  • 定义 IDR帧是h26x编码中特殊的I帧,IDR后的任何帧都可以去参考IDR前面的帧 open-gop 序列帧的最后的2个B帧会向后参考I帧来实现冗余 close-gop 转码参考 ffmpeg -y -i Haunted_1080p.mp4 -x264-params keyint=60:min-keyint=60:scenecut=0:bframes=2:b-adapt=2:ref=2:open

  • iframe-probe.py myvideo.mp4 iframe-probe.py iframe-probe.py #!/usr/bin/env python # # Shows GOP structure of video file. Useful for checking suitability for HLS and DASH packaging. # Example: # # $ if

  • 相关代码路径:./kaldi/src/bin/compute-gop.cc // bin/compute-gop.cc // Copyright 2019 Junbo Zhang // See ../../COPYING for clarification regarding multiple authors /** 此代码用于计算发音优度(GOP)并提取音素级发音特征,用于发音错误检测任务,参考

  • GOP group of pictures GOP说白了就是两个I帧之间的间隔.比较说GOP为120,如果是720p60的话,那就是2s一次I帧. 在视频编码序列中,主要有三种编码帧:I帧、P帧、B帧,如下图所示。 ● I帧即Intra-coded picture(帧内编码图像帧),不参考其他图像帧,只利用本帧的信息进行编码 ● P帧即Predictive-codedPicture(预测编码图像帧

  • 上一篇,我们已经使用ffprobe 获取了http flv的metadata 等信息 可是没有GOP GOP 是需要自己计算的 参考 以快手源httpflv为例 500kbps的metadata zhangbin@LAPTOP-F1POBCSR MINGW64 /g/CDN/LiveServiceMesh/event/libevent-2.1.12-stable/example2 (master)

 相关资料
  • Egg.js应用开发-版本管理 起始版本 新增版本 查看历史版本 Egg.js应用开发-版本管理 更新时间:2018-08-08 14:59:21 本章讲解:如何创建和管理应用版本 起始版本 应用列表中点击新增应用,需要输入起始版本号: 新增版本 应用版本发布完成后,在应用列表中点击“开发”,可以进入下一个版本进入开发: 版本号:格式为X.Y.Z,每位最多 5 个字符,例如:“1.0.0”。</s

  • 本文向大家介绍Android开发实现的内存管理工具类,包括了Android开发实现的内存管理工具类的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android开发实现的内存管理工具类。分享给大家供大家参考,具体如下: 更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发之内存与缓存技巧总结》、《Android资源操作技巧汇总》、《Android视图View技巧总

  • Web 第三方应用开发-版本管理 起始版本 新增版本 查看历史版本 Web 第三方应用开发-版本管理 更新时间:2018-08-08 15:13:30 本章讲解:如何创建和管理应用版本。 起始版本 应用列表中点击新增应用,需要输入起始版本号: 新增版本 应用版本发布完成后,在应用列表中点击“开发”,可以进入下一个版本进入开发: 版本号:格式为X.Y.Z,每位最多 5 个字符,例如:“1.0.0”。

  • Web 前端应用开发-域名管理 域名管理 解析域名 绑定域名 Web 前端应用开发-域名管理 更新时间:2018-07-03 12:59:44 本章介绍如何进行 Web 前端应用域名管理。 域名管理 进入 Web 应用列表页,在列表中点击“查看”: 切换到域名管理 Tab: 解析域名 复制应用域名: 前往域名服务商平台解析域名,这里以阿里云域名产品为例(已完成购买域名相关服务): 选择已购买成功的

  • Web 前端应用开发-版本管理 起始版本 新增版本 查看历史版本 Web 前端应用开发-版本管理 更新时间:2018-08-08 15:36:40 本章讲解:如何创建和管理应用版本。 起始版本 应用列表中点击新增应用,需要输入起始版本号: 新增版本 应用版本发布完成后,在应用列表中点击“开发”,可以进入下一个版本进入开发: 版本号:格式为X.Y.Z,每位最多 5 个字符,例如:“1.0.0”。 查

  • 一、总体介绍   发票管理分为:开发票、发票记录、发票抬头管理、收货信息管理四个模块。 二、操作手册  1、开发票模块    1)企业支付发票(通过企业充值计算的可开票金额): 注意: a.开发票优先发票类型为“电子发票”,只需要维护接收电子发票邮箱即可; b.根据税局规定,网约车服务发票内容只能开具:“运输服务”客运服务费; c.开发票模块要先创建发票抬头,当发票抬头与注册公司名称不一致,要上传

  • 第一步:必须先编译过sdk,然后可以在以下路径找到工具链: openwrt/staging_dir/toolchain-arm_cortex-a7+neon_gcc-5.3.0_glibc-2.22_eabi 第二步:拷贝toolchain-arm_cortex-a7+neon_gcc-5.3.0_glibc-2.22_eabi到/opt目录下,设置环境变量: root@ubuntu:~$ vi

  • 使用map()和一个基本的线程池 # futures_thread_pool_map.py from concurrent import futures import threading import time def task(n): print('{}: sleeping {}'.format( threading.current_thread().name,