
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Know better your media files.
Extract information from a video file:
$ knowit /folder/Audio Samples/hd_dtsma_7.1.mkv
For: /folder/Audio Samples/hd_dtsma_7.1.mkv
Knowit 0.4.0 found:
{
"title": "7.1Ch DTS-HD MA - Speaker Mapping Test File",
"path": "/folder/Audio Samples/hd_dtsma_7.1.mkv",
"duration": "0:01:37",
"size": "40.77 MB",
"bit_rate": "3.3 Mbps",
"container": "mkv",
"video": [
{
"id": 1,
"duration": "0:01:37",
"width": "1920 pixel",
"height": "1080 pixel",
"scan_type": "Progressive",
"aspect_ratio": "1.778",
"pixel_aspect_ratio": "1.0",
"resolution": "1080p",
"frame_rate": "23.976 FPS",
"bit_depth": "8 bit",
"codec": "H.264",
"profile": "Main",
"profile_level": "4",
"media_type": "video/H264",
"default": true
}
],
"audio": [
{
"id": 2,
"name": "7.1Ch DTS-HD MA",
"language": "English",
"duration": "0:01:37",
"codec": "DTS-HD",
"profile": "Master Audio",
"channels_count": 8,
"channels": "7.1",
"bit_depth": "24 bit",
"bit_rate_mode": "Variable",
"sampling_rate": "48.0 KHz",
"compression": "Lossless",
"default": true
}
],
"provider": {
"name": "mediainfo",
"version": {
"pymediainfo": "5.0.3",
"libmediainfo.so.0": "v20.9"
}
}
}
Extract information from a video file using ffmpeg:
$ knowit --provider ffmpeg /folder/Audio Samples/hd_dtsma_7.1.mkv
For: /folder/Audio Samples/hd_dtsma_7.1.mkv
Knowit 0.4.0 found:
{
"title": "7.1Ch DTS-HD MA - Speaker Mapping Test File",
"path": "/folder/Audio Samples/hd_dtsma_7.1.mkv",
"duration": "0:01:37",
"size": "40.77 MB",
"bit_rate": "3.3 Mbps",
"container": "mkv",
"video": [
{
"id": 0,
"width": "1920 pixel",
"height": "1080 pixel",
"scan_type": "Progressive",
"aspect_ratio": "1.778",
"pixel_aspect_ratio": "1.0",
"resolution": "1080p",
"frame_rate": "23.976 FPS",
"bit_depth": "8 bit",
"codec": "H.264",
"profile": "Main",
"default": true
}
],
"audio": [
{
"id": 1,
"name": "7.1Ch DTS-HD MA",
"language": "English",
"codec": "DTS-HD",
"profile": "Master Audio",
"channels_count": 8,
"channels": "7.1",
"bit_depth": "24 bit",
"sampling_rate": "48.0 KHz",
"default": true
}
],
"provider": {
"name": "ffmpeg",
"version": {
"ffprobe": "v4.2.4-1ubuntu0.1"
}
}
}
Using docker:
docker run -it --rm -v /folder:/folder knowit /folder/Audio Samples/hd_dtsma_7.1.mkv
For: /folder/Audio Samples/hd_dtsma_7.1.mkv
Knowit 0.4.0 found:
{
"title": "7.1Ch DTS-HD MA - Speaker Mapping Test File",
"path": "/folder/Audio Samples/hd_dtsma_7.1.mkv",
"duration": "0:01:37",
"size": "40.77 MB",
"bit_rate": "3.3 Mbps",
"container": "mkv",
"video": [
{
"id": 1,
"duration": "0:01:37",
"width": "1920 pixel",
"height": "1080 pixel",
"scan_type": "Progressive",
"aspect_ratio": "1.778",
"pixel_aspect_ratio": "1.0",
"resolution": "1080p",
"frame_rate": "23.976 FPS",
"bit_depth": "8 bit",
"codec": "H.264",
"profile": "Main",
"profile_level": "4",
"media_type": "video/H264",
"default": true
}
],
"audio": [
{
"id": 2,
"name": "7.1Ch DTS-HD MA",
"language": "English",
"duration": "0:01:37",
"codec": "DTS-HD",
"profile": "Master Audio",
"channels_count": 8,
"channels": "7.1",
"bit_depth": "24 bit",
"bit_rate_mode": "Variable",
"sampling_rate": "48.0 KHz",
"compression": "Lossless",
"default": true
}
],
"provider": {
"name": "mediainfo",
"version": {
"pymediainfo": "5.0.3",
"libmediainfo.so.0": "v20.9"
}
}
}
All available CLI options:
$ knowit --help
usage: knowit [-h] [-p PROVIDER] [--debug] [--report] [-y] [-N] [-P PROFILE] [--mediainfo MEDIAINFO] [--ffmpeg FFMPEG] [--mkvmerge MKVMERGE] [--version] [videopath [videopath ...]]
positional arguments:
videopath Path to the video to introspect
optional arguments:
-h, --help show this help message and exit
Providers:
-p PROVIDER, --provider PROVIDER
The provider to be used: mediainfo, ffmpeg, mkvmerge or enzyme.
Output:
--debug Print information for debugging knowit and for reporting bugs.
--report Parse media and report all non-detected values
-y, --yaml Display output in yaml format
-N, --no-units Display output without units
-P PROFILE, --profile PROFILE
Display values according to specified profile: code, default, human, technical
Configuration:
--mediainfo MEDIAINFO
The location to search for MediaInfo binaries
--ffmpeg FFMPEG The location to search for ffprobe (FFmpeg) binaries
--mkvmerge MKVMERGE The location to search for mkvmerge (MKVToolNix) binaries
Information:
--version Display knowit version.
KnowIt can be installed as a regular python module by running:
$ [sudo] pip install knowit
For a better isolation with your system you should use a dedicated
virtualenv or install for your user only using the --user
flag.
KnowIt can use MediaInfo, ffprobe (FFmpeg) or mkvmerge (MKVToolNix)
KnowIt supports MKV regardless if MediaInfo, FFmpeg or MKVToolNix are installed.
MediaInfo, FFmpeg or MKVToolNix increases the number of supported formats and the number of extracted information.
MediaInfo is the default provider. Visit their website and install the proper package for your system.
ffprobe (FFmpeg) can be downloaded here
mkvmerge (MKVToolNix) can be downloaded here
FAQs
Know better your media files
We found that knowit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.