我正在为需要流式传输 AAC 音频流的客户端开发应用程序。不幸的是,我对服务器上的流格式无能为力。我正在使用 Android 并发现 Android 的媒体播放器不支持原始 AAC 流(这是我得到的)。我在Google Code上找到了一个支持它的项目(我用流测试了它),但它是 GPL 的,对我的客户不起作用。我对这类事情没有太多经验,所以如果我的想法不是很好,请原谅我。我知道安卓可以播放 AAC 编码的内容,如果它在 MP4 包装器中,所以我曾考虑在客户端即时创建 MP4 包装器,或者甚至可能只是即时转换为另一种格式。这些是合理的选择吗?有人有更好的建议吗?
提前致谢!
编辑 换言之,是否可以将来自 Web 服务器的原始 AAC 流实时放入 MP4 容器中?如果是这样,是否有人知道可以帮助我完成该过程的资源?
我想知道是否可以将内容流式传输到 rails 应用程序?类似于 send_data 但用于上传?
谢谢 !
有哪些可扩展且安全的方法可以向收件人提供流式视频,并将其姓名叠加为水印?
我正在使用 ffmpeg 在 Android 上解码 rtsp,当图像快速更新或以高分辨率更新时,我很快就会看到像素化:


谷歌搜索后,我发现它可能与 UDP 缓冲区大小相关。然后我在 ffmpeg/libavformat/udp.c 中使用以下参数重新编译了 ffmpeg 库
#define UDP_TX_BUF_SIZE 327680
#define UDP_MAX_PKT_SIZE 655360
Run Code Online (Sandbox Code Playgroud)
它似乎有所改善,但在某些时候仍然开始失败。知道我应该增加哪个缓冲区以及如何增加吗?
我的 Wowza 带有受保护的 RTMP 频道。当然,使用FMLE / WireCast /等软件时,身份验证是可以的。
我想使用 FFMPEG(在 Windows 上)将我的网络摄像头流式传输到 Wowza 服务器。Wowza 服务器定义了几个应用程序。每个都有自己的凭据(用户名和密码)。
我正在使用以下命令行:
ffmpeg -f dshow -i video="Integrated Webcam" -s 512x288 -vcodec libx264 -b:v 1024k -pix_fmt yuv420p -f flv rtmp://<wowza server address>:1935/appname/streamname
Run Code Online (Sandbox Code Playgroud)
然而 Wowza 服务器无法获取流。我在这里缺少什么?我应该将凭据添加到 Wowza 的应用程序中吗?如果是这样,允许我这样做的 URL 格式是什么?
谢谢。
这个想法是使用 Express.js 服务器提供 RTSP 视频流的屏幕截图。在流动模式下有一个连续运行的衍生 openRTSP 进程(它的标准输出被另一个 ffmpeg 进程消耗):
function spawnProcesses (camera) {
var openRTSP = spawn('openRTSP', ['-c', '-v', '-t', camera.rtsp_url]),
encoder = spawn('ffmpeg', ['-i', 'pipe:', '-an', '-vcodec', 'libvpx', '-r', 10, '-f', 'webm', 'pipe:1']);
openRTSP.stdout.pipe(encoder.stdin);
openRTSP.on('close', function (code) {
if (code !== 0) {
console.log('Encoder process exited with code ' + code);
}
});
encoder.on('close', function (code) {
if (code !== 0) {
console.log('Encoder process exited with code ' + code);
}
});
return { rtsp: openRTSP, encoder: encoder }; …Run Code Online (Sandbox Code Playgroud) 是否有任何开源替代品ffmpeg,并VLC以实时视频转码,从HTTP数据流将RTMP或其他?
ffmpeg 导致我的 CPU(AMD 4.0GHZ 8Core)100% 加载,只有 8 个 SD 流。
感谢帮助。
附注。我想我不需要转码我的视频,我也可以使用 http 视频代理之类的东西进行流式传输。源是 HTTP 流格式,我也在 Linux 下。
我想播放实时响应,没有明显的用户交互延迟.
为了获得低延迟,我必须发送一小块pcm数据.我在做什么:
QAudioFormat format;
format.setSampleRate(22050);
format.setChannelCount(1);
format.setSampleSize(16);
format.setCodec("audio/pcm");
format.setByteOrder(QAudioFormat::LittleEndian);
format.setSampleType(QAudioFormat::SignedInt);
QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
if (!info.isFormatSupported(format)) {
qWarning()<<"raw audio format not supported by backend, cannot play audio.";
return;
}
qAudioOutput = new QAudioOutput(format, NULL);
qAudioDevice=qAudioOutput->start();
Run Code Online (Sandbox Code Playgroud)
然后
void Enqueue(TYPESAMPLEPCM *data,int countBytes){
while(qAudioOutput->bytesFree()<countBytes){
Sleep(1);
}
qAudioDevice->write((char *)data,countBytes);
}
Run Code Online (Sandbox Code Playgroud)
数据块是256字节(128个样本,它们的"粒度"约为6毫秒.
从具有高优先级的线程中的循环调用Enqueue,该线程提供数据块.它没有延迟,因为它所谓的Enqueue速度远远快于渲染音频数据.
但它看起来有一个缓冲不足的情况,因为声音播放,但有一种"噼里啪啦"的常规噪音.
如果我将块大小提高到256个样本,问题几乎消失了.开头只有一些噼啪声(?)
该平台是Windows和Qt 5.3.
这是正确的程序还是我遗漏了什么?
我们在hadoop集群中有Spark Batch作业和Spark流作业。
我们希望在同一平台上计划和管理它们。
我们遇到了气流,这符合我们对“编写,计划和监视工作流的平台”的需求。
我只希望能够停止和启动Spark Streaming工作。使用气流图和剖析问题不大。
我的问题是, 除了失去一些功能(图形,配置文件)之外,为什么我不应该使用Airflow来运行火花流作业?
我遇到了这个问题: 气流可以用来执行永无止境的任务吗?
这说可能,而不是为什么不应该。