在Unix shell中,如果我想要组合stderr并stdout进入stdout流进行进一步操作,我可以在命令的末尾添加以下内容:
2>&1
Run Code Online (Sandbox Code Playgroud)
所以,如果我想head在输出上使用g++,我可以这样做:
g++ lots_of_errors 2>&1 | head
Run Code Online (Sandbox Code Playgroud)
所以我只能看到前几个错误.
我总是很难记住这一点,而且我不得不去查阅它,主要是因为我不完全理解这个特殊技巧的语法.
有人可以打破这个并按字符解释具体2>&1 意义吗?
我正在使用ffmpeg将.avi文件转换为.flv文件.由于转换文件需要很长时间,我想显示进度条.有人可以指导我如何去做同样的事情.
我知道ffmpeg不得不在文本文件中输出进度,我必须使用ajax调用来读取它.但是如何让ffmpeg将进度输出到文本文件?
非常感谢你.
我觉得这值得一个问题,因为StackOverflow似乎没有足够的主题.
我喜欢进步吧.但是,这次我想做一些不同的事情.我想用PHP做以下事情,这个看起来比上一个难得多:
想想FileZilla,但是在浏览器中,用PHP构建.我不想破解Apache或添加任何Apache mod.
这些文档记录了PHP的SSH2扩展(我目前正在使用它 - 你通过pecl安装)和替代的PHPSecLib,我没有使用,但可能会在以后查看.
我的界面允许轻松交换/输出 - 编码到界面而不是实现等 ...
这很好,但他们只是执行实际的下载,就是这样.
PHP有一个非常有趣的回调叫stream_notification_callback,你可以在此处详细了解.
这看起来很棒,并且是一个有希望的步骤,直到有人查看PHP的源代码并发现,不幸的是,SSH2/SFTP 不允许与此集成.
感谢hek2mgl努力研究这个.
我的想法stream_notification_callback是每次检索数据时都会传递当前下载大小的通知; 因此,使用当前下载的金额和总文件大小提供计算百分比所需的数据.但这不适用于SSH2和SFTP ......
在我看来,这将是最难完成的.将数据下载到临时文件是可能的......这就是我设法挖掘的内容:http://ee.php.net/manual/en/function.fread.php#84115 - 但是将这种代码与进度条似乎很疯狂.
还有cURL,但是我没有看到通过SFTP暂停/恢复下载.如我错了请纠正我.
那么,我将如何使用PHP在浏览器中集成上述需求?忘记客户端的东西,只需将数据传输到浏览器就足够了,所以建议执行此操作会很棒.
当我在浏览器中运行转换时,它只显示白色空格.仅在转换过程页面加载后.
请建议如何实施进度条,以便在视频转换发生时向用户显示进度.
我的PHP脚本中有这个
exec("ffmpeg -i filename.flv -sameq -ab 128 -s 640x480 filename.mp4");
Run Code Online (Sandbox Code Playgroud)
那么我应该如何更改此脚本以将进度详细信息甚至获取到文件或直接获取页面中的输出.请任何人都可以给我一个完整的脚本/代码来详细解释它.因为我认为我无法得到完整的答案,所以我很担心如何处理这个问题
我使用ffmpeg的选择过滤器扫描输入视频以提取某些帧。该选择基于复杂的条件,并且无法预测提取的帧数(我正在进行场景检测,但这可能有所不同-例如选择所有I帧等)。
我需要显示扫描(解码)视频的百分比(例如10%或90%)。
我尝试了几种方法来解析控制台输出,就像人们在处理编码时通常所做的那样,但这对扫描进度没有帮助(例如ffmpeg可以显示进度条吗?还是ffmpeg进度条-PHP中的编码百分比)
ffmpeg -progress sceneProgr.txt -i input.wmv -vsync passthrough -an -vf select='gt(scene\,0.2)',showinfo scene%%05d.png
Run Code Online (Sandbox Code Playgroud)
产生的输出如下:
<..>
frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A
n:0 pts:16550 pts_time:16.55 pos:4205325 fmt:rgb24 sar:0/1 s:640x480 i:P iskey:1 type:I checksum:95895BC9 plane_checksum:[95895BC9]
frame= 1 fps=0.7 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A
n:1 pts:24591 pts_time:24.591 pos:6685325 fmt:rgb24 sar:0/1 s:640x480 i:P iskey:0 type:P checksum:FF4CC015 plane_checksum:[FF4CC015]
'frame=...' and 'n:...' lines are repeated for each of the extracted frames.
Run Code Online (Sandbox Code Playgroud)
双方frame=... …