带开关的 MozJPEG STDIN 模式
MozJPEG STDIN Mode with switches
如果我 运行 没有任何标志,我可以让 stdin/out 与 mozjpeg 3 一起正常工作。
示例(Python):
fp = urllib.urlopen(http://path.to/unoptimized.jpg)
out_im2 = StringIO.StringIO(fp.read()) # StringIO Image
subp = subprocess.Popen(["/home/ubuntu/mozjpeg/cjpeg"],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
image_results = subp.communicate(input=out_im2.getvalue())
但是,如果我尝试使用开关(例如“-quality 70”)对其进行自定义,我将无法使其正常工作。我不确定这是一个错误还是我遗漏了什么。任何见解将不胜感激:
subp = subprocess.Popen(["/home/ubuntu/mozjpeg/cjpeg", "-quality 70"],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
image_results = subp.communicate(input=out_im2.getvalue())
执行此操作后,我收到以下回复:
/home/ubuntu/mozjpeg/.libs/lt-cjpeg: unknown option 'quality 70'
usage: /home/ubuntu/mozjpeg/.libs/lt-cjpeg [switches] [inputfile]
Switches (names may be abbreviated):
-quality N[,...] Compression quality (0..100; 5-95 is useful range)
.... <Rest of --help screen>
在此先感谢您的帮助。
感谢https://github.com/njdoyle
“-quality 70”应该是“-quality”,“70”。两个参数。
所以:
subp = subprocess.Popen(["/home/ubuntu/mozjpeg/cjpeg", "-quality","70"],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
image_results = subp.communicate(input=out_im2.getvalue())
如果我 运行 没有任何标志,我可以让 stdin/out 与 mozjpeg 3 一起正常工作。 示例(Python):
fp = urllib.urlopen(http://path.to/unoptimized.jpg)
out_im2 = StringIO.StringIO(fp.read()) # StringIO Image
subp = subprocess.Popen(["/home/ubuntu/mozjpeg/cjpeg"],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
image_results = subp.communicate(input=out_im2.getvalue())
但是,如果我尝试使用开关(例如“-quality 70”)对其进行自定义,我将无法使其正常工作。我不确定这是一个错误还是我遗漏了什么。任何见解将不胜感激:
subp = subprocess.Popen(["/home/ubuntu/mozjpeg/cjpeg", "-quality 70"],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
image_results = subp.communicate(input=out_im2.getvalue())
执行此操作后,我收到以下回复:
/home/ubuntu/mozjpeg/.libs/lt-cjpeg: unknown option 'quality 70'
usage: /home/ubuntu/mozjpeg/.libs/lt-cjpeg [switches] [inputfile]
Switches (names may be abbreviated):
-quality N[,...] Compression quality (0..100; 5-95 is useful range)
.... <Rest of --help screen>
在此先感谢您的帮助。
感谢https://github.com/njdoyle “-quality 70”应该是“-quality”,“70”。两个参数。
所以:
subp = subprocess.Popen(["/home/ubuntu/mozjpeg/cjpeg", "-quality","70"],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
image_results = subp.communicate(input=out_im2.getvalue())