Tag: stream

从长时间运行的进程中以不同的用户身份运行subprocess

我有一个长期运行的守护进程的Python进程,它在某些事件发生时使用subprocess产生新的subprocess。 长时间运行的过程由拥有超级用户权限的用户启动。 我需要subprocess产生作为不同的用户(例如“nobody”)运行,同时保留父进程的超级用户权限。 我目前正在使用 su -m nobody -c <program to execute as a child> 但这似乎重量级,并不会很干净地死去。 有没有办法做到这一点编程而不是使用苏? 我正在查看os.set * uid方法,但是Python std lib中的文档在该区域相当稀疏。

Git子模块工作stream程

在我的项目中,我需要使用存储在几个Git存储库中的第三方代码。 我的项目也存储在(单独的)Git仓库中。 在主项目上有几个人和我一起工作,我是维护者。 在之前的项目中,我曾经手动将依赖项复制到Git工作树上,添加了一个指定版本的小文件。 现在这是相当不舒服的,因为我需要每天更新一个依赖关系,并经常为自己贡献代码,大部分时间与主项目的变化相结合。 我决定尝试Git子模块来进行pipe理。 我尝试的越多,我越是感到沮丧。 甚至似乎手工复制也许更好。 以下是我的一些担忧: 我们不再能够通过一个命令获得一致的存储库状态( git checkout现在需要git submodule update –init )。 我们无法正确使用一些Git工具( git archive是最值得注意的)。 我们无法看到来自主项目的子模块的状态更改/差异。 正如我刚刚发现的一样, git submodule不能与–git-dir和–work-tree选项一起工作,并且需要将当前目录的物理更改添加到“正在工作的树的顶层”。 看来,为了简化我们的子模块工作stream程(这是一个操作==一个命令),我们必须写一个比较厚的Git包装器。 这真是难过;这真是伤心。 请注意,从Git移出或将子项目开发完全合并到主项目中不是一种select。 也许我用错误的方式使用git submodules ? 有什么好的工作stream程教程? 即使你不知道正确的答案,也请说出来,但请分享我的担忧。 🙂

为什么Android的MediaPlayer需要这么长时间来准备一些实况stream才能播放?

我发现Android MediaPlayer准备用不同的stream进行实况stream播放的时间差异很大。 硬数据 我在prepareAsync()和onPrepared(MediaPlayer mp)callback之间添加了日志logging,并且每次testing多个stream几次。 每个stream的时间非常一致(+/- 1秒),这里是结果: MPR新闻stream:27秒(http://newsstream1.publicradio.org:80/) MPR古典音乐stream:15秒(http://classicalstream1.publicradio.org:80/) MPR当前stream:7秒(http://currentstream1.publicradio.org:80/) PRIstream:52秒(http://pri-ice.streamguys.biz/pri1) testing是在Android 2.3.4上通过3G连接(〜1100 Kbps)在Nexus S上进行的。 播放非stream式MP3audio文件不是问题。 这里是我如何玩这些溪stream的片段: 准备MediaPlayer: … mediaPlayer.setDataSource(playUrl); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaPlayer.prepareAsync(); … 然后在onPrepared(MediaPlayer mp)上: mediaPlayer.start(); 为什么要准备一些stream而不是其他的stream? 上面的数据似乎表明,它可能是基于缓冲的数据量 ,而不是缓冲的audio内容的持续时间 。 这真的可以吗? 更新:我testing了使用Android 1.6,2.2和2.3.4以及1.6,2.1,2.2,2.3.1和2.3.3模拟器的实际stream媒体。 我只看到了2.3.3和2.3.4的长时间延迟。 旧版本在5秒内开始播放。

与ProgressView相结合的UISlider

有一个苹果公司的方式来获得一个ProgressView的UISlider。 这是许多stream应用程序,例如本地quicktimeplayer或youtube使用。 (可以肯定的是,我只对可视化感兴趣) 欢呼西蒙

HTML5 – 如何stream大型.mp4文件?

我试图设置一个非常基本的html5页面,加载一个20MB的.mp4video。 看起来,浏览器需要下载整个video,而不是只播放video的第一部分,其余部分则是stream媒体。 这篇文章是我search时发现的最接近的东西…我尝试了双手制动和数据围绕都没有出现有所作为: 任何想法如何做到这一点,如果有可能? 这是我正在使用的代码: <video controls="controls"> <source src="/video.mp4" type="video/mp4" /> Your browser does not support the video tag. </video>

stream浪超时

有一些问题,让我的stream浪汉了,得到了箱子,运行vagrant init和经过vagrant up命令我得到这个消息。 Bringing machine 'default' up with 'virtualbox' provider… ==> default: Importing base box 'precise32'… ==> default: Matching MAC address for NAT networking… ==> default: Setting the name of the VM: virtm_default_1400193131859_61200 ==> default: Fixed port collision for 22 => 2222. Now on port 2201. ==> default: Clearing any previously set network interfaces… ==> […]

无缝地循环播放AVPlayer

以前有关于如何循环播放AVPlayer的video项目的讨论,但没有一个“解决scheme”足够无缝地提供video的滞后循环 。 我正在开发一个tvOS应用程序,它在一个视图的背景中有一个高质量的“风景”10秒剪辑,并且简单地以“标准”方式重新启动AVPlayer(订阅NSNotification来捕捉它)太不灵活注意和减损用户体验。 似乎实现真正无缝循环的唯一方法是手动pipe理帧(在OpenGL中)… 尽pipe在这方面做了最大的努力,作为操纵videopipe道的新手,但我还没有接近到可以理解的解决scheme。 我知道外部库存在能够更容易地执行此行为; 最显着的是GPUImage 。 然而,我正在开发的应用程序是用于tvOS,因此难以使用相当多的第三方iOS库,包括GPUImage。 我遇到的另一个库是AVAnimator ,它为轻量级animationvideo提供了很好的function,但是不能用于以.H264编码的源素材的密集,高质量的video剪辑。 我到目前为止最接近的是苹果公司自己的AVCustomEdit源代码,但是这主要涉及静态生成一个“过渡”,虽然无缝,但对于我来说,要分辨如何使其执行简单的循环function是非常复杂的。 如果有人能够在较低的层次上操作AVPlayer经验,即使用image processing/缓冲区(或者不依赖于外部库的iOS开发),我会非常感兴趣的知道如何才能开始。

为什么ostream_iterator不能按预期工作?

不用多说下面的代码: #include <utility> #include <vector> #include <iostream> #include <iterator> using namespace std; typedef pair<char, char> PAIR; ostream& operator <<(ostream& os, const PAIR& r) { return os << r.first; } int main() { vector<PAIR> coll; cout << coll[0]; // OK. // The following line will cause a compilation error! Why??? copy(coll.begin(), coll.end(), ostream_iterator<PAIR>(cout)); }

写入Java进程的InputStream

我有一个代码,通过启动一个Java过程(即:执行一个编译的Java代码) ProcessBuilder builder = new ProcessBuilder("java", "Sample", "arg1", "arg2"); builder.redirectErrorStream(true); Process process = builder.start(); 通过这个,我基本上可以处理输出和错误 OutputStream stdin = process.getOutputStream(); // <- Eh? InputStream stdout = process.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(stdout)); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(stdin)); // reader.readLine() blah blah 现在,我怎样才能发送input到stdin ? 也就是说,如果进程执行的代码有一个等待input的行,如下所示: Scanner scan = new Scanner(System.in); String val = scan.nextLine(); System.out.println(val); […]

Android设备作为A2DPconfiguration文件的接收者

基本上,我现在想要做的是使用Android设备作为A2DP接收器,当配对build立时,android会播放从发送器接收到的声音。 我担心,如果我使用STPconfiguration文件,可能会导致stream式传输延迟。 所以,我想使用A2DP,但是这可能使用Android设备作为A2DP的接收器? 以及如何做到这一点?