How Video is Processed
This section describes how the videos are processed in Vaah Sockets, including the methods used to capture video frames, process video data with ffmpeg, and save the processed video to a specified folder path.
Video Processing in VaahSockets
The processVideo
function which was located at src/helpers.js
uses FFmpeg
to process a video file, generate a thumbnail, and save the video data to the database. It logs progress and handles errors by deleting the input file if processing fails. The generateThumbnail
function creates a video screenshot, and handleVideoData
saves video details to the database.
Functions
processVideo
:- Processes the video file, generates a thumbnail, and saves video data to the database.
- Parameters:
inputPath
: Path to the input video file.outputPath
: Path to save the processed video.videoData
: Object containing metadata for the video.
- Flow :
- Logs the start of video processing.
- Initializes
FFmpeg
processing with input format webm. - Logs progress and the
FFmpeg
command line. - On success, generates a thumbnail and saves video data to the database.
- On error, logs the error and deletes the input file.
- Sets
FFmpeg
output options and saves the processed video file.
generateThumbnail
:
- Generates a thumbnail image for the video.
- Parameters:
inputPath
: Path to the input video file.videoData
: Object containing metadata for the video.callback
: Callback function to handle thumbnail generation.
- Flow :
- Logs the start of thumbnail generation.
- Uses
FFmpeg
to generate a thumbnail image. - On success, updates
videoData
with the thumbnail path and calls the callback. - On error, logs the error.
handleVideoData
:
- Saves video details to the database.
- Parameters:
data
: Object containing metadata for the video.
- Flow :
- Attempts to save the video data using
mediaApi.createItem
.
- Attempts to save the video data using
getFolderPath
:
- Extracts the folder path from a given video file path..
- Parameters:
videoPath
: Path to the video file.
- Flow:
- Splits the video path into parts.
- Removes the last part (filename) to get the folder path.
- Returns the folder path.
Streaming Flow
This section describes the methods used to start and stop video streaming, manage the MediaRecorder, and handle WebSocket communication for streaming video frames.
How Alerts Works
This section describes how alerts work in VaahShare, including the methods used to display alerts, handle user interactions, and manage alert states.