问题标签 [pyav]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何使用 pyav 或 opencv 解码原始 H.264 数据的实时流?
数据由套接字接收,没有更多的外壳,它们是纯 IPB 帧,以 NAL Header 开头(类似于 00 00 00 01)。我现在正在使用 pyav 解码帧,但我只能在收到第二个 pps 信息(在关键帧中)后解码数据(所以我发送到我的解码线程的数据块可以以 pps 和 sps 开头),否则decode() 或 demux() 将返回错误 "non-existing PPS 0 referenced decode_slice_header error" 。
我想将数据馈送到可以记住前一个 P 帧的持续解码器,因此在馈送一个 B 帧后,解码器返回一个解码的视频帧。或者某种形式的 IO,可以作为容器打开并通过另一个线程继续向其中写入数据。
这是我的关键代码:
我的代码将播放视频,但有 3~4 秒的延迟。所以我不会把所有的东西都放在这里,因为我知道它实际上并没有达到我想要实现的目标。我想在收到第一个关键帧后播放视频,并在收到后立即解码以下帧。Pyav opencv ffmpeg 或其他东西,我怎样才能实现我的目标?
python - PyAv av.open() 指定使用的编解码器
当使用 PyAv 打开 alsa 音频设备时。我如何指定使用的编解码器而不是 ffmpeg 默认的编解码器,因为那是错误的。默认情况下它将使用pcm_s16le
,我需要使用pcm_s32le
. 我可以使用以下 ffmpeg 命令从我的设备录制:
但不与
这会给我以下错误:
如何将工作命令转移到 PyAv av.open()函数?有,stream_options
但似乎不起作用。我试过了
我得到的和上面一样。
这个怎么做?
python - Heroku 无法安装 av (pyav)
我一直在尝试设置我的 Python Web 应用程序,它使用 opencv、tensorflow 和 av 模块,但一直失败。我曾尝试使用Aptfile
安装几个 Ubuntu 库(libsm6, libxrender1
等),但安装仍然失败。
安装失败后,heroku 服务器解析为从源代码构建 av 模块,这也失败了,gcc 在这里失败:
有没有人经历过这个?或者有在 Heroku 中使用 av/pyav 的经验吗?请告诉我我错过的任何事情。谢谢。
python - PyAV:如何同时在屏幕上显示多个视频流
我只是在学习使用视频帧和 python 语言的新手。我需要使用 PyAV 同时在屏幕上显示多个视频流。
下面的代码适用于一台相机。请帮我在屏幕上显示多个摄像头。我应该在这段代码中添加或修复什么?
audio - 如何在使用 pyav、ffmpeg、python 解码 mp3 文件后使用音频帧
我正在使用 python 和 pyav、ffmpeg 来解码内存中的 mp3。我知道还有其他方法可以做到这一点,比如 pipe ffmpeg 命令。但是,我想探索 pyav 和 ffmpeg API。所以我有以下代码。它可以工作,但声音非常嘈杂,虽然可以听到:
我使用管道 ffmpeg 获取解码数据以进行比较并发现它们不同:
然后我用pyaudio播放数据,发现很吵
请帮助我理解 pyav api 的解码帧(在for frame inpacket.decode()
之后)。是不是应该多处理?还是我有一些错误?
python - 从 PyAV av.VideoFrame 创建 HLS 视频流
我希望你大声而自豪。
我是新手PyAV
,我正在使用aiortc
WebRTC MediaServer,在aiortc
实时会话中,我有av.VideoFrame
可用于每个视频帧的对象,我想从这些帧实时创建 HLS 视频片段。
正如您在这个项目中看到的那样:
他们使用OpenCV
管道传输到FFmpeg
CLI 的视频帧字节用于 HLS 流
我的问题是,如何使用PyAV
/python
来消费av.VideoFrame
对象并提取由 60 帧组成的 2 秒视频片段用于 HLS 流式传输?
或任何适合将 VideoFrames 组装到 HLS 流的 python 包
提前致谢
python - 使用 python 和 AudioSegment 进行实时音频处理
好吧,出于某种原因,我想将一些选定的 mp3 文件拆分为块时间:~28 毫秒。
我有切片<1秒的质量问题。
我该如何解决质量问题?
请注意,我使用 av.AudioFrame ( frame = codec.decode(packet)[0]
) 因为我想用 aiortc 发送一些实时音频数据
编辑:
上面的代码有效(更好)。现在的主要问题是:
- 声音听起来很有深度。
- 每次声音重新开始(从头开始)时都会发出咔哒声。
ffmpeg - pyav / libav / ffmpeg 当来自实时源的帧处理速度不够快时会发生什么
我pyav
用来处理实时 RTSP 流:
如果我do something
太慢了怎么办?帧/数据包是否被丢弃或被缓冲?
我想同样的问题也适用于libav
or ffmpeg
。
ffmpeg - H264运动秤
H264 运动矢量中的运动比例是多少?看看我使用pyav
(pythonic 绑定libav
- 大致相同ffmpeg
)提取的以下运动向量:
考虑第一行。我的理解是,通过将src_x
138乘以motion_scale
4,我们得到图像中的实际src_x
值:即图像已缩小了 4 倍。
我的问题如下:motion scale
在数据包中总是具有唯一值还是可以假设不同的值?
ffmpeg - pyav / Libav / ffmpeg 禁用 B 帧
我正在使用pyav
(python wrapper for libav
) 来摄取 H264 视频流。是否有禁用 B 帧的选项?我认为同样的问题也适用于libav
and ffmpeg
。