Pues es muy difícil.
Se nota que está pensado para teléfonos: lo único oficial que he encontrado que soporta el sistema operativo es una API miserable para imprimir sólo texto.
Me recuerda los tiempos antiguos del MS-DOS: las aplicaciones gestionan directamente la impresión, normalmente respondiendo a las acciones "share" o "view".
Así que, no habiendo API oficial, exigen partir de formatos conocidos: PDF, imágenes, o documentos de MS Office.
En lugar de arreglar la API para poder usar Bluetooth, o los USB, para conectarse directamente con tu impresora, las fuerzas mayores proponen matar moscas a cañonazos: enviar por HTTPS o correo los documentos a Internet y que llegen a la impresora que tienes al lado (Google Print Cloud, HP ePrint).
Hay otras soluciones (de pago):
- PrinterShare Puede usar Wifi o bluetooth si la impresora los soporta. Acepta DOC, DOCX, XLS, XLSX, PPT, PPTX, PDF, TXT.
Otros enlaces interesantes:
PrintIntent API
CUPS
HPLIP
Android PDF Viewer basado en MuPDF library
lunes, 26 de diciembre de 2011
lunes, 7 de febrero de 2011
Velocidad de conversión de vídeo DV a DVD
Una sencilla comparativa de velocidad: partir de un fichero de vídeo DV, convertirlo a DVD PAL, y anotar los fotogramas por segundo que nos reporta ffmpeg.
Para exprimir nuestro procesador al máximo, hay que compilar ffmpeg con las optimizaciones de nuestra arquitectura (usar --cpu= en configure), y hay que ejecutarlo con tantas "threads" como núcleos tengamos.
Tengo bastante variedad de CPUs a mi alcance, e iré completando esta tabla:
Sorprenden los resultados de mi humilde Pentium-M. La posible explicación es que está corriendo sobre Ubuntu, y este test debe estar limitado por el ancho de banda del disco (los demás procesadores corren sobre Cygwin).
También es curioso que el Q8300 y el 8300H funcionen mejor con 3 threads que con 4. Posible caso de cache trashing.
ffmpeg -threads 2 -i a.dv -target pal-dvd -y a.vob
Para exprimir nuestro procesador al máximo, hay que compilar ffmpeg con las optimizaciones de nuestra arquitectura (usar --cpu= en configure), y hay que ejecutarlo con tantas "threads" como núcleos tengamos.
Tengo bastante variedad de CPUs a mi alcance, e iré completando esta tabla:
CPU | GHz | cache K | --cpu= | -threads 1 | -threads 2 | -threads 3 | -threads 4 |
---|---|---|---|---|---|---|---|
Pentium-M | 1.40 | 1024 | pentium-m | 38 | - | - | - |
Amd Neo K125 | 1.70 | 1024 | amdfam10 | 42 | 42 | - | - |
Intel D830 | 3.00 | 2048 | prescott | 41 | 65 | - | - |
Intel E6400 | 2.13 | 2048 | core2 | 85 | 119 | - | - |
E2-1800 | 1.70 | 1024 | amdfam10 | 100 | 116 | - | - |
E2-1800 | 1.70 | 1024 | amdfam10 64b | 109 | 122 | - | - |
Intel E5200 | 2.50 | 2048 | core2 | 89 | 129 | - | - |
Intel E5200 | 2.50 | 2048 | core2 64b | 109 | 138 | - | - |
Intel Q8300 | 2.50 | 4096 | core2 | 103 | 133 | 158 | 132 |
Intel Z3775 | 1.46 | 2048 | core2 | 110 | 134 | 152 | 159 |
Intel i7 640LM | 2.13 | 4096 | core2 | 86 | 118 | 142 | 160 |
Intel i3 3217U | 1.80 | 3072 | core2 64b | 165 | 196 | 222 | 226 |
Intel i7 640LM | 2.13 | 4096 | corei7 | 199 | 245 | 281 | 290 |
Intel i7 640LM | 2.13 | 4096 | corei7 64b | 216 | 267 | 298 | 310 |
i5-3450 | 3.10 | 6144 | corei7 | 200 | 275 | 327 | 351 |
i5-3450 | 3.10 | 6144 | corei7 64b | 215 | 299 | 364 | 389 |
Intel i7 3630QM | 2.40 | 6144 | corei7 64b | 217 | 311 | 394 | 413 |
Intel i5 8300H | 2.30 | 8192 | corei7 64b | 518 | 883 | 1118 | 1098 |
Sorprenden los resultados de mi humilde Pentium-M. La posible explicación es que está corriendo sobre Ubuntu, y este test debe estar limitado por el ancho de banda del disco (los demás procesadores corren sobre Cygwin).
También es curioso que el Q8300 y el 8300H funcionen mejor con 3 threads que con 4. Posible caso de cache trashing.
domingo, 16 de enero de 2011
Recortar y rellenar con FFMpeg
Vamos a usar los filtros
Para recortar a una imagen 8 píxeles por la izquierda, y 8 por la derecha:
Para rellenar con verde (R=69,G=94,B=18) 4 píxeles por la izquierda, y 4 por la derecha, si la imagen tiene 142 de ancho:
El filtro
crop
y pad
.Para recortar a una imagen 8 píxeles por la izquierda, y 8 por la derecha:
ffmpeg.exe -i input.png -vf 'crop=in_w-16' output.png
Para rellenar con verde (R=69,G=94,B=18) 4 píxeles por la izquierda, y 4 por la derecha, si la imagen tiene 142 de ancho:
ffmpeg -i input.png -vf 'pad=150:0:8:0:699418' output.png
El filtro
crop
permite referenciar variables que representan el ancho/alto de la imagen. El filtro crop
todavía no admite variables.
Suscribirse a:
Entradas (Atom)