Git Product home page Git Product logo

dictoapp / dicto Goto Github PK

View Code? Open in Web Editor NEW
19.0 2.0 0.0 8.76 MB

🎞 transcribe > annotate > remix > publish video and audio content

Home Page: https://dictoapp.github.io/dicto/

License: GNU Affero General Public License v3.0

HTML 19.57% JavaScript 64.66% SCSS 15.78%
video audio transcription digital-humanities tagging caqdas qualitative-analysis publishing rich-media react redux electron pouchdb

dicto's Introduction

dicto | transcribe > annotate > remix > publish video and audio content

Price License: AGPL v3.0 Tweet

A media annotation and publishing tool for academic, journalistic, and educational use

Dicto screenshot

Dicto is an application made for the annotation, analysis and publication of video and audio content. It allows to work with interviews, videos analysis, or oral communication restitutions, for private analysis and/or online publishing contexts.

Dicto allows to annotate videos with transcriptions, translations or commentaries, to tag them with themes, people, places and dates, and possibly to publish them as websites or embeddable html code.

Dicto is designed as a flexible tool: it can be connected to other transcription tools ; it also allows to export a corpus or a selection of excerpts as an autonomous web page ready for consultation, or as data files allowing further work with other tools.

Installation

  1. Get a google api key in google dev console -> https://console.developers.google.com then enable youtube and maps apis.
  2. Go to vimeo api website, and create a new app --> https://developer.vimeo.com/apps/new then copy client id and client secret
  3. Open a terminal/bash and type the following lines :
git clone https://github.com/dictoapp/dicto
cd dicto
npm install
cp config.sample.json app/config.dev.json
cp config.sample.json app/config.prod.json
  1. Fill app/config.dev.json and app/config.prod.json with your google and vimeo credentials

Main dev scripts

# run in electron/dev mode with hot reloading
npm run dev:electron

# run in web/dev mode with hot reloading
npm run dev:web

# pack electron application for all platforms
npm run pack

# build web version for production
npm run build:web

# fix scss code styles
npm run comb

# diagnose and fix js code
npm run lint:fix


Contribute to Dicto

The source code of Dicto is published on github under free license AGPL-3.0.

The tool is currently in alpha stage, and contributions to improve it are welcome.

Do not hesitate to submit new issues to the project's repository in order to signal bugs or missing features.

Acknowledgements

Dicto is the outcome of a design research project about academic publishing in the humanities and social sciences initiated in 2014 by Robin de Mourat (Université Rennes 2 - Sciences Po Paris), under the supervision of Nicolas Thély and Donato Ricci, and thanks to a PhD funding provided by the french Ministry of Higher Education and Research (MESR).

Dicto has been developed and improved thanks to the feedbacks and support of many persons and organizations including Donato Ricci, Nicolas Thély, Antoine Delinotte, Laetitia Giorgino, Antoine Lefur, Joachim Prehn Thomsen, Thomas Fomsgaard Nyrup, Calibro company, Université Rennes 2, médialab Sciences Po, Maison des Sciences de l'Homme de Bretagne.

Besides, it relies on a lot of open source packages made by 471 different persons for which here are some credits :

dicto's People

Contributors

robindemourat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

dicto's Issues

Update outdated dependencies

  • ajv 6.12.6 -> 8.10.0
  • approved-browser 1.0.2 -> 1.0.2
  • archiver 2.1.1 -> 5.3.0
  • axios 0.18.1 -> 0.25.0
  • babel-runtime 6.26.0 -> 6.26.0
  • commonmark 0.28.1 -> 0.30.0
  • commonmark-react-renderer 4.3.5 -> 4.3.5
  • connected-react-router 4.5.0 -> 6.9.2
  • copy-to-clipboard 3.3.1 -> 3.3.1
  • d3-array 1.2.4 -> 3.1.1
  • d3-collection 1.0.7 -> 1.0.7
  • d3-dsv 1.2.0 -> 3.0.1
  • d3-scale 2.2.2 -> 4.0.2
  • debounce-promise 3.1.2 -> 3.1.2
  • dicto-schema 1.0.1 -> 1.0.1
  • electron-ipc-responder 1.0.4 -> 1.0.4
  • electron-ipc-socket 1.2.4 -> 3.0.0
  • electron-store 2.0.0 -> 8.0.1
  • file-saver 1.3.8 -> 2.0.5
  • font-awesome 4.7.0 -> 4.7.0
  • fs-extra 5.0.0 -> 10.0.0
  • history 4.10.1 -> 5.2.0
  • html-to-text 4.0.0 -> 8.1.0
  • install 0.12.2 -> 0.13.0
  • is-obj 1.0.1 -> 3.0.0
  • json-schema-defaults 0.4.0 -> 0.4.0
  • json2po 1.0.5 -> 1.0.5
  • leaflet 1.7.1 -> 1.7.1
  • lodash 4.17.21 4.17.21
  • moment 2.29.1 -> 2.29.1
  • npm 6.14.16 -> 8.5.0
  • parse-srt 1.0.0-alpha 1.0.0-alpha
  • pigeon-maps 0.12.1 -> 0.20.0
  • pigeon-overlay 0.2.3 -> 0.2.3
  • pouchdb 6.4.3 -> 7.2.2
  • queue 4.5.1 -> 6.0.2
  • react 16.14.0 -> 17.0.2
  • react-audio-player 0.10.0 -> 0.17.0
  • react-beautiful-dnd 5.0.0 -> 13.1.0
  • react-color 2.19.3 -> 2.19.3
  • react-contextmenu 2.14.0 -> 2.14.0
  • react-custom-scrollbars 4.2.1 -> 4.2.1
  • react-datepicker 1.8.0 -> 4.6.0
  • react-dates 16.7.1 -> 21.8.0
  • react-dom 16.14.0 -> 17.0.2
  • react-dropzone 4.3.0 -> 12.0.2
  • react-flip-move 3.0.4 -> 3.0.4
  • react-form 2.16.3 -> 4.0.1
  • react-full-screen 0.2.5 -> 1.1.0
  • react-hotkeys 0.10.0 -> 2.0.0
  • react-image-gallery 0.8.18 -> 1.2.7
  • react-joyride 2.3.2 -> 2.3.2
  • react-key-handler 1.1.0 1.2.0-beta.3
  • react-leaflet 1.9.1 -> 3.2.5
  • react-markdown 3.6.0 -> 8.0.0
  • react-measure 2.5.2 -> 2.5.2
  • react-modal 3.14.4 -> 3.14.4
  • react-places-autocomplete 6.1.3 -> 7.3.0
  • react-player 1.15.3 -> 2.9.0
  • react-redux 5.1.2 -> 7.2.6
  • react-redux-toastr 7.6.8 -> 7.6.8
  • react-router 4.3.1 -> 6.2.1
  • react-router-dom 4.3.1 -> 6.2.1
  • react-router-redux 5.0.0-alpha.8 -> 4.0.8
  • react-router-transition 1.4.0 -> 2.1.0
  • react-select 1.3.0 -> 5.2.2
  • react-sigma 1.2.35 -> 1.2.35
  • react-textarea-autosize 5.2.1 -> 8.3.3
  • react-tooltip 3.11.6 -> 4.2.21
  • react-vertical-timeline-component 2.6.2 -> 3.5.2
  • rebound 0.0.15 -> 0.1.0
  • redux 3.7.2 -> 4.1.2
  • redux-actions 2.6.5 -> 2.6.5
  • redux-i18n 1.5.24 -> 1.5.24
  • redux-localstorage 0.4.1 -> 0.4.1
  • redux-pouchdb 0.1.4 1.0.0-rc.3
  • redux-thunk 2.4.1 -> 2.4.1
  • reselect 3.0.1 -> 4.1.5
  • typeface-roboto 0.0.41 -> 1.1.13
  • uuid 3.4.0 -> 8.3.2

Copy-pasting does not work in desktop version

  • I have checked for existing similar issues before submitting this one
  • I am using the latest version/release of Dicto

🐛 Describe the bug

Copy-pasting does not work in desktop version

⟲ To Reproduce

Steps to reproduce the behavior:

  1. Open a modal in the application (for instance new media modal)
  2. Try to paste content by hitting cmd+v in one of the fields

👁 Observed behavior

Content is not pasted.

✓ Expected behavior

Content should be pasted.

⚙ Configuration (please complete the following information)

  • web version

  • desktop version

  • OS: mac os

[composition edition] display facets in chunks preview

⚠ Is your feature request related to a problem? Please describe.

Sometimes chunks should be assembled based on their non-default facets. It is possible to toggle the facets to show in the left column but it is not visible enough.

🔊 Describe the solution you'd like

Allow to switch between facets previews in specific chunks.

🔎 Additional context

Input from @audreybaneyx tests with sciencespo librarians and researchers.

Add .mov files handling

⚠ Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

🔊 Describe the solution you'd like

A clear and concise description of what you want to happen.

⟿ Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

🔎 Additional context

Add any other context or screenshots about the feature request here.

Tags import

Tags should be importable from caqdas software.

Infinite loading when adding two videos

  • I have checked for existing similar issues before submitting this one
  • I am using the latest version/release of Dicto

🐛 Describe the bug

A clear and concise description of what the bug is.

⟲ To Reproduce

Steps to reproduce the behavior:

  1. create a new video from home
  2. create asecond video from anontation pannel

👁 Observed behavior

Infinite loading

⚙ Configuration (please complete the following information)

  • web version

  • desktop version

  • OS: iOs

Player : encode player/interface location & params in URL query param to allow permalinking

⚠ Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

🔊 Describe the solution you'd like

A clear and concise description of what you want to happen.

⟿ Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

🔎 Additional context

Add any other context or screenshots about the feature request here.

Composition web export not working ?

⚠ Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

🔊 Describe the solution you'd like

A clear and concise description of what you want to happen.

⟿ Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

🔎 Additional context

Add any other context or screenshots about the feature request here.

Toward clean/fork-friendly/contribution-friendly code

This is an on-going issue aimed at listing all chore/cleaning tasks remaining to make dicto code base effectively open source, that is easy to read, fork, and improve.

  • add a CONTRIBUTE.md guide
  • add a MANUAL_E2E_CHECKLIST.md guide

Stabilize style system

  • replace redundant inline modification to css theme by css theme changes
  • replace useless inline styles with css system

Clean react code

  • refactor modals with a standard modal component
  • refactor modal contents in separate components
  • spot redundant html patterns and refactor them as reusable components
  •  in features, refactor long layout component by externalizing feature-related components
  • in features, move logic code toContainer components, dedicate Layout components layout/design
  • drop inline callbacks in react components

Local code simplifications

  • use lodash.get instead of multiple existence tests

Add unit tests to utils modules

Code documentation

  • add esdoc header for all functions/classes

Resolve last performance bottlenecks

  • composition edition view : do not load whole corpus data / handle data display in an async way (as for media edition)
  • composition edition view : improve asides edition modal performance

Questions / to decide

Update to react 17 ?

This would mean refactoring everything relying on components livecycle.

Redux data management logic : share code between electron main process and renderer process ?

This would ask to find a way to keep an architecture which work both for webapp and electron app.

Corpus player : montage pagination does not work

  • I have checked for existing similar issues before submitting this one
  • I am using the latest version/release of Dicto

🐛 Describe the bug

A clear and concise description of what the bug is.

⟲ To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'

👁 Observed behavior

A clear and concise description of what happens when reproducing the steps above.

✓ Expected behavior

A clear and concise description of what you expected to happen.

🍿 Screenshots

If applicable, add screenshots to help explain your problem.

⚙ Configuration (please complete the following information)

  • web version

  • desktop version

  • OS: [e.g. iOS]

  • Browser [e.g. chrome, safari] (for web version only)

  • Version [e.g. 22] (for web version only)

🔎 Additional context

Add any other context about the problem here.

Player: bar should have fixed height

⚠ Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

🔊 Describe the solution you'd like

A clear and concise description of what you want to happen.

⟿ Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

🔎 Additional context

Add any other context or screenshots about the feature request here.

Optionnally show tags and tag categories in composition player timeline

⚠ Is your feature request related to a problem? Please describe.

For some cases tags and their categories should be part of publication of a composition.

🔊 Describe the solution you'd like

Allow authors to choose if tags should be displayed in the timeline of a composition export.
Possibly choose which categories should be shown and which categories should be hidden

🔎 Additional context

Input from @audreybaneyx tests with sciencespo librarians and researchers.

Delete all excerpts of a media does not work

  • I have checked for existing similar issues before submitting this one
  • I am using the latest version/release of Dicto

🐛 Describe the bug

Delete all excerpts of a media does not work

⟲ To Reproduce

Steps to reproduce the behavior:

  1. Edit a media
  2. Right-click then "delete all chunks"
  3. Go to corpus homepage
  4. Go back to the media

👁 Observed behavior

The chunks have not been deleted

✓ Expected behavior

The chunks should be deleted.

⚙ Configuration (please complete the following information)

  • web version

  • desktop version

  • OS: mac

  • Browser : firefox

  • Version : latest

🔎 Additional context

Add any other context about the problem here.

Add a timecode to media/composition player

⚠ Is your feature request related to a problem? Please describe.

It is not possible to know/point to a specific point of media player.

🔊 Describe the solution you'd like

  • Display timecode in the player (in case of compositions, the timecode should be the one of the composition relative timecode)
  • (possibly) allow permalinking to a specific time in a dicto composition export

🔎 Additional context

Input from @audreybaneyx tests with sciencespo librarians and researchers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.