├── .browserslistrc ├── instrucciones.md ├── public ├── favicon.ico └── index.html ├── src ├── assets │ └── logo.png ├── App.vue ├── speak.js ├── store.js ├── main.js ├── views │ ├── Settings.vue │ ├── Help.vue │ └── WorkView.vue └── utils.js ├── babel.config.js ├── zmovidesc.code-workspace ├── vue.config.js ├── .gitignore ├── .eslintrc.js ├── README.md └── package.json /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not dead 4 | -------------------------------------------------------------------------------- /instrucciones.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidacm/moviDescGenerator/main/instrucciones.md -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidacm/moviDescGenerator/main/public/favicon.ico -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidacm/moviDescGenerator/main/src/assets/logo.png -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /zmovidesc.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "path": "." 5 | } 6 | ], 7 | "settings": {} 8 | } -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | publicPath: process.env.NODE_ENV === 'production' 3 | ? '/moviDescGenerator/' 4 | : "", 5 | 6 | lintOnSave: false, 7 | configureWebpack: { 8 | devtool: 'source-map' 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | testingFiles 4 | /dist 5 | 6 | 7 | # local env files 8 | .env.local 9 | .env.*.local 10 | 11 | # Log files 12 | npm-debug.log* 13 | yarn-debug.log* 14 | yarn-error.log* 15 | pnpm-debug.log* 16 | 17 | # Editor directories and files 18 | .idea 19 | .vscode 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true 5 | }, 6 | 'extends': [ 7 | 'plugin:vue/essential', 8 | 'eslint:recommended' 9 | ], 10 | parserOptions: { 11 | parser: 'babel-eslint' 12 | }, 13 | rules: { 14 | 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 15 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off' 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # movidesc 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Lints and fixes files 19 | ``` 20 | npm run lint 21 | ``` 22 | 23 | ### Customize configuration 24 | See [Configuration Reference](https://cli.vuejs.org/config/). 25 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 |Seleccione las opciones de configuración
5 |8 | Esta aplicación permite cargar un audio o vídeo y agregar marcas de 9 | tiempo, a las cuales podremos adjuntar un texto. La idea inicial es que 10 | ese texto será utilizado para describir las escenas de un vídeo, para ser 11 | escuchado por personas ciegas después. Pero si encuentras otros usos o 12 | sugerencias, házmelas saber. Podría ser usada también, para subtitular o 13 | realizar transcripciones, pero no es su objetivo primario. Una marca de 14 | tiempo o "cue" es un elemento que se compone de: 15 |
16 |28 | Aunque es una aplicación web, todo el funcionamiento es realizado en su 29 | equipo. No hay ninguna conexión con ningún servidor. 30 |
31 |32 | La aplicación permite cargar cualquier archivo de audio o vídeo, siempre 33 | que el navegador tenga la capacidad para reproducir el formato del 34 | archivo. Todos los navegadores suelen comportarse distinto, pero los 35 | archivos mp4 y mp3 suelen funcionar sin problemas. Aunque si su vídeo se 36 | encuentra en otro formato, intenta cargarlo antes de hacer una conversión 37 | hacia otro formato. De no funcionar, entonces deberás realizar la 38 | conversión hacia un formato compatible. Por ejemplo mp4 en el caso de un 39 | archivo de vídeo, mp3 en el caso de un archivo de audio. 40 |
41 |42 | También se pueden importar archivos con marcas de tiempo, por si queremos 43 | actualizar o continuar un trabajo previamente realizado. En este aspecto 44 | soporta los formatos SRT, WebVtt, y el generado por la aplicación 45 | pinpoint. Si considera que otro formato debería estar en la lista, házmelo 46 | saber y consideraré su viabilidad. 47 |
48 |50 | La aplicación cuenta con dos pestañas. Una de trabajo, y la otra de 51 | configuración. 52 |
53 |55 | En la pestaña de trabajo tenemos varios controles autoexplicativos. Pero 56 | antes de comenzar a trabajar, debemos cargar un archivo de vídeo o de 57 | audio. Puede ser en formato mp3 o mp4. Si el archivo no es reproducido, 58 | puede que su navegador web no tenga soporte para ese formato de archivo y 59 | deba ser convertido a otro formato. En edge y chrome, mp3 y mp4 han 60 | funcionado sin problemas. 61 |
62 |63 | En primera instancia se encuentra un menú desplegable de opciones, que 64 | podemos abrir pulsando click, espacio o enter. Para cerrarlo, basta con 65 | pulsar escape. En este menú podremos hacer lo siguiente: 66 |
67 |105 | Una vez que hayamos cargado un archivo de vídeo o audio, se mostrarán los 106 | controles típicos de un reproductor. Si al cargar el archivo la aplicación 107 | encuentra que existen datos asociados al nombre del archivo en el local 108 | storage, cargará las descripciones previamente guardadas en el local 109 | storage. Nota: si tenemos descripciones precargadas y volvemos a abrir un 110 | archivo de descripciones, el sistema lo aceptará. En este caso, podríamos 111 | quedar con descripciones duplicadas. 112 |
113 |114 | Cuando se muestra la interfaz de descripciones, tenemos dos encabezados: 115 | uno para el control del reproductor, y otro para la gestión de 116 | descripciones. 117 |
118 |En esta sección tenemos lo siguiente:
120 |172 | Nota: los controles del 2 al 11 se muestran únicamente cuando hay una 173 | marca seleccionada, puedes seleccionar las marcas en la lista de cues. 174 |
175 |177 | Las teclas no siguen un orden inicial de la acción, si no que la mayoría 178 | están dispuestas para que sean fáciles de recordar: Todos los comandos 179 | requieren además, presionar alt + shift. 180 |
181 |Aquí se configuran algunos comportamientos de la aplicación.
210 |224 | Si se activa la opción "Usar síntesis de voz del sistema", se añadirán las 225 | siguientes opciones en la pantalla de configuración: 226 |
227 |272 | Si esta aplicación te ha resultado útil y deseas colaborar con su 273 | mantenimiento y desarrollo, puedes contribuir con una donación voluntaria. 274 | Usa los siguientes medios: 275 |
276 |286 | Si deseas corregir errores, reportar problemas o nuevas características, 287 | puedes comunicarte conmigo al correo: 288 | dhf360@gmail.com. 292 |
293 |Copyright (C) 2021 David CM.
294 |40 | {{ textDesc }} 41 |
42 |