- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将 ffmpeg 命令的全部输出打印到服务器的 error.log 中——但据我所知,作业成功完成,没有错误。
有没有办法抑制输出?我见过人们附加诸如 >/dev/null 2>/dev/null &
之类的东西到他们的命令,但是这会强制命令立即返回并且作业在后台运行。不幸的是,我需要在前台运行作业,因为一旦作业完成,我需要对输出进行处理。
这是我正在运行的命令...
shell_exec('ffmpeg -i input.mp4 -f mp4 -c:v libx264 -preset slow -crf 24 -s 1280x720 -c:a libfdk_aac -profile:a aac_he -ar 22050 -b:a 64k -movflags +faststart output-1280x720.mp4');
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] ffmpeg version N-77432-gc0f67e1 Copyright (c) 2000-2015 the FFmpeg developers
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] built with gcc 4.4.5 (Debian 4.4.5-8)
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] configuration: --prefix=/usr --enable-nonfree --enable-libfreetype --enable-gpl --enable-libx264 --enable-x11grab --enable-zlib --enable-libvpx --enable-libtheora --enable-libvorbis --enable-libfdk-aac --enable-libmp3lame --enable-libopus
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] libavutil 55. 11.100 / 55. 11.100
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] libavcodec 57. 19.100 / 57. 19.100
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] libavformat 57. 20.100 / 57. 20.100
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] libavdevice 57. 0.100 / 57. 0.100
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] libavfilter 6. 21.100 / 6. 21.100
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] libswscale 4. 0.100 / 4. 0.100
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] libswresample 2. 0.101 / 2. 0.101
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] libpostproc 54. 0.100 / 54. 0.100
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test-video.mp4':
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Metadata:
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] major_brand : mp42
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] minor_version : 0
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] compatible_brands: mp42mp41
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] creation_time : 2015-07-14 22:13:20
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Duration: 00:00:10.51, start: 0.000000, bitrate: 17178 kb/s
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 17170 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Metadata:
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] creation_time : 2015-07-14 22:13:20
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] handler_name : Alias Data Handler
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] encoder : AVC Coding
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Codec AVOption b (set bitrate (in bits/s)) specified for output file #0 (test-video-480p.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Codec AVOption profile () specified for output file #0 (test-video-480p.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] [libx264 @ 0x4518ea0] using SAR=1280/1281
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] [libx264 @ 0x4518ea0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] [libx264 @ 0x4518ea0] profile High, level 3.0
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] [libx264 @ 0x4518ea0] 264 - core 120 r2151 a3f4407 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=5 deblock=1:0:0 analyse=0x3:0x113 me=umh subme=8 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=crf mbtree=1 crf=24.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Output #0, mp4, to 'test-video-480p.mp4':
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Metadata:
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] major_brand : mp42
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] minor_version : 0
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] compatible_brands: mp42mp41
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] encoder : Lavf57.20.100
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 854x480 [SAR 1280:1281 DAR 16:9], q=-1--1, 23.98 fps, 24k tbn, 23.98 tbc (default)
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Metadata:
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] creation_time : 2015-07-14 22:13:20
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] handler_name : Alias Data Handler
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] encoder : Lavc57.19.100 libx264
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Side data:
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] unknown side data type 10 (24 bytes)
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Stream mapping:
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
[Tue Jan 19 17:10:59 2016] [error] [client XXX.XXX.XXX.XXX] Press [q] to stop, [?] for help
[Tue Jan 19 17:11:00 2016] [error] [client XXX.XXX.XXX.XXX] frame= 24 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x \r
[Tue Jan 19 17:11:00 2016] [error] [client XXX.XXX.XXX.XXX] frame= 53 fps= 51 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x \r
[Tue Jan 19 17:11:02 2016] [error] [client XXX.XXX.XXX.XXX] frame= 62 fps= 25 q=29.0 size= 75kB time=00:00:00.00 bitrate=N/A speed= 0x \r
[Tue Jan 19 17:11:02 2016] [error] [client XXX.XXX.XXX.XXX] frame= 68 fps= 20 q=29.0 size= 90kB time=00:00:00.25 bitrate=2946.8kbits/s speed=0.0745x \r
[Tue Jan 19 17:11:03 2016] [error] [client XXX.XXX.XXX.XXX] frame= 74 fps= 18 q=29.0 size= 103kB time=00:00:00.50 bitrate=1689.9kbits/s speed=0.12x \r
[Tue Jan 19 17:11:04 2016] [error] [client XXX.XXX.XXX.XXX] frame= 80 fps= 16 q=29.0 size= 115kB time=00:00:00.75 bitrate=1258.5kbits/s speed=0.148x \r
[Tue Jan 19 17:11:05 2016] [error] [client XXX.XXX.XXX.XXX] frame= 86 fps= 15 q=29.0 size= 128kB time=00:00:01.00 bitrate=1049.4kbits/s speed=0.175x \r
[Tue Jan 19 17:11:05 2016] [error] [client XXX.XXX.XXX.XXX] frame= 92 fps= 15 q=29.0 size= 140kB time=00:00:01.25 bitrate= 917.2kbits/s speed=0.201x \r
[Tue Jan 19 17:11:06 2016] [error] [client XXX.XXX.XXX.XXX] frame= 94 fps= 14 q=29.0 size= 146kB time=00:00:01.33 bitrate= 895.4kbits/s speed=0.196x \r
[Tue Jan 19 17:11:07 2016] [error] [client XXX.XXX.XXX.XXX] frame= 100 fps= 13 q=29.0 size= 158kB time=00:00:01.58 bitrate= 816.6kbits/s speed=0.211x \r
最佳答案
附加 &> /dev/null
应该管用。
或 >/dev/null 2>&1
是你会经常看到的。
你的问题是最后的&
.这就是使作业在后台运行的原因
关于php - 通过 PHP 的 shell_exec() 启动 ffmpeg 作业时,防止在错误日志中输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34888159/
有没有一种方法可以在一个 shell_exec 中缩短此命令? shell_exec("$ffmpegPath -i $inputPath -i $watermark -filter_complex
我正在编写一个 PHP 脚本来自动解压缩和扫描位于外部 USB 驱动器上的 tar.gz 存档,但我遇到了几个奇怪的问题。脚本找到存档后,它会尝试在 USB 驱动器上创建一个临时目录以将存档解压缩到其
我有一个 shell 脚本,它在执行时会生成一些文件夹并将文件复制到其中。我还有一个 node.js“程序”,它的功能与 shell 脚本完全相同。 当我使用 PHP 的 shell_exec 调用
这个问题在这里已经有了答案: PHP shell_exec wait for script to finish? [duplicate] (1 个回答) 7年前关闭。 我有一个 PHP 脚本,它查询数
所以我通读了这篇文章:https://trac.ffmpeg.org/wiki/PHP 发现了这个: /dev/null 2>/dev/null &"); echo "Done.\n"; 代码几乎可以
我很难过似乎一切都正确不知道为什么会出错 /dev/null 2>/var/log/ffmpeg.log &"); echo "Done.\n"; ?> 是的,这些代码在终端中运行 for i
我正在使用 PHP v7.2 并且当前安装的 CMS 具有通过 FFMPEG 自动为视频添加水印的功能。 它使用“shell_exec”运行 FFMPEG。“shell_exec 和 exec”没有本
我已添加此行 PATH DEFAULT=${PATH}:~/bin/到~/.pam_environment这让我可以调用ffmpeg来自没有路径的命令行,显然在 ~/bin/ 中dir 所以只要我使用
我有一个 PHP 网站,我想在后台执行一个很长的 Python 脚本(300 MB 内存和 100 秒)。进程通信是通过数据库完成的:当 Python 脚本完成其工作时,它会更新数据库中的一个字段,然
用户通过 POST 提交数据后,我会显示一个临时页面并使用 shell_exec 在后台执行该过程,至少这就是我想要做的。 这是我的页面设置: C:\larragon\www\index.php C
我想通过 php 运行 php ../cat1/index.php gr_s2/3/gr-n40 1200 命令。结果 shell_exec 返回 NULL,但是当我在 cmd 上尝试该命令时,输出显
我在服务器上有一个 shell 脚本,我从 php 页面调用它,它是从数据库传输数据的 api 的一部分。 shell 脚本在我的服务器和位于数据库所在的防火墙后面的第三部分服务器之间设置端口绑定(b
我试图通过 PHP shell_exec 将一个字符串(从 PDO 查询提取到 MYSQL DB)传递给 *nix 程序,在本例中为 xtide . 一切正常,直到我传递一个包含撇号的字符串。 这适用
我正在尝试使用 shell_exec() 命令执行 java 文件,但输出格式与预期不符。这是详细信息 代码: echo shell_exec("java WekaExample"); 输出: A
我在使用 shell_exec 时遇到了一个有趣的奇怪问题... 描述 我开发了使用 C++ 后端应用程序进行计算的 PHP 网络应用程序。服务器在 linux 上运行,我使用 shell_exec
我在使用 PHP shell_exec() 时遇到问题。 背景:我使用 shell_exec() 通过 Web 浏览器访问嵌入式 Linux 目标 (即 Raspberry Pi),使用 HTML J
嗯,我知道已经有很多相关问题,但没有一个解决我的问题。在我的例子中,我想使用 shell_exec 函数,但是,我看到 shell_exec 函数没有定义,甚至没有在 php.ini 的 disabl
我正在尝试返回 Linux 环境中文件夹的内容。为此,我运行以下代码: //this line returns folders and files from current folder $reg =
我试图返回一个进程 ID 抛出一个 php.ini 文件。在 Linux 中,此命令返回进程 ID /receive.sh url=http://www.site.com cert=certs/tes
我有以下代码: $output = shell_exec("./Program $var1 $var2"); echo "$output"; 它不起作用但是 $output = shell_exec(
我是一名优秀的程序员,十分优秀!