标签: streaming

通过 API 启动 YouTube 直播

我遇到了 YouTube API 的问题,我正在使用 ("google/apiclient": "2.7")

我已经创建了广播并将其绑定到流,然后将 RTMP URL 作为端点添加到我的直播中但我找不到在 YouTube 上启动直播的方法(在原始直播开始后)

        $access_token = $data['yt-access-token'];
        $title = $data['title'];
        $description = $data['description'];
        //=======================================//
        $client = new Google_Client();
        $client->setClientId(env('GOOGLE_APP_ID'));
        $client->setClientSecret(env('GOOGLE_SECRET'));
        $client->setScopes('https://www.googleapis.com/auth/youtube');
        $client->setAccessToken($access_token);

        // Define an object that will be used to make all API requests.
        $youtube = new Google_Service_YouTube($client);
        //=======================================//
        try {
            // Create an object for the liveBroadcast resource's snippet. Specify values
            // for the snippet's title, scheduled start time, and scheduled end time.
            $broadcastSnippet = new Google_Service_YouTube_LiveBroadcastSnippet();
            $broadcastSnippet->setTitle($title);
            $broadcastSnippet->setDescription($description);
            $broadcastSnippet->setScheduledStartTime('2020-08-20T00:00:00.000Z'); …
Run Code Online (Sandbox Code Playgroud)

php streaming youtube-api youtube-data-api

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

ffmpeg:考虑增加probesize误差,但永远无法满足

今天,我尝试使用Arch 解决方案通过 FFMPEG 进行流式传输,但由于 FFMPEG 上的一件简单的事情,我所有的尝试都徒劳无功。它说探针大小不够大,所以我本能地越来越大地增加探针大小......现在它-probesize "500M"仍然说它不够大。这是代码片段

[x11grab @ 0x5631f846cd00] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0.0':
  Duration: N/A, start: 1603397505.341400, bitrate: 1007124 kb/s
    Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1366x768, 1007124 kb/s, 30 fps, 1000k tbr, 1000k tbn, 1000k tbc
0: Input/output error
Run Code Online (Sandbox Code Playgroud)

和代码

#!/bin/bash
     INRES="1366x768" # input resolution
     OUTRES="1366x768" # output resolution
     FPS="30" # target FPS
     GOP="60" # i-frame interval, should be double …
Run Code Online (Sandbox Code Playgroud)

streaming ffmpeg twitch

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

将 udp m2tp 单播流代理到流式 sanic.response 时 CPU 使用率差异很大

我开发了一个代理,可以让我通过 http 以 udp 单播 m2tp 流的形式使用 ISP 提供的回放视频。为此,我使用 python、asyncio 和 Sanic。

它工作得很好,但有一些我无法解释的事情。某些流使用一个 CPU 核心 (i7-3770) 的不到 8%,而其他特定流则消耗高达 30%。所有流原则上都是相同的,我不对它们进行任何处理,只是从 udp 套接字读取并写入流sanic.Response,基本上是这样的:

import asyncio_dgram
import socket

from contextlib import closing
from Sanic import Sanic, response

app = Sanic()

MIME = 'video/MP2T'

@app.get('/some/url')
async def handle_url(request):
    host = socket.gethostbyname(socket.gethostname())
    client_port = 43545
    async def my_streaming_fn(response):
        with closing(await asyncio_dgram.bind((host, client_port))) as stream:
            while True:
                data, remote_addr = await stream.recv()
                await response.write(data)

    return response.stream(my_streaming_fn, content_type=MIME)
Run Code Online (Sandbox Code Playgroud)

所有流均到达单独的 VLAN,所有 ts 数据包均为 1344 字节(无标头为 1316 …

python streaming udp python-asyncio sanic

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

将 aws-sdk 升级到版本 3 - 流式 S3 上传

我正在尝试将程序升级到 aws-sdk 版本 3,但收到错误:

NotImplemented:您提供的标头暗示未实现的功能

函数get_s3_stream需要返回一个流给主程序。

SDK 版本 2,有效:

var AWS = require("aws-sdk");
var s3 = new AWS.S3({apiVersion: '2006-03-01'});
const stream = require('stream');

function get_s3_stream() {
  var pass = new stream.PassThrough();
  var params = {Bucket: "bucketname", Key: "testfile1.txt", Body: pass};
  s3.upload(params, function(err, data) {
    console.log(err, data);
  });
  return pass;
}

const inputStream = stream.Readable.from(["input string1"])
const outStream = get_s3_stream()
inputStream.pipe(outStream);

Run Code Online (Sandbox Code Playgroud)

SDK版本3,不起作用:

const { S3Client, PutObjectCommand } = require("@aws-sdk/client-s3");
const s3Client = new S3Client({ region: "us-east-1" });
const stream = require('stream') …
Run Code Online (Sandbox Code Playgroud)

streaming amazon-s3 amazon-web-services node.js

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

如何限制 ReadableStream 中每次读取的大小

我使用 HTML 文件输入从我的设备存储访问文件,然后我将该文件作为流读取。

  • 是否有任何内置方法可以将每次读取的长度限制为特定的字节数。
const stream = myFile.stream() 
const reader = stream.getReader();

//actually I use this each time I want to read more data from the stream
reader.read().then(function({ done, value }) { 
  
    const bufferSizeInBytes = value.length //  I want to limit this to 1000 bytes as max value
   
    })
Run Code Online (Sandbox Code Playgroud)

另一个让我困惑的问题是,为什么每次读取时我们都会得到不同大小的缓冲区,它是否取决于可用内存或 cpu 或者它实际上是如何工作的?如果它取决于内存,我们将能够在一次读取中读取整个流,因为文件已经存在100 mb并且我的可用内存约为 6GB,但实际上它需要多次读取,这让我认为内存不是唯一的因素这次操作的背后。

任何帮助将非常感激。

javascript streaming

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

LocalProtocolError( h11._util.LocalProtocolError:当角色 = SERVER 且状态 = MUST_CLOSE 时无法处理事件类型响应

我有以下问题:我有一个 Ubuntu 20.04.1,在 Docker 容器中我有 Python 应用程序,使用 FastAPI 接受来自 Appsflyer 的数据流(POST 方法)。库版本有:

fastapi~=0.78.0
uvicorn~=0.17.6
pydantic~=1.9.1
aio_pika~=8.0.3
Run Code Online (Sandbox Code Playgroud)

每隔 10-12 小时,我就会出现以下错误: LocalProtocolError( h11._util.LocalProtocolError: can't handle event type Response when role=SERVER and state=MUST_CLOSE ,因此我会丢失数据。其根本原因可能是什么? 谢谢

python streaming fastapi

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

如果没有使用悬念,则 renderToPipeableStream 与 renderToNodeStream 之间的任何区别

我明白,我们用Suspense来划定界限。如果没有悬念,这意味着渲染将在一次渲染中完成,这与没有流式传输的 SSR 相同。

如果代码库中根本没有 Suspense 使用,我们是否会从使用 renderToPieableStream - 新流中获得任何好处?

另外,这是否意味着 renderToNodeStream 会做同样的事情?

streaming reactjs

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

如何在 Node.js 中设置 StreamingRecognize Google Cloud Speech To Text V2?

我正在尝试在 Node.js 中设置 StreamingRecognize() Google Cloud Speech to Text V2 以用于流式传输音频数据,并且在初始识别器请求设置流时它总是向我抛出相同的错误:

Error: 3 INVALID_ARGUMENT: Invalid resource field value in the request.
    at callErrorFromStatus (/Users/<filtered>/backend/node_modules/@grpc/grpc-js/src/call.ts:81:17)
    at Object.onReceiveStatus (/Users/<filtered>/backend/node_modules/@grpc/grpc-js/src/client.ts:701:51)
    at Object.onReceiveStatus (/Users/<filtered>/backend/node_modules/@grpc/grpc-js/src/client-interceptors.ts:416:48)
    at /Users/<filtered>/backend/node_modules/@grpc/grpc-js/src/resolving-call.ts:111:24
    at processTicksAndRejections (node:internal/process/task_queues:77:11)
for call at
    at ServiceClientImpl.makeBidiStreamRequest (/Users/<filtered>/backend/node_modules/@grpc/grpc-js/src/client.ts:685:42)
    at ServiceClientImpl.<anonymous> (/Users/<filtered>/backend/node_modules/@grpc/grpc-js/src/make-client.ts:189:15)
    at /Users/<filtered>/backend/node_modules/@google-cloud/speech/build/src/v2/speech_client.js:318:29
    at /Users/<filtered>/backend/node_modules/google-gax/src/streamingCalls/streamingApiCaller.ts:71:19
    at /Users/<filtered>/backend/node_modules/google-gax/src/normalCalls/timeout.ts:54:13
    at StreamProxy.setStream (/Users/<filtered>/backend/node_modules/google-gax/src/streamingCalls/streaming.ts:204:20)
    at StreamingApiCaller.call (/Users/<filtered>/backend/node_modules/google-gax/src/streamingCalls/streamingApiCaller.ts:88:12)
    at /Users/<filtered>/backend/node_modules/google-gax/src/createApiCall.ts:118:26
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

{
  code: 3,
  details: 'Invalid resource field value in the request.',
  metadata: Metadata {
    internalRepr: Map(2) {
      'google.rpc.errorinfo-bin' => …
Run Code Online (Sandbox Code Playgroud)

streaming node.js google-speech-api google-cloud-speech google-speech-to-text-api

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

有没有办法在脚本执行时逐步输出PHP?

所以我正在编写一个一次性脚本供我个人单独使用,我希望能够看到这个过程的进展情况.基本上我正在处理几千个媒体发布并将它们发送到我们的新CMS.

所以我没有锤击CMS,我sleep在每5次请求后制作脚本几秒钟.

我希望 - 当脚本正在执行时 - 能够看到我echo告诉我脚本将要睡眠或者最后一次与webservice的交易成功.

这可能在PHP?

谢谢你的帮助!

伊恩

php streaming outputstream output-buffering progress-bar

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

如何在symfony2中下载(流)大文件

我想做什么:
用户点击了一个网址(例如:BASE-URL/download/json).
代码从数据库中获取大量数据并将其流式传输到JSON文件中,并提示用户下载该文件.

我尝试了什么:
创建了一个大型(700 MB)JSON文件.尝试用代码打开它,但是抛出了错误.

的file_get_contents($文件)

错误:

允许的内存大小为XXX字节耗尽(尝试分配YYY字节)

我在Symfony2工作.数据大小可达700MB.无法增加分配的内存.我怎样才能做到这一点?如果需要任何进一步的信息,请评论.

php streaming json symfony

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