PeakVis is a visualization tool that allows uploading a recorded video of a live broadcast together with a file of tweets, comments of 280 characters made on the social network Twitter, related to the recorded program. It is an interactive tool that syncs the video recording with a responsive line graph representing the total number of tweets from each moment, the top messages, a dynamic word cloud, and a semantic graph showing word correlation.
- Requirements
- Installation
- Execution
- Inserting data into your application
- Inserting video into your application
- Processing the files
- Visualization elements
- Highlight
- Tweet volume line chart
- Video player
- Most retweeted tweets
- Frequently said words
- Semantic network
- Dependencies
- Citation
- About the Authors
To operate the Peakvis, it is necessary to have the minimum requirements listed below:
- OS:
- Windows 7 or superior
- MacOS
- GNU (Linux OS)
- Preferentially browsers based on Chromium (such as Chrome, Edge and Opera), or Firefox
- Python 3.0 64-bit version
- pip (in Python 3.4 or superior, pip is already built-in)
To install the Peakvis project, you can either download the compressed folder or clone the repository.
After downloading the project, go to the folder path via command prompt and install the dependencies using:
pip install -r requirements.txt --user
If you have both Python 2.x and Python 3.x installed on your machine, consider using 'pip3' instead of 'pip'.
After installing all dependencies that you need, it is important to know that you need to have two files to run the main application:
- A .json file, containing recorded tweets
- A video file showing the event you want to analyze
To insert your .json file into the project, go to the \Peakvis-master\static\DATA\dados path and insert your file in the folder.
- For demonstration, a JSON file named demo is already present in the folder.
- Just drag your .json file to this path.
To insert your video file into the project, go to the \Peakvis-master\static\DATA\videos path and insert your file in this folder.
- For demonstration, a video named demo is already present in the folder.
- Just drag your video file to this path.
After inserting the two files that you need to run the program, go to folder path via command prompt and run the following command:
python server.py
- There is a chance you need to use the python3 command instead of python.
- After that, the application will then be available at the following address: http://127.0.0.1:5000/.
- Write the name of your data and video file in the indicated textboxes.
- By default, the demo files are already configured, but you can change them just by rewriting.
- Both of the file names must contain the file type in the end (.json and .mp4, for example).
- Click the Submit button and wait. The application must generate all the visualization elements.
Along this section, the application functionalities and features will be approached for better comprehension. It is important to know that all the items are synced with the button.
- On the top left of the application, there is a slider button named Highlight. It controls the sensitivity of the traffic peaks of tweets to show to the users, which can be interpreted as the most appealing or most commented moments.
- The further to the left, the less rigorous the definition of Highlight becomes.
- The farther to the right, the stricter the definition of Highlight is.
- By clicking on the Highlight button, all the needed changes are processed.
- The line chart of tweets shows the peaks of tweets contained in the .json file as the first analysis graph. It is synced with the video and goes along with the video time.
- Already watched segments are colored blue, as opposed to the default unwatched grey lines.
- The starting of the tweet peaks are indicated with a purple dot.
- As the video player is synced with the other charts, you can pause and unpause any video at any time, pausing the other application elements too.
- You can set the volume, put it on full screen, download the video and set it as a picture-in-picture player.
- As another element of the application, the tweet box shows the textual contents of the most retweeted tweets every second in a scrolling box.
- Besides the tweet content, it shows its date and time posted in brackets.
- It is also possible to access the tweet address by clicking on the highlighted "LINK" under its content.
- There is also a dynamic word cloud showing the most frequent words in the tweets until the watched segment.
- The application ignores several words known as stopwords, such as articles and prepositions (for example: "the", "so", and "on").
- You can see and even set these words on the "STOPWORDS" file.
- The semantic network connects the most related words between themselves.
- For example, the more related words to the word "final" are connected by grey lines, then linking words as "kaysar", "edição" and "#bbb18".
- The graph is generated in real-time, providing a smooth animation along the video time.
| Library | Version/source |
|---|---|
| D3 | 3.0.2 |
| Plotly | 1.58.4 |
| jQuery | 3.0.2 |
| MathJs | 6.2.1 |
| wordcloud2 | 1.2.2 |
| Library | Version/source |
|---|---|
| flask | 3.0.2 |
| numpy | 1.20.3 |
| pandas | 1.2.4 |
| json | - |
| datetime | Lib/datetime.py |
| pathlib | Lib/pathlib.py |
| csv | Lib/csv.py |
| itertools | /lib-dynload/itertools.so |
| networkx | 2.5 |
| regex | 2021.4.4 |
Please refer to this work by citing the paper indicated below.
Pedro Henrique M. Sanvido, Gabriela B. Kurtz, Carlos R. G. Teixeira, Pedro P. Wagner,Lorenzo P. Leuck, Milene S. Silveira, Roberto Tietzmann, Isabel H. Manssour. PeakVis: a Visual Analysis Tool for Social Network Data and Video Broadcasts. IEEE International Conference on Computers, Software and Applicatins (COMPSAC), 2021.
We are members of the Data Visualization and Interaction Lab (DaVInt) at PUCRS:
- Pedro P. Wagner -- Undergraduate student in Computer Science.
- Arthur Henrique Henz -- Undergraduate student in Computer Science.
- Pedro Henrique M. Sanvido -- Master Student in Computer Science.
- Lorenzo P. Leuck -- Master Student in Communication.
- Carlos R. G. Teixeira -- PhD student in Communication.
- Gabriela B. Kurtz -- Professor and researcher of DaVInt.
- Milene S. Silveira -- Professor and researcher of DaVInt.
- Roberto Tietzmann -- Professor and researcher of DaVInt.
- Isabel H. Manssour -- Researcher and Professor Coordinator of DaVInt.
More information can be found here.









