Hola de nuevo. He solventado de momento el problema de generar los thumbnails.
Lo hice de la manera mas "facil" y por otra parte, la unica que realmente me ha funcionado hasta ahora, como comentaba en el primer mensaje utilice directamente el ffmpeg y su linea de comandos desde el python.
Estoy trabajando bajo Widows7 y ahora, una vez conseguido el thumbnail, se me presenta otro problema.
Mi codigo utiliza la funcion
os.system para lanzar el ffmpeg.exe con los parametros y lo hace bien, el problema es que me minimiza el programa original con lo cual no me sirve para nada.
Necesito poder ejecutar desde el python el ffmpeg.exe pero sin que aparezca la cmd, sin que se me minimice mi programa principal y no me pierda el foco, podria bien utilizar una especie de subproceso o la ejecucion en segundo plano o bien (esta idea ya me convence menos) volver a enfocar mi aplicacion inicial una vez acabe el cmd.
Mi prioridad es poder ejecutar en 2º plano y que ni si quiera se vea la consola de comandos pero no he sido capaz, os resumo mis pruebas/errores:
Código:
sacarThumb = """"C:\\Program Files (x86)\\XBMC\\scripts\\Base De Datos\\ffmpeg.exe" -y -ss 423 -i "\\GERAR\\HD_RED_6\\Peliculas\\La Princesa Mononoke\\Movie.mkv" -f mjpeg -vframes 1 -s 720x400 -an "C:/Program Files (x86)/XBMC/scripts/Base De Datos/thumbnail.jpg""""
Si utilizo:
Ejecuta perfectamente el ffmpeg.exe y consigo el thumbnail PERO se me minimiza la aplicacion principal.
Si utilizo:
Código:
subprocess.Popen([sacarThumb], shell=False)
El log de la aplicacion me devuelve esto:
Código:
13:46:41 T:2904 M:2748325888 ERROR: Exception in python script's onAction
13:46:41 T:2904 M:2748325888 NOTICE: Traceback (most recent call last):
13:46:41 T:2904 M:2748325888 NOTICE: File "C:\Program Files (x86)\XBMC\scripts\Base De Datos\default.py", line 8461, in onAction
13:46:42 T:2904 M:2748469248 NOTICE: if action == ACTION_PREVIOUS_MENU :
13:46:42 T:2904 M:2748469248 NOTICE: File "C:\Program Files (x86)\XBMC\scripts\Base De Datos\default.py", line 8874, in onClick
13:46:44 T:2904 M:2748485632 NOTICE: self.Jugar()
13:46:44 T:2904 M:2748485632 NOTICE: File "C:\Program Files (x86)\XBMC\scripts\Base De Datos\default.py", line 9746, in Jugar
13:46:46 T:2904 M:2748473344 NOTICE: self.pruebaFotograma(ronda)
13:46:46 T:2904 M:2748473344 NOTICE: File "C:\Program Files (x86)\XBMC\scripts\Base De Datos\default.py", line 6530, in pruebaFotograma
13:46:47 T:2904 M:2748497920 NOTICE: subprocess.Popen([sacarThumb], shell=False)
13:46:47 T:2904 M:2748497920 NOTICE: File "special:\\xbmc\system\python\python24.zlib\subprocess.py", line 558, in __init__
13:46:47 T:2904 M:2748493824 NOTICE: File "special:\\xbmc\system\python\python24.zlib\subprocess.py", line 722, in _execute_child
13:46:47 T:2904 M:2748493824 NOTICE: WindowsError
Si utilizo:
El log me dice:
Código:
14:47:04 T:1980 M:2464804864 ERROR: CThread::staticThread : Access violation at 0x77498c19: Writing location 0x00000014
Tiene que existir una manera de ejecutar en segundo plano o sin la cmd, pero no lo doy conseguido.
Acepto sugerencias de cualquier tipo.
Muchas gracias.