小编And*_*rew的帖子

使用VLC重新传输实时流并使用HTML5视频标记进行显示

我目前使用OpenVPN通过隧道连接服务器和客户端.我的目标是使用服务器使用HTML5视频标记从服务器上的客户端抓取并重新播放相机Feed.服务器具有公共IP,因此我们的想法是允许人们通过此服务器查看客户端的视频流.

我正在使用VLC,并使用图形方法,我能够在VLC上查看视频流.我使用的步骤如下:

  1. 媒体 - >流 - >网络选项卡 - >用于网络URL字段, http://10.8.0.6:8080/path/stream/
  2. 流 - >下一步 - >为目标,从文件更改为HTTP - >选中本地显示 - >添加
  3. 对于Path字段,我把/stream/live- > unchecked激活转码(否则它不起作用)[EDIT2:将端口更改为8181]
  4. 流.

该视频显示在VLC中,但是当我将以下行添加到服务器上的index.html文件时,它不起作用:

<video id="id" width="640" height="480" src="http://203.xxx.yyy.zzz:8080/stream/live" autoplay="autoplay">
</video>
Run Code Online (Sandbox Code Playgroud)

其中203.xxx.yyy.zzz是我服务器的公共IP地址.

视频没有显示; 只有黑屏.谁能帮我?

编辑:我不介意它不是一个图形解决方案; 命令行解决方案也很好.

EDIT2:我意识到输入和输出流都在同一个端口上,所以我将输出更改为端口8181.除此之外,我还尝试使用MJPEG来代替mux,以便我可以简单地显示它在使用<img>标签的网页上(这比使用更受欢迎<video>).我创建了一个名为"Video - MJPEG"的新配置文件.在"封装"选项卡下,我选择了MJPEG.在"视频编解码器"选项卡下,我选中了"视频",从下拉列表中选择了M-JPEG编解码器,将比特率保持为800kb/s,将帧速率提高到30 fps,并将1设置为分辨率比例.尽管使用此配置文件,但<img src="my.ip.address:8181/stream/live />在我的index.html中使用时,流未显示.请帮忙!

video html5 vlc

7
推荐指数
0
解决办法
3015
查看次数

在Python中将日期时间转换为protobuf时间戳

因此,我尝试使用 Python 准备一条带有时间戳的消息,但在将日期时间转换为 protobuf 时间戳时遇到问题。

到目前为止,这是我尝试过的:

from google.protobuf.timestamp_pb2 import Timestamp
import datetime
now = datetime.datetime.now()
timestamp = Timestamp()
timestamp.FromDatetime(now)

Run Code Online (Sandbox Code Playgroud)

但是,我收到错误AttributeError: 'Timestamp' object attribute 'seconds' is read-only

如何从日期时间创建时间戳?

python protocol-buffers

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

替代scipy.optimize.curve_fit

我试图用matplotlib绘制一些可视化,并在我的一个函数中,我检查波是否是对数.这是我目前的工作版本:

import numpy as np
def is_logarithmic(waves):

    def expfunc(x, a, b, c):
        return a*np.exp(b*x) + c

    wcopy = list(waves)
    wcopy.sort()

    # If the ratio of x-max : x-min < 10, don't use a logarithmic scale
    # (at least in matplotlib)
    if (wcopy[-1] / wcopy[0]) < 10:
        return False

    # Take a guess at whether it is logarithmic by seeing how well the x-scale
    # fits an exponential curve
    diffs = []
    for ii in range(len(wcopy) - 1):
        diffs.append(wcopy[ii + 1] …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib scipy

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

使用freetds,unixodbc和python连接到MS SQL数据库

我在32位计算机上运行Ubuntu 12.04,我想使用freetds,unixodbc和python连接到我的MS SQL数据库,但是我收到一个错误:

>>> import pyodbc
>>> conn = pyodbc.connect('DSN=TS;UID=myusername;PWD=mypassword')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')
Run Code Online (Sandbox Code Playgroud)

这是我的/etc/freetds.conf档案:

[TS]
host = 192.168.254.50
port = 1433
tds version = 7.0
client charset = UTF-8
Run Code Online (Sandbox Code Playgroud)

这是我的/etc/odbc.ini档案:

--- /etc/odbc.ini ---
[TS]
Description = "test"
Driver = FreeTDS
Server = 192.168.254.50
Port = 1433
Database = db_name
Run Code Online (Sandbox Code Playgroud)

这是我的/etc/odbcinst.ini档案: …

python sql-server unixodbc freetds ubuntu-12.04

5
推荐指数
0
解决办法
870
查看次数

检查转义字符的python字符串

我正在尝试检查python中的字符串是否包含转义字符.最简单的方法是设置转义字符列表,然后检查列表中的任何元素是否在字符串中:

s = "A &amp; B"
escaped_chars = ["&amp;",
     "&quot;",
     "&apos;",
     "&gt;"]

for char in escaped_chars:
    if char in s:
        print "escape char '{0}' found in string '{1}'".format(char, s)
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?

html python string html-escape-characters

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

Django 模板截断列表以显示前 n 个元素

我有一个 Django 模板,我试图在其中将列表显示为 html 中的无序列表。目前我以一种非常凌乱的方式完成了它,使用|length|slice

{% if list_tasks %}
  The following tasks will be removed from this group:
   <ul>
  {% for task in list_tasks|slice:":10" %}
    <li>{{ task.name }}</li>
  {% endfor %}
    {% if list_tasks|length > 10 %}
      <li>...and {{ list_tasks|length|add:"-10" }} other tasks</li>
    {% endif %}
  </ul>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

如果list_tasks有 253 个元素,输出是这样的:

The following tasks will be removed from this group:
  - T06/081
  - T15/0395
  - T15/0545
  - T11/723
  - T13/758
  - T14/1532 …
Run Code Online (Sandbox Code Playgroud)

html python django list django-templates

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

Django表单提交下拉选择而不是提交按钮

我有一个包含大量作业数据的表,我有一个下拉菜单和一个提交按钮,它充当过滤器,因此表只显示基于过滤器的作业:

<form>
    <select id="user_id_dropdown" name="user_id">
        <option disabled selected>Filter by Username</option>
        <option value="all">All Usernames</option>
        <option disabled>????????????</option>
        {% for user in users %}
            <option value={{ user.id }}>{{ user.username }}</option>
        {% endfor %}
    </select>
    <input id="filter" class="btn btn-primary" type="submit" value="Filter" />
</form>

<table>
...
Run Code Online (Sandbox Code Playgroud)

我是如何使用按钮完成它的,用户名的user_id作为查询字符串传递,我的视图处理它.选择用户名(例如,其user_id为4)并单击提交按钮后,网址为:

http://...jobs?user_id=4
Run Code Online (Sandbox Code Playgroud)

然后我在下面有一个表格,其中显示的所有作业现在只有那些创建的作业user_id 4.

问题是,现在我只想取消提交按钮,只需在下拉选项中提交表单.

我试图给表单一个名称,并在选择发生变化时提交:

<form name='filter' method=POST>
    <select id="user_id_dropdown" name="user_id" onChange="filter.submit();">
    ...
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.它看起来像页面重新加载(类似于提交按钮),但表数据不会更改.我在这里错过了什么?

forms django drop-down-menu

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

Python根据键列表构建一个字典,并列出值列表

所以我有一个键列表:

keys = ['id','name', 'date', 'size', 'actions']
Run Code Online (Sandbox Code Playgroud)

我还有一个vales列表列表:

values=
    [
        ['1','John','23-04-2015','0','action1'],
        ['2','Jane','23-04-2015','1','action2']
    ]
Run Code Online (Sandbox Code Playgroud)

如何使用与值匹配的键构建字典?

输出应该是:

{
    'id':['1','2'],
    'name':['John','Jane'],
    'date':['23-04-2015','23-04-2015'],
    'size':['0','1'],
    'actions':['action1','action2']
}
Run Code Online (Sandbox Code Playgroud)

编辑:我试图使用zip()和dict(),但这只有在值列表有1个列表时才有效,即 values = [['1','John','23-04-2015','0','action1']]

for list in values:
    dic = dict(zip(keys,list))
Run Code Online (Sandbox Code Playgroud)

我还想过用键来初始化一个dic,然后自己建立一个值列表,但我觉得必须有一个更简单的方法来做.

dic = dict.fromkeys(keys)

for list in values:
    ids = list[0]
    names = list[1]
    dates = list[2]
    sizes = list[3]
    actions = list[4]
Run Code Online (Sandbox Code Playgroud)

然后最后

dic['id'] = ids
dic['name'] = names
dic['date'] = dates
dic['size'] = sizes
dic['action'] = actions
Run Code Online (Sandbox Code Playgroud)

这看起来真的很傻,我想知道更好的做法是什么.

python dictionary list

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

Django REST Framework - 同一视图中每个方法的不同权限

所以我在这里看到了一些类似的问题,但不是我想要的。

我试图在同一视图中为每个方法设置不同的权限。我目前拥有的:

class MyViewSet(viewsets.ViewSet):
    # User must be authenticated
    permission_classes = (IsAuthenticated,)

    def list(self, request):
        ...

    # User must be admin
    def create(self, request):
        ...

    def retrieve(self, request):
        ...
Run Code Online (Sandbox Code Playgroud)

基本上,我试图确保只有管理员才能调用该create方法。我看过创建自定义权限,但这适用于整个视图集,这不是我想要的。

django django-rest-framework

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

SQL Server 以字符串列表开头

我以前使用过 MySQL,并且有一个使用REGEXP. 我试图找到site_id以某些字符开头的 s,并使用以下内容:

WHERE site_id REGEXP '^(AB|BC|AO|BO|CA|PAF|Z)'
Run Code Online (Sandbox Code Playgroud)

基本上试图找到行 where site_id LIKE 'AB%' OR 'BC%'...,但因为我有很多字符串要匹配,所以我想以不太冗长的方式进行操作。

不幸的是 SQL Server 似乎不喜欢这种语法,我收到一个错误:

在需要条件的上下文中指定的非布尔类型表达式,靠近“REGEXP”。DB-Lib 错误消息 4145,严重性 15:常规 SQL Server 错误:检查来自 SQL Server 的消息

有没有一种巧妙的方法可以在不使用大量的情况下做到这一点LIKE 'XX%' OR ...

pymssql

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

Django在选择列表更改时创建无意义的迁移

我正在尝试使用可调用对象来创建带有选项字段的模型,以便当选项列表更改时,Django不会创建迁移,如问题所述。

class Quote(models.Model):
    severity = models.IntegerField(choices=get_severity_choices)
    ...

class get_severity_choices(object):
    def __iter__(self):
        for item in SEVERITY_CHOICES:
            yield item
Run Code Online (Sandbox Code Playgroud)

哪里

SEVERITY_CHOICES = (
    (1, 'Low'),
    (2, 'Medium'),
    (3, 'High'),
)
Run Code Online (Sandbox Code Playgroud)

但是,我收到一条错误消息:

quoting.Quote.severity: (fields.E004) 'choices' must be an iterable (e.g., a list or tuple).
Run Code Online (Sandbox Code Playgroud)

python django

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

逻辑&amp;&amp;的字符串数组

我试图获取一个JavaScript字符串数组,并基于其中的所有元素返回一个布尔值。&&非空字符串之间的逻辑应返回true。我发现了使用的简单方法来在两个字符串之间返回布尔值!!("String1" && "String2")

但是,如果我将这两个字符串放在类似的数组中var myArr = ["String1","String2"],我将如何去做呢?

javascript arrays string boolean

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