node-av 6.2.0-beta.1 → 6.2.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +29 -0
  2. package/dist/api/audio-frame-buffer.d.ts +73 -1
  3. package/dist/api/audio-frame-buffer.js +127 -1
  4. package/dist/api/audio-frame-buffer.js.map +1 -1
  5. package/dist/api/bitstream-filter.d.ts +82 -4
  6. package/dist/api/bitstream-filter.js +197 -100
  7. package/dist/api/bitstream-filter.js.map +1 -1
  8. package/dist/api/decoder.d.ts +5 -0
  9. package/dist/api/decoder.js +12 -5
  10. package/dist/api/decoder.js.map +1 -1
  11. package/dist/api/demuxer.d.ts +15 -1
  12. package/dist/api/demuxer.js +159 -42
  13. package/dist/api/demuxer.js.map +1 -1
  14. package/dist/api/encoder-pool.d.ts +43 -1
  15. package/dist/api/encoder-pool.js +113 -9
  16. package/dist/api/encoder-pool.js.map +1 -1
  17. package/dist/api/encoder.d.ts +2 -0
  18. package/dist/api/encoder.js +105 -41
  19. package/dist/api/encoder.js.map +1 -1
  20. package/dist/api/filter.js +15 -6
  21. package/dist/api/filter.js.map +1 -1
  22. package/dist/api/fmp4-stream.d.ts +166 -3
  23. package/dist/api/fmp4-stream.js +404 -87
  24. package/dist/api/fmp4-stream.js.map +1 -1
  25. package/dist/api/hardware.js +4 -3
  26. package/dist/api/hardware.js.map +1 -1
  27. package/dist/api/io-stream.js +61 -5
  28. package/dist/api/io-stream.js.map +1 -1
  29. package/dist/api/muxer.d.ts +14 -0
  30. package/dist/api/muxer.js +102 -36
  31. package/dist/api/muxer.js.map +1 -1
  32. package/dist/api/pipeline.d.ts +2 -0
  33. package/dist/api/pipeline.js +23 -5
  34. package/dist/api/pipeline.js.map +1 -1
  35. package/dist/api/rtp-stream.d.ts +51 -6
  36. package/dist/api/rtp-stream.js +220 -76
  37. package/dist/api/rtp-stream.js.map +1 -1
  38. package/dist/api/scaler.d.ts +102 -16
  39. package/dist/api/scaler.js +316 -106
  40. package/dist/api/scaler.js.map +1 -1
  41. package/dist/api/utilities/async-queue.d.ts +3 -0
  42. package/dist/api/utilities/async-queue.js +8 -0
  43. package/dist/api/utilities/async-queue.js.map +1 -1
  44. package/dist/api/webrtc-stream.d.ts +2 -0
  45. package/dist/api/webrtc-stream.js +46 -12
  46. package/dist/api/webrtc-stream.js.map +1 -1
  47. package/dist/api/whisper.d.ts +2 -0
  48. package/dist/api/whisper.js +63 -23
  49. package/dist/api/whisper.js.map +1 -1
  50. package/dist/ffmpeg/install.js +115 -29
  51. package/dist/ffmpeg/install.js.map +1 -1
  52. package/dist/lib/binding.d.ts +1 -0
  53. package/dist/lib/binding.js.map +1 -1
  54. package/dist/lib/codec-context.d.ts +0 -2
  55. package/dist/lib/codec-context.js +4 -22
  56. package/dist/lib/codec-context.js.map +1 -1
  57. package/dist/lib/filter-context.d.ts +0 -1
  58. package/dist/lib/filter-context.js +2 -11
  59. package/dist/lib/filter-context.js.map +1 -1
  60. package/dist/lib/format-context.d.ts +47 -4
  61. package/dist/lib/format-context.js +52 -16
  62. package/dist/lib/format-context.js.map +1 -1
  63. package/dist/lib/frame.d.ts +12 -12
  64. package/dist/lib/frame.js +13 -20
  65. package/dist/lib/frame.js.map +1 -1
  66. package/dist/lib/hardware-frames-context.d.ts +0 -1
  67. package/dist/lib/hardware-frames-context.js +2 -8
  68. package/dist/lib/hardware-frames-context.js.map +1 -1
  69. package/dist/lib/io-context.d.ts +4 -2
  70. package/dist/lib/io-context.js +4 -2
  71. package/dist/lib/io-context.js.map +1 -1
  72. package/dist/lib/native-types.d.ts +2 -2
  73. package/dist/lib/option.d.ts +26 -0
  74. package/dist/lib/option.js +42 -18
  75. package/dist/lib/option.js.map +1 -1
  76. package/dist/lib/packet.d.ts +7 -1
  77. package/dist/lib/packet.js +9 -2
  78. package/dist/lib/packet.js.map +1 -1
  79. package/dist/lib/stream.d.ts +3 -4
  80. package/dist/lib/stream.js +17 -24
  81. package/dist/lib/stream.js.map +1 -1
  82. package/install/check.js +26 -63
  83. package/package.json +38 -21
  84. package/build_mac_local.sh +0 -69
package/package.json CHANGED
@@ -1,9 +1,18 @@
1
1
  {
2
2
  "name": "node-av",
3
- "version": "6.2.0-beta.1",
3
+ "version": "6.2.0-beta.11",
4
4
  "description": "FFmpeg bindings for Node.js",
5
5
  "author": "seydx (https://github.com/seydx/node-av)",
6
6
  "type": "module",
7
+ "engines": {
8
+ "node": ">=22.18.0"
9
+ },
10
+ "files": [
11
+ "dist",
12
+ "install",
13
+ "README.md",
14
+ "LICENSE.md"
15
+ ],
7
16
  "main": "./dist/index.js",
8
17
  "types": "./dist/index.d.ts",
9
18
  "exports": {
@@ -67,6 +76,7 @@
67
76
  "install-updates": "npm i --save",
68
77
  "lint": "eslint .",
69
78
  "lint:fix": "eslint --fix .",
79
+ "lint:gyp": "node scripts/check-gyp-sync.js",
70
80
  "patch:ffmpeg": "node scripts/patch-ffmpeg.js",
71
81
  "postinstall": "node dist/ffmpeg/install.js",
72
82
  "predocs": "typedoc && cpy README.md docs/ --rename=index.md",
@@ -84,45 +94,52 @@
84
94
  "unzipper": "^0.12.5"
85
95
  },
86
96
  "optionalDependencies": {
87
- "werift": "^0.23.0",
88
- "@seydx/node-av-darwin-arm64": "^6.2.0-beta.1",
89
- "@seydx/node-av-darwin-x64": "^6.2.0-beta.1",
90
- "@seydx/node-av-linux-arm64": "^6.2.0-beta.1",
91
- "@seydx/node-av-linux-x64": "^6.2.0-beta.1",
92
- "@seydx/node-av-win32-arm64-mingw": "^6.2.0-beta.1",
93
- "@seydx/node-av-win32-arm64-msvc": "^6.2.0-beta.1",
94
- "@seydx/node-av-win32-x64-mingw": "^6.2.0-beta.1",
95
- "@seydx/node-av-win32-x64-msvc": "^6.2.0-beta.1"
97
+ "@seydx/node-av-darwin-arm64": "6.2.0-beta.11",
98
+ "@seydx/node-av-darwin-x64": "6.2.0-beta.11",
99
+ "@seydx/node-av-linux-arm64": "6.2.0-beta.11",
100
+ "@seydx/node-av-linux-x64": "6.2.0-beta.11",
101
+ "@seydx/node-av-win32-arm64-mingw": "6.2.0-beta.11",
102
+ "@seydx/node-av-win32-arm64-msvc": "6.2.0-beta.11",
103
+ "@seydx/node-av-win32-x64-mingw": "6.2.0-beta.11",
104
+ "@seydx/node-av-win32-x64-msvc": "6.2.0-beta.11"
105
+ },
106
+ "peerDependencies": {
107
+ "werift": "^0.24.1"
108
+ },
109
+ "peerDependenciesMeta": {
110
+ "werift": {
111
+ "optional": true
112
+ }
96
113
  },
97
114
  "devDependencies": {
98
115
  "@stylistic/eslint-plugin": "^5.10.0",
99
- "@types/node": "^26.1.0",
116
+ "@types/node": "^26.1.1",
100
117
  "@types/node-abi": "^3.0.3",
101
118
  "@types/semver": "^7.7.1",
102
119
  "@types/unzipper": "^0.10.11",
103
120
  "@types/ws": "^8.18.1",
104
- "@typescript-eslint/parser": "^8.62.1",
105
- "concurrently": "^10.0.3",
121
+ "@typescript-eslint/parser": "^8.65.0",
122
+ "concurrently": "^10.0.4",
106
123
  "cpy-cli": "^7.0.0",
107
124
  "cross-env": "^10.1.0",
108
125
  "eslint": "9.39.2",
109
- "eslint-plugin-jsdoc": "^63.0.12",
126
+ "eslint-plugin-jsdoc": "^63.2.2",
110
127
  "globals": "^17.7.0",
111
128
  "node-addon-api": "^8.9.0",
112
129
  "node-gyp": "^13.0.1",
113
- "prettier": "^3.9.4",
130
+ "prettier": "^3.9.6",
114
131
  "rimraf": "^6.1.3",
115
132
  "sharp": "^0.35.3",
116
- "tsx": "^4.23.0",
133
+ "tsx": "^4.23.1",
117
134
  "typedoc": "^0.28.20",
118
135
  "typedoc-plugin-markdown": "^4.12.0",
119
136
  "typedoc-vitepress-theme": "^1.1.3",
120
137
  "typescript": "5.9.3",
121
- "typescript-eslint": "^8.62.1",
122
- "updates": "^17.18.2",
123
- "vitepress": "^2.0.0-alpha.17",
124
- "werift": "^0.23.0",
125
- "ws": "^8.21.0"
138
+ "typescript-eslint": "^8.65.0",
139
+ "updates": "^17.19.1",
140
+ "vitepress": "^2.0.0-alpha.18",
141
+ "werift": "^0.24.1",
142
+ "ws": "^8.21.1"
126
143
  },
127
144
  "overrides": {
128
145
  "werift": {
@@ -1,69 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
5
- BUILDER_DIR="$SCRIPT_DIR/externals/jellyfin-ffmpeg/builder"
6
- BUILD_DIR="$BUILDER_DIR/build"
7
-
8
- echo ""
9
- echo "=== FFmpeg Local Build ==="
10
- echo ""
11
- echo " 1) Full build (clean + dependencies + FFmpeg)"
12
- echo " 2) FFmpeg only (skip dependency builds)"
13
- echo ""
14
- read -rp "Choose [1/2]: " choice
15
-
16
- case "$choice" in
17
- 1)
18
- echo ""
19
- echo "=> Full build selected. Cleaning build + prefix directories..."
20
- rm -rf "$BUILD_DIR"
21
- sudo rm -rf /opt/ffbuild/prefix
22
- SKIP_BUILD=""
23
- ;;
24
- 2)
25
- echo ""
26
- echo "=> FFmpeg-only build selected. Skipping dependencies..."
27
- SKIP_BUILD="--skip-build"
28
- ;;
29
- *)
30
- echo "Invalid choice."
31
- exit 1
32
- ;;
33
- esac
34
-
35
- # Ensure submodules are initialized
36
- if [ ! -f "$SCRIPT_DIR/externals/jellyfin-ffmpeg/configure" ]; then
37
- echo "=> Initializing git submodules..."
38
- git -C "$SCRIPT_DIR" submodule update --init --recursive
39
- fi
40
-
41
- # Log everything to terminal and file
42
- LOG_FILE="$SCRIPT_DIR/ffmpeg_build.log"
43
- exec > >(tee "$LOG_FILE") 2>&1
44
-
45
- # Ensure /opt/ffbuild exists with correct permissions
46
- sudo mkdir -p /opt/ffbuild/prefix
47
- sudo chown -R "$(whoami):staff" /opt/ffbuild
48
- sudo chmod -R 755 /opt/ffbuild
49
-
50
- cd "$SCRIPT_DIR"
51
-
52
- # Apply FFmpeg patches (skips if already applied)
53
- node scripts/patch-ffmpeg.js
54
-
55
- cd "$BUILDER_DIR"
56
-
57
- # Run Jellyfin build script
58
- ./buildmac.sh arm64 $SKIP_BUILD
59
-
60
- # The build script uses /ffbuild/prefix but we need /opt/ffbuild/prefix
61
- cd ..
62
- make install DESTDIR="" prefix="/opt/ffbuild/prefix"
63
-
64
- # Fix permissions after install
65
- sudo chown -R "$(whoami):staff" /opt/ffbuild
66
-
67
- cd "$SCRIPT_DIR"
68
-
69
- # npm run build:native