@remotion/renderer 4.0.301 → 4.0.303
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.
- package/dist/client.d.ts +18 -0
- package/dist/esm/client.mjs +255 -199
- package/dist/options/index.d.ts +18 -0
- package/dist/options/index.js +2 -0
- package/dist/options/latency-hint.d.ts +18 -0
- package/dist/options/latency-hint.js +27 -0
- package/package.json +12 -12
package/dist/client.d.ts
CHANGED
|
@@ -884,6 +884,24 @@ export declare const BrowserSafeApis: {
|
|
|
884
884
|
};
|
|
885
885
|
setConfig: (value: string | null) => void;
|
|
886
886
|
};
|
|
887
|
+
audioLatencyHintOption: {
|
|
888
|
+
name: string;
|
|
889
|
+
cliFlag: "audio-latency-hint";
|
|
890
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
891
|
+
ssrName: "audioLatencyHint";
|
|
892
|
+
docLink: string;
|
|
893
|
+
type: AudioContextLatencyCategory;
|
|
894
|
+
getValue: ({ commandLine }: {
|
|
895
|
+
commandLine: Record<string, unknown>;
|
|
896
|
+
}) => {
|
|
897
|
+
value: AudioContextLatencyCategory;
|
|
898
|
+
source: string;
|
|
899
|
+
} | {
|
|
900
|
+
value: null;
|
|
901
|
+
source: string;
|
|
902
|
+
};
|
|
903
|
+
setConfig: (profile: AudioContextLatencyCategory | null) => void;
|
|
904
|
+
};
|
|
887
905
|
};
|
|
888
906
|
validColorSpaces: readonly ["default", "bt709", "bt2020-ncl"];
|
|
889
907
|
optionsMap: {
|
package/dist/esm/client.mjs
CHANGED
|
@@ -1597,44 +1597,99 @@ var jpegQualityOption = {
|
|
|
1597
1597
|
}
|
|
1598
1598
|
};
|
|
1599
1599
|
|
|
1600
|
-
// src/options/
|
|
1600
|
+
// src/options/latency-hint.tsx
|
|
1601
1601
|
import { jsx as jsx19, jsxs as jsxs15, Fragment as Fragment19 } from "react/jsx-runtime";
|
|
1602
|
+
var cliFlag23 = "audio-latency-hint";
|
|
1603
|
+
var value = null;
|
|
1604
|
+
var audioLatencyHintOption = {
|
|
1605
|
+
name: "Audio Latency Hint",
|
|
1606
|
+
cliFlag: cliFlag23,
|
|
1607
|
+
description: () => /* @__PURE__ */ jsxs15(Fragment19, {
|
|
1608
|
+
children: [
|
|
1609
|
+
"Sets the",
|
|
1610
|
+
" ",
|
|
1611
|
+
/* @__PURE__ */ jsx19("a", {
|
|
1612
|
+
href: "https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/AudioContext",
|
|
1613
|
+
children: "audio latency"
|
|
1614
|
+
}),
|
|
1615
|
+
" ",
|
|
1616
|
+
"hint for the global ",
|
|
1617
|
+
/* @__PURE__ */ jsx19("code", {
|
|
1618
|
+
children: "AudioContext"
|
|
1619
|
+
}),
|
|
1620
|
+
" context that Remotion uses to play audio.",
|
|
1621
|
+
/* @__PURE__ */ jsx19("br", {}),
|
|
1622
|
+
"Possible values: ",
|
|
1623
|
+
/* @__PURE__ */ jsx19("code", {
|
|
1624
|
+
children: "interactive"
|
|
1625
|
+
}),
|
|
1626
|
+
", ",
|
|
1627
|
+
/* @__PURE__ */ jsx19("code", {
|
|
1628
|
+
children: "balanced"
|
|
1629
|
+
}),
|
|
1630
|
+
",",
|
|
1631
|
+
" ",
|
|
1632
|
+
/* @__PURE__ */ jsx19("code", {
|
|
1633
|
+
children: "playback"
|
|
1634
|
+
})
|
|
1635
|
+
]
|
|
1636
|
+
}),
|
|
1637
|
+
ssrName: "audioLatencyHint",
|
|
1638
|
+
docLink: "https://www.remotion.dev/docs/renderer/render-media",
|
|
1639
|
+
type: "interactive",
|
|
1640
|
+
getValue: ({ commandLine }) => {
|
|
1641
|
+
const val = commandLine[cliFlag23];
|
|
1642
|
+
if (typeof val !== "undefined") {
|
|
1643
|
+
return { value: val, source: "cli" };
|
|
1644
|
+
}
|
|
1645
|
+
if (value !== null) {
|
|
1646
|
+
return { value, source: "config" };
|
|
1647
|
+
}
|
|
1648
|
+
return { value: null, source: "default" };
|
|
1649
|
+
},
|
|
1650
|
+
setConfig: (profile) => {
|
|
1651
|
+
value = profile;
|
|
1652
|
+
}
|
|
1653
|
+
};
|
|
1654
|
+
|
|
1655
|
+
// src/options/log-level.tsx
|
|
1656
|
+
import { jsx as jsx20, jsxs as jsxs16, Fragment as Fragment20 } from "react/jsx-runtime";
|
|
1602
1657
|
var logLevel = "info";
|
|
1603
|
-
var
|
|
1658
|
+
var cliFlag24 = "log";
|
|
1604
1659
|
var logLevelOption = {
|
|
1605
|
-
cliFlag:
|
|
1660
|
+
cliFlag: cliFlag24,
|
|
1606
1661
|
name: "Log Level",
|
|
1607
1662
|
ssrName: "logLevel",
|
|
1608
|
-
description: () => /* @__PURE__ */
|
|
1663
|
+
description: () => /* @__PURE__ */ jsxs16(Fragment20, {
|
|
1609
1664
|
children: [
|
|
1610
1665
|
"One of ",
|
|
1611
|
-
/* @__PURE__ */
|
|
1666
|
+
/* @__PURE__ */ jsx20("code", {
|
|
1612
1667
|
children: "trace"
|
|
1613
1668
|
}),
|
|
1614
1669
|
", ",
|
|
1615
|
-
/* @__PURE__ */
|
|
1670
|
+
/* @__PURE__ */ jsx20("code", {
|
|
1616
1671
|
children: "verbose"
|
|
1617
1672
|
}),
|
|
1618
1673
|
", ",
|
|
1619
|
-
/* @__PURE__ */
|
|
1674
|
+
/* @__PURE__ */ jsx20("code", {
|
|
1620
1675
|
children: "info"
|
|
1621
1676
|
}),
|
|
1622
1677
|
",",
|
|
1623
1678
|
" ",
|
|
1624
|
-
/* @__PURE__ */
|
|
1679
|
+
/* @__PURE__ */ jsx20("code", {
|
|
1625
1680
|
children: "warn"
|
|
1626
1681
|
}),
|
|
1627
1682
|
", ",
|
|
1628
|
-
/* @__PURE__ */
|
|
1683
|
+
/* @__PURE__ */ jsx20("code", {
|
|
1629
1684
|
children: "error"
|
|
1630
1685
|
}),
|
|
1631
1686
|
".",
|
|
1632
|
-
/* @__PURE__ */
|
|
1687
|
+
/* @__PURE__ */ jsx20("br", {}),
|
|
1633
1688
|
" Determines how much info is being logged to the console.",
|
|
1634
|
-
/* @__PURE__ */
|
|
1635
|
-
/* @__PURE__ */
|
|
1689
|
+
/* @__PURE__ */ jsx20("br", {}),
|
|
1690
|
+
/* @__PURE__ */ jsx20("br", {}),
|
|
1636
1691
|
" Default ",
|
|
1637
|
-
/* @__PURE__ */
|
|
1692
|
+
/* @__PURE__ */ jsx20("code", {
|
|
1638
1693
|
children: "info"
|
|
1639
1694
|
}),
|
|
1640
1695
|
"."
|
|
@@ -1642,11 +1697,11 @@ var logLevelOption = {
|
|
|
1642
1697
|
}),
|
|
1643
1698
|
docLink: "https://www.remotion.dev/docs/troubleshooting/debug-failed-render",
|
|
1644
1699
|
getValue: ({ commandLine }) => {
|
|
1645
|
-
if (commandLine[
|
|
1646
|
-
if (!isValidLogLevel(commandLine[
|
|
1700
|
+
if (commandLine[cliFlag24]) {
|
|
1701
|
+
if (!isValidLogLevel(commandLine[cliFlag24])) {
|
|
1647
1702
|
throw new Error(`Invalid \`--log\` value passed. Accepted values: ${logLevels.map((l) => `'${l}'`).join(", ")}.`);
|
|
1648
1703
|
}
|
|
1649
|
-
return { value: commandLine[
|
|
1704
|
+
return { value: commandLine[cliFlag24], source: "cli" };
|
|
1650
1705
|
}
|
|
1651
1706
|
if (logLevel !== "info") {
|
|
1652
1707
|
return { value: logLevel, source: "config" };
|
|
@@ -1660,19 +1715,19 @@ var logLevelOption = {
|
|
|
1660
1715
|
};
|
|
1661
1716
|
|
|
1662
1717
|
// src/options/metadata.tsx
|
|
1663
|
-
import { jsx as
|
|
1718
|
+
import { jsx as jsx21, jsxs as jsxs17, Fragment as Fragment21 } from "react/jsx-runtime";
|
|
1664
1719
|
var metadata = {};
|
|
1665
|
-
var
|
|
1720
|
+
var cliFlag25 = "metadata";
|
|
1666
1721
|
var metadataOption = {
|
|
1667
1722
|
name: "Metadata",
|
|
1668
|
-
cliFlag:
|
|
1723
|
+
cliFlag: cliFlag25,
|
|
1669
1724
|
description: (mode) => {
|
|
1670
1725
|
if (mode === "ssr") {
|
|
1671
|
-
return /* @__PURE__ */
|
|
1726
|
+
return /* @__PURE__ */ jsxs17(Fragment21, {
|
|
1672
1727
|
children: [
|
|
1673
1728
|
"An object containing metadata to be embedded in the video. See",
|
|
1674
1729
|
" ",
|
|
1675
|
-
/* @__PURE__ */
|
|
1730
|
+
/* @__PURE__ */ jsx21("a", {
|
|
1676
1731
|
href: "/docs/metadata",
|
|
1677
1732
|
children: "here"
|
|
1678
1733
|
}),
|
|
@@ -1680,18 +1735,18 @@ var metadataOption = {
|
|
|
1680
1735
|
]
|
|
1681
1736
|
});
|
|
1682
1737
|
}
|
|
1683
|
-
return /* @__PURE__ */
|
|
1738
|
+
return /* @__PURE__ */ jsxs17(Fragment21, {
|
|
1684
1739
|
children: [
|
|
1685
1740
|
"Metadata to be embedded in the video. See",
|
|
1686
1741
|
" ",
|
|
1687
|
-
/* @__PURE__ */
|
|
1742
|
+
/* @__PURE__ */ jsx21("a", {
|
|
1688
1743
|
href: "/docs/metadata",
|
|
1689
1744
|
children: "here"
|
|
1690
1745
|
}),
|
|
1691
1746
|
" for which metadata is accepted.",
|
|
1692
|
-
/* @__PURE__ */
|
|
1747
|
+
/* @__PURE__ */ jsx21("br", {}),
|
|
1693
1748
|
"The parameter must be in the format of ",
|
|
1694
|
-
/* @__PURE__ */
|
|
1749
|
+
/* @__PURE__ */ jsx21("code", {
|
|
1695
1750
|
children: "--metadata key=value"
|
|
1696
1751
|
}),
|
|
1697
1752
|
" ",
|
|
@@ -1702,8 +1757,8 @@ var metadataOption = {
|
|
|
1702
1757
|
docLink: "https://www.remotion.dev/docs/metadata",
|
|
1703
1758
|
type: {},
|
|
1704
1759
|
getValue: ({ commandLine }) => {
|
|
1705
|
-
if (commandLine[
|
|
1706
|
-
const val = commandLine[
|
|
1760
|
+
if (commandLine[cliFlag25] !== undefined) {
|
|
1761
|
+
const val = commandLine[cliFlag25];
|
|
1707
1762
|
const array = typeof val === "string" ? [val] : val;
|
|
1708
1763
|
const keyValues = array.map((a) => {
|
|
1709
1764
|
if (!a.includes("=")) {
|
|
@@ -1715,10 +1770,10 @@ var metadataOption = {
|
|
|
1715
1770
|
}
|
|
1716
1771
|
return [splitted[0], splitted[1]];
|
|
1717
1772
|
});
|
|
1718
|
-
const
|
|
1773
|
+
const value2 = Object.fromEntries(keyValues);
|
|
1719
1774
|
return {
|
|
1720
1775
|
source: "config",
|
|
1721
|
-
value
|
|
1776
|
+
value: value2
|
|
1722
1777
|
};
|
|
1723
1778
|
}
|
|
1724
1779
|
return {
|
|
@@ -1733,24 +1788,24 @@ var metadataOption = {
|
|
|
1733
1788
|
};
|
|
1734
1789
|
|
|
1735
1790
|
// src/options/mute.tsx
|
|
1736
|
-
import { jsx as
|
|
1791
|
+
import { jsx as jsx22, Fragment as Fragment22 } from "react/jsx-runtime";
|
|
1737
1792
|
var DEFAULT_MUTED_STATE = false;
|
|
1738
1793
|
var mutedState = DEFAULT_MUTED_STATE;
|
|
1739
|
-
var
|
|
1794
|
+
var cliFlag26 = "muted";
|
|
1740
1795
|
var mutedOption = {
|
|
1741
1796
|
name: "Muted",
|
|
1742
|
-
cliFlag:
|
|
1743
|
-
description: () => /* @__PURE__ */
|
|
1797
|
+
cliFlag: cliFlag26,
|
|
1798
|
+
description: () => /* @__PURE__ */ jsx22(Fragment22, {
|
|
1744
1799
|
children: "The Audio of the video will be omitted."
|
|
1745
1800
|
}),
|
|
1746
1801
|
ssrName: "muted",
|
|
1747
1802
|
docLink: "https://www.remotion.dev/docs/audio/muting",
|
|
1748
1803
|
type: false,
|
|
1749
1804
|
getValue: ({ commandLine }) => {
|
|
1750
|
-
if (commandLine[
|
|
1805
|
+
if (commandLine[cliFlag26] !== null) {
|
|
1751
1806
|
return {
|
|
1752
1807
|
source: "cli",
|
|
1753
|
-
value: commandLine[
|
|
1808
|
+
value: commandLine[cliFlag26]
|
|
1754
1809
|
};
|
|
1755
1810
|
}
|
|
1756
1811
|
if (mutedState !== DEFAULT_MUTED_STATE) {
|
|
@@ -1770,50 +1825,50 @@ var mutedOption = {
|
|
|
1770
1825
|
};
|
|
1771
1826
|
|
|
1772
1827
|
// src/options/number-of-gif-loops.tsx
|
|
1773
|
-
import { jsx as
|
|
1828
|
+
import { jsx as jsx23, jsxs as jsxs18, Fragment as Fragment23 } from "react/jsx-runtime";
|
|
1774
1829
|
var currentLoop = null;
|
|
1775
1830
|
var validate = (newLoop) => {
|
|
1776
1831
|
if (newLoop !== null && typeof newLoop !== "number") {
|
|
1777
1832
|
throw new Error("--number-of-gif-loops flag must be a number.");
|
|
1778
1833
|
}
|
|
1779
1834
|
};
|
|
1780
|
-
var
|
|
1835
|
+
var cliFlag27 = "number-of-gif-loops";
|
|
1781
1836
|
var numberOfGifLoopsOption = {
|
|
1782
1837
|
name: "Number of GIF loops",
|
|
1783
|
-
cliFlag:
|
|
1838
|
+
cliFlag: cliFlag27,
|
|
1784
1839
|
description: () => {
|
|
1785
|
-
return /* @__PURE__ */
|
|
1840
|
+
return /* @__PURE__ */ jsxs18(Fragment23, {
|
|
1786
1841
|
children: [
|
|
1787
1842
|
"Allows you to set the number of loops as follows:",
|
|
1788
|
-
/* @__PURE__ */
|
|
1843
|
+
/* @__PURE__ */ jsxs18("ul", {
|
|
1789
1844
|
children: [
|
|
1790
|
-
/* @__PURE__ */
|
|
1845
|
+
/* @__PURE__ */ jsxs18("li", {
|
|
1791
1846
|
children: [
|
|
1792
|
-
/* @__PURE__ */
|
|
1847
|
+
/* @__PURE__ */ jsx23("code", {
|
|
1793
1848
|
children: "null"
|
|
1794
1849
|
}),
|
|
1795
1850
|
" (or omitting in the CLI) plays the GIF indefinitely."
|
|
1796
1851
|
]
|
|
1797
1852
|
}),
|
|
1798
|
-
/* @__PURE__ */
|
|
1853
|
+
/* @__PURE__ */ jsxs18("li", {
|
|
1799
1854
|
children: [
|
|
1800
|
-
/* @__PURE__ */
|
|
1855
|
+
/* @__PURE__ */ jsx23("code", {
|
|
1801
1856
|
children: "0"
|
|
1802
1857
|
}),
|
|
1803
1858
|
" disables looping"
|
|
1804
1859
|
]
|
|
1805
1860
|
}),
|
|
1806
|
-
/* @__PURE__ */
|
|
1861
|
+
/* @__PURE__ */ jsxs18("li", {
|
|
1807
1862
|
children: [
|
|
1808
|
-
/* @__PURE__ */
|
|
1863
|
+
/* @__PURE__ */ jsx23("code", {
|
|
1809
1864
|
children: "1"
|
|
1810
1865
|
}),
|
|
1811
1866
|
" loops the GIF once (plays twice in total)"
|
|
1812
1867
|
]
|
|
1813
1868
|
}),
|
|
1814
|
-
/* @__PURE__ */
|
|
1869
|
+
/* @__PURE__ */ jsxs18("li", {
|
|
1815
1870
|
children: [
|
|
1816
|
-
/* @__PURE__ */
|
|
1871
|
+
/* @__PURE__ */ jsx23("code", {
|
|
1817
1872
|
children: "2"
|
|
1818
1873
|
}),
|
|
1819
1874
|
" loops the GIF twice (plays three times in total) and so on."
|
|
@@ -1828,10 +1883,10 @@ var numberOfGifLoopsOption = {
|
|
|
1828
1883
|
docLink: "https://www.remotion.dev/docs/render-as-gif#changing-the-number-of-loops",
|
|
1829
1884
|
type: 0,
|
|
1830
1885
|
getValue: ({ commandLine }) => {
|
|
1831
|
-
if (commandLine[
|
|
1832
|
-
validate(commandLine[
|
|
1886
|
+
if (commandLine[cliFlag27] !== undefined) {
|
|
1887
|
+
validate(commandLine[cliFlag27]);
|
|
1833
1888
|
return {
|
|
1834
|
-
value: commandLine[
|
|
1889
|
+
value: commandLine[cliFlag27],
|
|
1835
1890
|
source: "cli"
|
|
1836
1891
|
};
|
|
1837
1892
|
}
|
|
@@ -1853,35 +1908,35 @@ var numberOfGifLoopsOption = {
|
|
|
1853
1908
|
};
|
|
1854
1909
|
|
|
1855
1910
|
// src/options/offthreadvideo-cache-size.tsx
|
|
1856
|
-
import { jsx as
|
|
1911
|
+
import { jsx as jsx24, jsxs as jsxs19, Fragment as Fragment24 } from "react/jsx-runtime";
|
|
1857
1912
|
var offthreadVideoCacheSizeInBytes = null;
|
|
1858
|
-
var
|
|
1913
|
+
var cliFlag28 = "offthreadvideo-cache-size-in-bytes";
|
|
1859
1914
|
var offthreadVideoCacheSizeInBytesOption = {
|
|
1860
1915
|
name: "OffthreadVideo cache size",
|
|
1861
|
-
cliFlag:
|
|
1862
|
-
description: () => /* @__PURE__ */
|
|
1916
|
+
cliFlag: cliFlag28,
|
|
1917
|
+
description: () => /* @__PURE__ */ jsxs19(Fragment24, {
|
|
1863
1918
|
children: [
|
|
1864
1919
|
"From v4.0, Remotion has a cache for",
|
|
1865
1920
|
" ",
|
|
1866
|
-
/* @__PURE__ */
|
|
1921
|
+
/* @__PURE__ */ jsx24("a", {
|
|
1867
1922
|
href: "https://remotion.dev/docs/offthreadvideo",
|
|
1868
|
-
children: /* @__PURE__ */
|
|
1923
|
+
children: /* @__PURE__ */ jsx24("code", {
|
|
1869
1924
|
children: "<OffthreadVideo>"
|
|
1870
1925
|
})
|
|
1871
1926
|
}),
|
|
1872
1927
|
" ",
|
|
1873
1928
|
"frames. The default is ",
|
|
1874
|
-
/* @__PURE__ */
|
|
1929
|
+
/* @__PURE__ */ jsx24("code", {
|
|
1875
1930
|
children: "null"
|
|
1876
1931
|
}),
|
|
1877
1932
|
", corresponding to half of the system memory available when the render starts.",
|
|
1878
|
-
/* @__PURE__ */
|
|
1933
|
+
/* @__PURE__ */ jsx24("br", {}),
|
|
1879
1934
|
" This option allows to override the size of the cache. The higher it is, the faster the render will be, but the more memory will be used.",
|
|
1880
|
-
/* @__PURE__ */
|
|
1935
|
+
/* @__PURE__ */ jsx24("br", {}),
|
|
1881
1936
|
"The used value will be printed when running in verbose mode.",
|
|
1882
|
-
/* @__PURE__ */
|
|
1937
|
+
/* @__PURE__ */ jsx24("br", {}),
|
|
1883
1938
|
"Default: ",
|
|
1884
|
-
/* @__PURE__ */
|
|
1939
|
+
/* @__PURE__ */ jsx24("code", {
|
|
1885
1940
|
children: "null"
|
|
1886
1941
|
})
|
|
1887
1942
|
]
|
|
@@ -1890,10 +1945,10 @@ var offthreadVideoCacheSizeInBytesOption = {
|
|
|
1890
1945
|
docLink: "https://www.remotion.dev/docs/offthreadvideo",
|
|
1891
1946
|
type: 0,
|
|
1892
1947
|
getValue: ({ commandLine }) => {
|
|
1893
|
-
if (commandLine[
|
|
1948
|
+
if (commandLine[cliFlag28] !== undefined) {
|
|
1894
1949
|
return {
|
|
1895
1950
|
source: "cli",
|
|
1896
|
-
value: commandLine[
|
|
1951
|
+
value: commandLine[cliFlag28]
|
|
1897
1952
|
};
|
|
1898
1953
|
}
|
|
1899
1954
|
if (offthreadVideoCacheSizeInBytes !== null) {
|
|
@@ -1913,18 +1968,18 @@ var offthreadVideoCacheSizeInBytesOption = {
|
|
|
1913
1968
|
};
|
|
1914
1969
|
|
|
1915
1970
|
// src/options/offthreadvideo-threads.tsx
|
|
1916
|
-
import { jsx as
|
|
1917
|
-
var
|
|
1918
|
-
var
|
|
1971
|
+
import { jsx as jsx25, jsxs as jsxs20, Fragment as Fragment25 } from "react/jsx-runtime";
|
|
1972
|
+
var value2 = null;
|
|
1973
|
+
var cliFlag29 = "offthreadvideo-video-threads";
|
|
1919
1974
|
var offthreadVideoThreadsOption = {
|
|
1920
1975
|
name: "OffthreadVideo threads",
|
|
1921
|
-
cliFlag:
|
|
1922
|
-
description: () => /* @__PURE__ */
|
|
1976
|
+
cliFlag: cliFlag29,
|
|
1977
|
+
description: () => /* @__PURE__ */ jsxs20(Fragment25, {
|
|
1923
1978
|
children: [
|
|
1924
1979
|
"The number of threads that",
|
|
1925
|
-
/* @__PURE__ */
|
|
1980
|
+
/* @__PURE__ */ jsx25("a", {
|
|
1926
1981
|
href: "https://remotion.dev/docs/offthreadvideo",
|
|
1927
|
-
children: /* @__PURE__ */
|
|
1982
|
+
children: /* @__PURE__ */ jsx25("code", {
|
|
1928
1983
|
children: "<OffthreadVideo>"
|
|
1929
1984
|
})
|
|
1930
1985
|
}),
|
|
@@ -1939,16 +1994,16 @@ var offthreadVideoThreadsOption = {
|
|
|
1939
1994
|
docLink: "https://www.remotion.dev/docs/offthreadvideo",
|
|
1940
1995
|
type: 0,
|
|
1941
1996
|
getValue: ({ commandLine }) => {
|
|
1942
|
-
if (commandLine[
|
|
1997
|
+
if (commandLine[cliFlag29] !== undefined) {
|
|
1943
1998
|
return {
|
|
1944
1999
|
source: "cli",
|
|
1945
|
-
value: commandLine[
|
|
2000
|
+
value: commandLine[cliFlag29]
|
|
1946
2001
|
};
|
|
1947
2002
|
}
|
|
1948
|
-
if (
|
|
2003
|
+
if (value2 !== null) {
|
|
1949
2004
|
return {
|
|
1950
2005
|
source: "config",
|
|
1951
|
-
value
|
|
2006
|
+
value: value2
|
|
1952
2007
|
};
|
|
1953
2008
|
}
|
|
1954
2009
|
return {
|
|
@@ -1957,22 +2012,22 @@ var offthreadVideoThreadsOption = {
|
|
|
1957
2012
|
};
|
|
1958
2013
|
},
|
|
1959
2014
|
setConfig: (size) => {
|
|
1960
|
-
|
|
2015
|
+
value2 = size ?? null;
|
|
1961
2016
|
}
|
|
1962
2017
|
};
|
|
1963
2018
|
var DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS = 2;
|
|
1964
2019
|
|
|
1965
2020
|
// src/options/on-browser-download.tsx
|
|
1966
|
-
import { jsx as
|
|
1967
|
-
var
|
|
2021
|
+
import { jsx as jsx26, jsxs as jsxs21, Fragment as Fragment26 } from "react/jsx-runtime";
|
|
2022
|
+
var cliFlag30 = "on-browser-download";
|
|
1968
2023
|
var onBrowserDownloadOption = {
|
|
1969
2024
|
name: "Browser download callback function",
|
|
1970
|
-
cliFlag:
|
|
1971
|
-
description: () => /* @__PURE__ */
|
|
2025
|
+
cliFlag: cliFlag30,
|
|
2026
|
+
description: () => /* @__PURE__ */ jsxs21(Fragment26, {
|
|
1972
2027
|
children: [
|
|
1973
2028
|
"Gets called when no compatible local browser is detected on the system and this API needs to download a browser. Return a callback to observe progress.",
|
|
1974
2029
|
" ",
|
|
1975
|
-
/* @__PURE__ */
|
|
2030
|
+
/* @__PURE__ */ jsx26("a", {
|
|
1976
2031
|
href: "/docs/renderer/ensure-browser#onbrowserdownload",
|
|
1977
2032
|
children: "See here for how to use this option."
|
|
1978
2033
|
})
|
|
@@ -1990,25 +2045,25 @@ var onBrowserDownloadOption = {
|
|
|
1990
2045
|
};
|
|
1991
2046
|
|
|
1992
2047
|
// src/options/overwrite.tsx
|
|
1993
|
-
import { jsx as
|
|
2048
|
+
import { jsx as jsx27, jsxs as jsxs22, Fragment as Fragment27 } from "react/jsx-runtime";
|
|
1994
2049
|
var shouldOverwrite = null;
|
|
1995
|
-
var
|
|
1996
|
-
var validate2 = (
|
|
1997
|
-
if (typeof
|
|
1998
|
-
throw new Error(`overwriteExisting must be a boolean but got ${typeof
|
|
2050
|
+
var cliFlag31 = "overwrite";
|
|
2051
|
+
var validate2 = (value3) => {
|
|
2052
|
+
if (typeof value3 !== "boolean") {
|
|
2053
|
+
throw new Error(`overwriteExisting must be a boolean but got ${typeof value3} (${value3})`);
|
|
1999
2054
|
}
|
|
2000
2055
|
};
|
|
2001
2056
|
var overwriteOption = {
|
|
2002
2057
|
name: "Overwrite output",
|
|
2003
|
-
cliFlag:
|
|
2004
|
-
description: () => /* @__PURE__ */
|
|
2058
|
+
cliFlag: cliFlag31,
|
|
2059
|
+
description: () => /* @__PURE__ */ jsxs22(Fragment27, {
|
|
2005
2060
|
children: [
|
|
2006
2061
|
"If set to ",
|
|
2007
|
-
/* @__PURE__ */
|
|
2062
|
+
/* @__PURE__ */ jsx27("code", {
|
|
2008
2063
|
children: "false"
|
|
2009
2064
|
}),
|
|
2010
2065
|
", will prevent rendering to a path that already exists. Default is ",
|
|
2011
|
-
/* @__PURE__ */
|
|
2066
|
+
/* @__PURE__ */ jsx27("code", {
|
|
2012
2067
|
children: "true"
|
|
2013
2068
|
}),
|
|
2014
2069
|
"."
|
|
@@ -2018,11 +2073,11 @@ var overwriteOption = {
|
|
|
2018
2073
|
docLink: "https://www.remotion.dev/docs/config#setoverwriteoutput",
|
|
2019
2074
|
type: false,
|
|
2020
2075
|
getValue: ({ commandLine }, defaultValue2) => {
|
|
2021
|
-
if (commandLine[
|
|
2022
|
-
validate2(commandLine[
|
|
2076
|
+
if (commandLine[cliFlag31] !== undefined) {
|
|
2077
|
+
validate2(commandLine[cliFlag31]);
|
|
2023
2078
|
return {
|
|
2024
2079
|
source: "cli",
|
|
2025
|
-
value: commandLine[
|
|
2080
|
+
value: commandLine[cliFlag31]
|
|
2026
2081
|
};
|
|
2027
2082
|
}
|
|
2028
2083
|
if (shouldOverwrite !== null) {
|
|
@@ -2036,28 +2091,28 @@ var overwriteOption = {
|
|
|
2036
2091
|
value: defaultValue2
|
|
2037
2092
|
};
|
|
2038
2093
|
},
|
|
2039
|
-
setConfig: (
|
|
2040
|
-
validate2(
|
|
2041
|
-
shouldOverwrite =
|
|
2094
|
+
setConfig: (value3) => {
|
|
2095
|
+
validate2(value3);
|
|
2096
|
+
shouldOverwrite = value3;
|
|
2042
2097
|
}
|
|
2043
2098
|
};
|
|
2044
2099
|
|
|
2045
2100
|
// src/options/prefer-lossless.tsx
|
|
2046
|
-
import { jsx as
|
|
2047
|
-
var
|
|
2101
|
+
import { jsx as jsx28, jsxs as jsxs23, Fragment as Fragment28 } from "react/jsx-runtime";
|
|
2102
|
+
var cliFlag32 = "prefer-lossless";
|
|
2048
2103
|
var input = false;
|
|
2049
2104
|
var preferLosslessAudioOption = {
|
|
2050
2105
|
name: "Prefer lossless",
|
|
2051
|
-
cliFlag:
|
|
2052
|
-
description: () => /* @__PURE__ */
|
|
2106
|
+
cliFlag: cliFlag32,
|
|
2107
|
+
description: () => /* @__PURE__ */ jsxs23(Fragment28, {
|
|
2053
2108
|
children: [
|
|
2054
2109
|
"Uses a lossless audio codec, if one is available for the codec. If you set",
|
|
2055
|
-
/* @__PURE__ */
|
|
2110
|
+
/* @__PURE__ */ jsx28("code", {
|
|
2056
2111
|
children: "audioCodec"
|
|
2057
2112
|
}),
|
|
2058
2113
|
", it takes priority over",
|
|
2059
2114
|
" ",
|
|
2060
|
-
/* @__PURE__ */
|
|
2115
|
+
/* @__PURE__ */ jsx28("code", {
|
|
2061
2116
|
children: "preferLossless"
|
|
2062
2117
|
}),
|
|
2063
2118
|
"."
|
|
@@ -2067,7 +2122,7 @@ var preferLosslessAudioOption = {
|
|
|
2067
2122
|
type: false,
|
|
2068
2123
|
ssrName: "preferLossless",
|
|
2069
2124
|
getValue: ({ commandLine }) => {
|
|
2070
|
-
if (commandLine[
|
|
2125
|
+
if (commandLine[cliFlag32]) {
|
|
2071
2126
|
return { value: true, source: "cli" };
|
|
2072
2127
|
}
|
|
2073
2128
|
if (input === true) {
|
|
@@ -2081,20 +2136,20 @@ var preferLosslessAudioOption = {
|
|
|
2081
2136
|
};
|
|
2082
2137
|
|
|
2083
2138
|
// src/options/public-dir.tsx
|
|
2084
|
-
import { jsx as
|
|
2085
|
-
var
|
|
2139
|
+
import { jsx as jsx29, jsxs as jsxs24, Fragment as Fragment29 } from "react/jsx-runtime";
|
|
2140
|
+
var cliFlag33 = "public-dir";
|
|
2086
2141
|
var currentPublicDir = null;
|
|
2087
2142
|
var publicDirOption = {
|
|
2088
2143
|
name: "Public Directory",
|
|
2089
|
-
cliFlag:
|
|
2144
|
+
cliFlag: cliFlag33,
|
|
2090
2145
|
description: () => {
|
|
2091
|
-
return /* @__PURE__ */
|
|
2146
|
+
return /* @__PURE__ */ jsxs24(Fragment29, {
|
|
2092
2147
|
children: [
|
|
2093
2148
|
"Define the location of the",
|
|
2094
2149
|
" ",
|
|
2095
|
-
/* @__PURE__ */
|
|
2150
|
+
/* @__PURE__ */ jsx29("a", {
|
|
2096
2151
|
href: "/docs/terminology/public-dir",
|
|
2097
|
-
children: /* @__PURE__ */
|
|
2152
|
+
children: /* @__PURE__ */ jsx29("code", {
|
|
2098
2153
|
children: "public/ directory"
|
|
2099
2154
|
})
|
|
2100
2155
|
}),
|
|
@@ -2105,10 +2160,10 @@ var publicDirOption = {
|
|
|
2105
2160
|
ssrName: "publicDir",
|
|
2106
2161
|
docLink: "https://www.remotion.dev/docs/terminology/public-dir",
|
|
2107
2162
|
getValue: ({ commandLine }) => {
|
|
2108
|
-
if (commandLine[
|
|
2163
|
+
if (commandLine[cliFlag33] !== undefined) {
|
|
2109
2164
|
return {
|
|
2110
2165
|
source: "cli",
|
|
2111
|
-
value: commandLine[
|
|
2166
|
+
value: commandLine[cliFlag33]
|
|
2112
2167
|
};
|
|
2113
2168
|
}
|
|
2114
2169
|
if (currentPublicDir !== null) {
|
|
@@ -2122,32 +2177,32 @@ var publicDirOption = {
|
|
|
2122
2177
|
value: null
|
|
2123
2178
|
};
|
|
2124
2179
|
},
|
|
2125
|
-
setConfig: (
|
|
2126
|
-
currentPublicDir =
|
|
2180
|
+
setConfig: (value3) => {
|
|
2181
|
+
currentPublicDir = value3;
|
|
2127
2182
|
},
|
|
2128
2183
|
type: ""
|
|
2129
2184
|
};
|
|
2130
2185
|
|
|
2131
2186
|
// src/options/public-path.tsx
|
|
2132
|
-
import { jsx as
|
|
2133
|
-
var
|
|
2187
|
+
import { jsx as jsx30, jsxs as jsxs25, Fragment as Fragment30 } from "react/jsx-runtime";
|
|
2188
|
+
var cliFlag34 = "public-path";
|
|
2134
2189
|
var currentPublicPath = null;
|
|
2135
2190
|
var publicPathOption = {
|
|
2136
2191
|
name: "Public Path",
|
|
2137
|
-
cliFlag:
|
|
2192
|
+
cliFlag: cliFlag34,
|
|
2138
2193
|
description: () => {
|
|
2139
|
-
return /* @__PURE__ */
|
|
2194
|
+
return /* @__PURE__ */ jsxs25(Fragment30, {
|
|
2140
2195
|
children: [
|
|
2141
2196
|
"The path of the URL where the bundle is going to be hosted. By default it is ",
|
|
2142
|
-
/* @__PURE__ */
|
|
2197
|
+
/* @__PURE__ */ jsx30("code", {
|
|
2143
2198
|
children: "/"
|
|
2144
2199
|
}),
|
|
2145
2200
|
", meaning that the bundle is going to be hosted at the root of the domain (e.g. ",
|
|
2146
|
-
/* @__PURE__ */
|
|
2201
|
+
/* @__PURE__ */ jsx30("code", {
|
|
2147
2202
|
children: "https://localhost:3000/"
|
|
2148
2203
|
}),
|
|
2149
2204
|
"). If you are deploying to a subdirectory (e.g. ",
|
|
2150
|
-
/* @__PURE__ */
|
|
2205
|
+
/* @__PURE__ */ jsx30("code", {
|
|
2151
2206
|
children: "/sites/my-site/"
|
|
2152
2207
|
}),
|
|
2153
2208
|
"), you should set this to the subdirectory."
|
|
@@ -2157,10 +2212,10 @@ var publicPathOption = {
|
|
|
2157
2212
|
ssrName: "publicPath",
|
|
2158
2213
|
docLink: "https://www.remotion.dev/docs/renderer",
|
|
2159
2214
|
getValue: ({ commandLine }) => {
|
|
2160
|
-
if (commandLine[
|
|
2215
|
+
if (commandLine[cliFlag34] !== undefined) {
|
|
2161
2216
|
return {
|
|
2162
2217
|
source: "cli",
|
|
2163
|
-
value: commandLine[
|
|
2218
|
+
value: commandLine[cliFlag34]
|
|
2164
2219
|
};
|
|
2165
2220
|
}
|
|
2166
2221
|
if (currentPublicPath !== null) {
|
|
@@ -2174,32 +2229,32 @@ var publicPathOption = {
|
|
|
2174
2229
|
value: null
|
|
2175
2230
|
};
|
|
2176
2231
|
},
|
|
2177
|
-
setConfig: (
|
|
2178
|
-
currentPublicPath =
|
|
2232
|
+
setConfig: (value3) => {
|
|
2233
|
+
currentPublicPath = value3;
|
|
2179
2234
|
},
|
|
2180
2235
|
type: ""
|
|
2181
2236
|
};
|
|
2182
2237
|
|
|
2183
2238
|
// src/options/repro.tsx
|
|
2184
|
-
import { jsx as
|
|
2239
|
+
import { jsx as jsx31, Fragment as Fragment31 } from "react/jsx-runtime";
|
|
2185
2240
|
var enableRepro = false;
|
|
2186
2241
|
var setRepro = (should) => {
|
|
2187
2242
|
enableRepro = should;
|
|
2188
2243
|
};
|
|
2189
|
-
var
|
|
2244
|
+
var cliFlag35 = "repro";
|
|
2190
2245
|
var reproOption = {
|
|
2191
2246
|
name: "Create reproduction",
|
|
2192
|
-
cliFlag:
|
|
2193
|
-
description: () => /* @__PURE__ */
|
|
2247
|
+
cliFlag: cliFlag35,
|
|
2248
|
+
description: () => /* @__PURE__ */ jsx31(Fragment31, {
|
|
2194
2249
|
children: "Create a ZIP that you can submit to Remotion if asked for a reproduction."
|
|
2195
2250
|
}),
|
|
2196
2251
|
ssrName: "repro",
|
|
2197
2252
|
docLink: "https://www.remotion.dev/docs/render-media#repro",
|
|
2198
2253
|
type: false,
|
|
2199
2254
|
getValue: ({ commandLine }) => {
|
|
2200
|
-
if (commandLine[
|
|
2255
|
+
if (commandLine[cliFlag35] !== undefined) {
|
|
2201
2256
|
return {
|
|
2202
|
-
value: commandLine[
|
|
2257
|
+
value: commandLine[cliFlag35],
|
|
2203
2258
|
source: "cli"
|
|
2204
2259
|
};
|
|
2205
2260
|
}
|
|
@@ -2218,21 +2273,21 @@ var reproOption = {
|
|
|
2218
2273
|
};
|
|
2219
2274
|
|
|
2220
2275
|
// src/options/scale.tsx
|
|
2221
|
-
import { jsx as
|
|
2276
|
+
import { jsx as jsx32, jsxs as jsxs26, Fragment as Fragment32 } from "react/jsx-runtime";
|
|
2222
2277
|
var currentScale = 1;
|
|
2223
|
-
var
|
|
2224
|
-
var validateScale = (
|
|
2225
|
-
if (typeof
|
|
2278
|
+
var cliFlag36 = "scale";
|
|
2279
|
+
var validateScale = (value3) => {
|
|
2280
|
+
if (typeof value3 !== "number") {
|
|
2226
2281
|
throw new Error("scale must be a number.");
|
|
2227
2282
|
}
|
|
2228
2283
|
};
|
|
2229
2284
|
var scaleOption = {
|
|
2230
2285
|
name: "Scale",
|
|
2231
|
-
cliFlag:
|
|
2232
|
-
description: () => /* @__PURE__ */
|
|
2286
|
+
cliFlag: cliFlag36,
|
|
2287
|
+
description: () => /* @__PURE__ */ jsxs26(Fragment32, {
|
|
2233
2288
|
children: [
|
|
2234
2289
|
"Scales the output by a factor. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of ",
|
|
2235
|
-
/* @__PURE__ */
|
|
2290
|
+
/* @__PURE__ */ jsx32("code", {
|
|
2236
2291
|
children: "1.5"
|
|
2237
2292
|
}),
|
|
2238
2293
|
". Vector elements like fonts and HTML markups will be rendered with extra details."
|
|
@@ -2242,11 +2297,11 @@ var scaleOption = {
|
|
|
2242
2297
|
docLink: "https://www.remotion.dev/docs/scaling",
|
|
2243
2298
|
type: 0,
|
|
2244
2299
|
getValue: ({ commandLine }) => {
|
|
2245
|
-
if (commandLine[
|
|
2246
|
-
validateScale(commandLine[
|
|
2300
|
+
if (commandLine[cliFlag36] !== undefined) {
|
|
2301
|
+
validateScale(commandLine[cliFlag36]);
|
|
2247
2302
|
return {
|
|
2248
2303
|
source: "cli",
|
|
2249
|
-
value: commandLine[
|
|
2304
|
+
value: commandLine[cliFlag36]
|
|
2250
2305
|
};
|
|
2251
2306
|
}
|
|
2252
2307
|
if (currentScale !== null) {
|
|
@@ -2267,16 +2322,16 @@ var scaleOption = {
|
|
|
2267
2322
|
|
|
2268
2323
|
// src/options/throw-if-site-exists.tsx
|
|
2269
2324
|
var DEFAULT5 = false;
|
|
2270
|
-
var
|
|
2325
|
+
var cliFlag37 = "throw-if-site-exists";
|
|
2271
2326
|
var throwIfSiteExistsOption = {
|
|
2272
|
-
cliFlag:
|
|
2327
|
+
cliFlag: cliFlag37,
|
|
2273
2328
|
description: () => `Prevents accidential update of an existing site. If there are any files in the subfolder where the site should be placed, the function will throw.`,
|
|
2274
2329
|
docLink: "https://remotion.dev/docs/lambda/deploy-site",
|
|
2275
2330
|
getValue: ({ commandLine }) => {
|
|
2276
|
-
if (commandLine[
|
|
2331
|
+
if (commandLine[cliFlag37]) {
|
|
2277
2332
|
return {
|
|
2278
2333
|
source: "cli",
|
|
2279
|
-
value: commandLine[
|
|
2334
|
+
value: commandLine[cliFlag37]
|
|
2280
2335
|
};
|
|
2281
2336
|
}
|
|
2282
2337
|
return {
|
|
@@ -2293,35 +2348,35 @@ var throwIfSiteExistsOption = {
|
|
|
2293
2348
|
};
|
|
2294
2349
|
|
|
2295
2350
|
// src/options/timeout.tsx
|
|
2296
|
-
import { jsx as
|
|
2351
|
+
import { jsx as jsx33, jsxs as jsxs27, Fragment as Fragment33 } from "react/jsx-runtime";
|
|
2297
2352
|
var currentTimeout = DEFAULT_TIMEOUT;
|
|
2298
|
-
var validate3 = (
|
|
2299
|
-
if (typeof
|
|
2300
|
-
throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(
|
|
2353
|
+
var validate3 = (value3) => {
|
|
2354
|
+
if (typeof value3 !== "number") {
|
|
2355
|
+
throw new Error("--timeout flag / setDelayRenderTimeoutInMilliseconds() must be a number, but got " + JSON.stringify(value3));
|
|
2301
2356
|
}
|
|
2302
2357
|
};
|
|
2303
|
-
var
|
|
2358
|
+
var cliFlag38 = "timeout";
|
|
2304
2359
|
var delayRenderTimeoutInMillisecondsOption = {
|
|
2305
2360
|
name: "delayRender() timeout",
|
|
2306
|
-
cliFlag:
|
|
2307
|
-
description: () => /* @__PURE__ */
|
|
2361
|
+
cliFlag: cliFlag38,
|
|
2362
|
+
description: () => /* @__PURE__ */ jsxs27(Fragment33, {
|
|
2308
2363
|
children: [
|
|
2309
2364
|
"A number describing how long the render may take to resolve all",
|
|
2310
2365
|
" ",
|
|
2311
|
-
/* @__PURE__ */
|
|
2366
|
+
/* @__PURE__ */ jsx33("a", {
|
|
2312
2367
|
href: "https://remotion.dev/docs/delay-render",
|
|
2313
|
-
children: /* @__PURE__ */
|
|
2368
|
+
children: /* @__PURE__ */ jsx33("code", {
|
|
2314
2369
|
children: "delayRender()"
|
|
2315
2370
|
})
|
|
2316
2371
|
}),
|
|
2317
2372
|
" ",
|
|
2318
2373
|
"calls ",
|
|
2319
|
-
/* @__PURE__ */
|
|
2374
|
+
/* @__PURE__ */ jsx33("a", {
|
|
2320
2375
|
href: "https://remotion.dev/docs/timeout",
|
|
2321
2376
|
children: "before it times out"
|
|
2322
2377
|
}),
|
|
2323
2378
|
". Default: ",
|
|
2324
|
-
/* @__PURE__ */
|
|
2379
|
+
/* @__PURE__ */ jsx33("code", {
|
|
2325
2380
|
children: "30000"
|
|
2326
2381
|
})
|
|
2327
2382
|
]
|
|
@@ -2330,10 +2385,10 @@ var delayRenderTimeoutInMillisecondsOption = {
|
|
|
2330
2385
|
docLink: "https://www.remotion.dev/docs/timeout",
|
|
2331
2386
|
type: 0,
|
|
2332
2387
|
getValue: ({ commandLine }) => {
|
|
2333
|
-
if (commandLine[
|
|
2388
|
+
if (commandLine[cliFlag38] !== undefined) {
|
|
2334
2389
|
return {
|
|
2335
2390
|
source: "cli",
|
|
2336
|
-
value: commandLine[
|
|
2391
|
+
value: commandLine[cliFlag38]
|
|
2337
2392
|
};
|
|
2338
2393
|
}
|
|
2339
2394
|
if (currentTimeout !== null) {
|
|
@@ -2348,33 +2403,33 @@ var delayRenderTimeoutInMillisecondsOption = {
|
|
|
2348
2403
|
value: DEFAULT_TIMEOUT
|
|
2349
2404
|
};
|
|
2350
2405
|
},
|
|
2351
|
-
setConfig: (
|
|
2352
|
-
validate3(
|
|
2353
|
-
currentTimeout =
|
|
2406
|
+
setConfig: (value3) => {
|
|
2407
|
+
validate3(value3);
|
|
2408
|
+
currentTimeout = value3;
|
|
2354
2409
|
}
|
|
2355
2410
|
};
|
|
2356
2411
|
|
|
2357
2412
|
// src/options/video-bitrate.tsx
|
|
2358
|
-
import { jsx as
|
|
2413
|
+
import { jsx as jsx34, jsxs as jsxs28, Fragment as Fragment34 } from "react/jsx-runtime";
|
|
2359
2414
|
var videoBitrate = null;
|
|
2360
|
-
var
|
|
2415
|
+
var cliFlag39 = "video-bitrate";
|
|
2361
2416
|
var videoBitrateOption = {
|
|
2362
2417
|
name: "Video Bitrate",
|
|
2363
|
-
cliFlag:
|
|
2364
|
-
description: () => /* @__PURE__ */
|
|
2418
|
+
cliFlag: cliFlag39,
|
|
2419
|
+
description: () => /* @__PURE__ */ jsxs28(Fragment34, {
|
|
2365
2420
|
children: [
|
|
2366
2421
|
"Specify the target bitrate for the generated video. The syntax for FFmpeg",
|
|
2367
2422
|
"'",
|
|
2368
2423
|
"s",
|
|
2369
|
-
/* @__PURE__ */
|
|
2424
|
+
/* @__PURE__ */ jsx34("code", {
|
|
2370
2425
|
children: "-b:v"
|
|
2371
2426
|
}),
|
|
2372
2427
|
" parameter should be used. FFmpeg may encode the video in a way that will not result in the exact video bitrate specified. Example values: ",
|
|
2373
|
-
/* @__PURE__ */
|
|
2428
|
+
/* @__PURE__ */ jsx34("code", {
|
|
2374
2429
|
children: "512K"
|
|
2375
2430
|
}),
|
|
2376
2431
|
" for 512 kbps, ",
|
|
2377
|
-
/* @__PURE__ */
|
|
2432
|
+
/* @__PURE__ */ jsx34("code", {
|
|
2378
2433
|
children: "1M"
|
|
2379
2434
|
}),
|
|
2380
2435
|
" for 1 Mbps."
|
|
@@ -2384,10 +2439,10 @@ var videoBitrateOption = {
|
|
|
2384
2439
|
docLink: "https://www.remotion.dev/docs/renderer/render-media#videobitrate",
|
|
2385
2440
|
type: "",
|
|
2386
2441
|
getValue: ({ commandLine }) => {
|
|
2387
|
-
if (commandLine[
|
|
2442
|
+
if (commandLine[cliFlag39] !== undefined) {
|
|
2388
2443
|
return {
|
|
2389
2444
|
source: "cli",
|
|
2390
|
-
value: commandLine[
|
|
2445
|
+
value: commandLine[cliFlag39]
|
|
2391
2446
|
};
|
|
2392
2447
|
}
|
|
2393
2448
|
if (videoBitrate !== null) {
|
|
@@ -2522,7 +2577,7 @@ var getExtensionOfFilename = (filename) => {
|
|
|
2522
2577
|
};
|
|
2523
2578
|
|
|
2524
2579
|
// src/options/video-codec.tsx
|
|
2525
|
-
import { jsx as
|
|
2580
|
+
import { jsx as jsx35, Fragment as Fragment35 } from "react/jsx-runtime";
|
|
2526
2581
|
var codec;
|
|
2527
2582
|
var setCodec = (newCodec) => {
|
|
2528
2583
|
if (newCodec === undefined) {
|
|
@@ -2546,11 +2601,11 @@ var deriveCodecsFromFilename = (extension) => {
|
|
|
2546
2601
|
possible: makeFileExtensionMap()[extension] ?? []
|
|
2547
2602
|
};
|
|
2548
2603
|
};
|
|
2549
|
-
var
|
|
2604
|
+
var cliFlag40 = "codec";
|
|
2550
2605
|
var videoCodecOption = {
|
|
2551
2606
|
name: "Codec",
|
|
2552
|
-
cliFlag:
|
|
2553
|
-
description: () => /* @__PURE__ */
|
|
2607
|
+
cliFlag: cliFlag40,
|
|
2608
|
+
description: () => /* @__PURE__ */ jsx35(Fragment35, {
|
|
2554
2609
|
children: "H264 works well in most cases, but sometimes it's worth going for a different codec. WebM achieves higher compression but is slower to render. WebM, GIF and ProRes support transparency."
|
|
2555
2610
|
}),
|
|
2556
2611
|
ssrName: "codec",
|
|
@@ -2573,7 +2628,7 @@ var videoCodecOption = {
|
|
|
2573
2628
|
if (derivedDownloadCodecs.possible.length > 0 && derivedOutNameCodecs.possible.length > 0 && derivedDownloadCodecs.possible.join("") !== derivedOutNameCodecs.possible.join("")) {
|
|
2574
2629
|
throw new TypeError(`The download name is ${downloadName} but the output name is ${outName}. The file extensions must match`);
|
|
2575
2630
|
}
|
|
2576
|
-
const cliArgument = commandLine[
|
|
2631
|
+
const cliArgument = commandLine[cliFlag40];
|
|
2577
2632
|
if (cliArgument) {
|
|
2578
2633
|
if (derivedDownloadCodecs.possible.length > 0 && derivedDownloadCodecs.possible.indexOf(cliArgument) === -1) {
|
|
2579
2634
|
throw new TypeError(`The download name is ${downloadName} but --codec=${cliArgument} was passed. The download name implies a codec of ${derivedDownloadCodecs.possible.join(" or ")} which does not align with the --codec flag.`);
|
|
@@ -2610,12 +2665,12 @@ var videoCodecOption = {
|
|
|
2610
2665
|
};
|
|
2611
2666
|
|
|
2612
2667
|
// src/options/webhook-custom-data.tsx
|
|
2613
|
-
import { jsxs as
|
|
2614
|
-
var
|
|
2668
|
+
import { jsxs as jsxs29, Fragment as Fragment36 } from "react/jsx-runtime";
|
|
2669
|
+
var cliFlag41 = "webhook-custom-data";
|
|
2615
2670
|
var webhookCustomDataOption = {
|
|
2616
2671
|
name: "Webhook custom data",
|
|
2617
|
-
cliFlag:
|
|
2618
|
-
description: (type) => /* @__PURE__ */
|
|
2672
|
+
cliFlag: cliFlag41,
|
|
2673
|
+
description: (type) => /* @__PURE__ */ jsxs29(Fragment36, {
|
|
2619
2674
|
children: [
|
|
2620
2675
|
"Pass up to 1,024 bytes of a JSON-serializable object to the webhook. This data will be included in the webhook payload.",
|
|
2621
2676
|
" ",
|
|
@@ -2634,7 +2689,7 @@ var webhookCustomDataOption = {
|
|
|
2634
2689
|
};
|
|
2635
2690
|
|
|
2636
2691
|
// src/options/x264-preset.tsx
|
|
2637
|
-
import { jsx as
|
|
2692
|
+
import { jsx as jsx36, jsxs as jsxs30, Fragment as Fragment37 } from "react/jsx-runtime";
|
|
2638
2693
|
var x264PresetOptions = [
|
|
2639
2694
|
"ultrafast",
|
|
2640
2695
|
"superfast",
|
|
@@ -2648,63 +2703,63 @@ var x264PresetOptions = [
|
|
|
2648
2703
|
"placebo"
|
|
2649
2704
|
];
|
|
2650
2705
|
var preset = null;
|
|
2651
|
-
var
|
|
2706
|
+
var cliFlag42 = "x264-preset";
|
|
2652
2707
|
var DEFAULT_PRESET = "medium";
|
|
2653
2708
|
var x264Option = {
|
|
2654
2709
|
name: "x264 Preset",
|
|
2655
|
-
cliFlag:
|
|
2656
|
-
description: () => /* @__PURE__ */
|
|
2710
|
+
cliFlag: cliFlag42,
|
|
2711
|
+
description: () => /* @__PURE__ */ jsxs30(Fragment37, {
|
|
2657
2712
|
children: [
|
|
2658
2713
|
"Sets a x264 preset profile. Only applies to videos rendered with",
|
|
2659
2714
|
" ",
|
|
2660
|
-
/* @__PURE__ */
|
|
2715
|
+
/* @__PURE__ */ jsx36("code", {
|
|
2661
2716
|
children: "h264"
|
|
2662
2717
|
}),
|
|
2663
2718
|
" codec.",
|
|
2664
|
-
/* @__PURE__ */
|
|
2719
|
+
/* @__PURE__ */ jsx36("br", {}),
|
|
2665
2720
|
"Possible values: ",
|
|
2666
|
-
/* @__PURE__ */
|
|
2721
|
+
/* @__PURE__ */ jsx36("code", {
|
|
2667
2722
|
children: "superfast"
|
|
2668
2723
|
}),
|
|
2669
2724
|
", ",
|
|
2670
|
-
/* @__PURE__ */
|
|
2725
|
+
/* @__PURE__ */ jsx36("code", {
|
|
2671
2726
|
children: "veryfast"
|
|
2672
2727
|
}),
|
|
2673
2728
|
",",
|
|
2674
2729
|
" ",
|
|
2675
|
-
/* @__PURE__ */
|
|
2730
|
+
/* @__PURE__ */ jsx36("code", {
|
|
2676
2731
|
children: "faster"
|
|
2677
2732
|
}),
|
|
2678
2733
|
", ",
|
|
2679
|
-
/* @__PURE__ */
|
|
2734
|
+
/* @__PURE__ */ jsx36("code", {
|
|
2680
2735
|
children: "fast"
|
|
2681
2736
|
}),
|
|
2682
2737
|
", ",
|
|
2683
|
-
/* @__PURE__ */
|
|
2738
|
+
/* @__PURE__ */ jsx36("code", {
|
|
2684
2739
|
children: "medium"
|
|
2685
2740
|
}),
|
|
2686
2741
|
",",
|
|
2687
2742
|
" ",
|
|
2688
|
-
/* @__PURE__ */
|
|
2743
|
+
/* @__PURE__ */ jsx36("code", {
|
|
2689
2744
|
children: "slow"
|
|
2690
2745
|
}),
|
|
2691
2746
|
", ",
|
|
2692
|
-
/* @__PURE__ */
|
|
2747
|
+
/* @__PURE__ */ jsx36("code", {
|
|
2693
2748
|
children: "slower"
|
|
2694
2749
|
}),
|
|
2695
2750
|
", ",
|
|
2696
|
-
/* @__PURE__ */
|
|
2751
|
+
/* @__PURE__ */ jsx36("code", {
|
|
2697
2752
|
children: "veryslow"
|
|
2698
2753
|
}),
|
|
2699
2754
|
",",
|
|
2700
2755
|
" ",
|
|
2701
|
-
/* @__PURE__ */
|
|
2756
|
+
/* @__PURE__ */ jsx36("code", {
|
|
2702
2757
|
children: "placebo"
|
|
2703
2758
|
}),
|
|
2704
2759
|
".",
|
|
2705
|
-
/* @__PURE__ */
|
|
2760
|
+
/* @__PURE__ */ jsx36("br", {}),
|
|
2706
2761
|
"Default: ",
|
|
2707
|
-
/* @__PURE__ */
|
|
2762
|
+
/* @__PURE__ */ jsx36("code", {
|
|
2708
2763
|
children: DEFAULT_PRESET
|
|
2709
2764
|
})
|
|
2710
2765
|
]
|
|
@@ -2713,9 +2768,9 @@ var x264Option = {
|
|
|
2713
2768
|
docLink: "https://www.remotion.dev/docs/renderer/render-media",
|
|
2714
2769
|
type: "fast",
|
|
2715
2770
|
getValue: ({ commandLine }) => {
|
|
2716
|
-
const
|
|
2717
|
-
if (typeof
|
|
2718
|
-
return { value:
|
|
2771
|
+
const value3 = commandLine[cliFlag42];
|
|
2772
|
+
if (typeof value3 !== "undefined") {
|
|
2773
|
+
return { value: value3, source: "cli" };
|
|
2719
2774
|
}
|
|
2720
2775
|
if (preset !== null) {
|
|
2721
2776
|
return { value: preset, source: "config" };
|
|
@@ -2769,7 +2824,8 @@ var allOptions = {
|
|
|
2769
2824
|
metadataOption,
|
|
2770
2825
|
hardwareAccelerationOption,
|
|
2771
2826
|
chromeModeOption,
|
|
2772
|
-
apiKeyOption
|
|
2827
|
+
apiKeyOption,
|
|
2828
|
+
audioLatencyHintOption
|
|
2773
2829
|
};
|
|
2774
2830
|
|
|
2775
2831
|
// src/options/options-map.ts
|
package/dist/options/index.d.ts
CHANGED
|
@@ -661,6 +661,24 @@ export declare const allOptions: {
|
|
|
661
661
|
};
|
|
662
662
|
setConfig: (value: string | null) => void;
|
|
663
663
|
};
|
|
664
|
+
audioLatencyHintOption: {
|
|
665
|
+
name: string;
|
|
666
|
+
cliFlag: "audio-latency-hint";
|
|
667
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
668
|
+
ssrName: "audioLatencyHint";
|
|
669
|
+
docLink: string;
|
|
670
|
+
type: AudioContextLatencyCategory;
|
|
671
|
+
getValue: ({ commandLine }: {
|
|
672
|
+
commandLine: Record<string, unknown>;
|
|
673
|
+
}) => {
|
|
674
|
+
value: AudioContextLatencyCategory;
|
|
675
|
+
source: string;
|
|
676
|
+
} | {
|
|
677
|
+
value: null;
|
|
678
|
+
source: string;
|
|
679
|
+
};
|
|
680
|
+
setConfig: (profile: AudioContextLatencyCategory | null) => void;
|
|
681
|
+
};
|
|
664
682
|
};
|
|
665
683
|
export type AvailableOptions = keyof typeof allOptions;
|
|
666
684
|
export type TypeOfOption<Type> = Type extends AnyRemotionOption<infer X> ? X : never;
|
package/dist/options/index.js
CHANGED
|
@@ -22,6 +22,7 @@ const gl_1 = require("./gl");
|
|
|
22
22
|
const hardware_acceleration_1 = require("./hardware-acceleration");
|
|
23
23
|
const headless_1 = require("./headless");
|
|
24
24
|
const jpeg_quality_1 = require("./jpeg-quality");
|
|
25
|
+
const latency_hint_1 = require("./latency-hint");
|
|
25
26
|
const log_level_1 = require("./log-level");
|
|
26
27
|
const metadata_1 = require("./metadata");
|
|
27
28
|
const mute_1 = require("./mute");
|
|
@@ -84,4 +85,5 @@ exports.allOptions = {
|
|
|
84
85
|
hardwareAccelerationOption: hardware_acceleration_1.hardwareAccelerationOption,
|
|
85
86
|
chromeModeOption: chrome_mode_1.chromeModeOption,
|
|
86
87
|
apiKeyOption: api_key_1.apiKeyOption,
|
|
88
|
+
audioLatencyHintOption: latency_hint_1.audioLatencyHintOption,
|
|
87
89
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const audioLatencyHintOption: {
|
|
2
|
+
name: string;
|
|
3
|
+
cliFlag: "audio-latency-hint";
|
|
4
|
+
description: () => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
ssrName: "audioLatencyHint";
|
|
6
|
+
docLink: string;
|
|
7
|
+
type: AudioContextLatencyCategory;
|
|
8
|
+
getValue: ({ commandLine }: {
|
|
9
|
+
commandLine: Record<string, unknown>;
|
|
10
|
+
}) => {
|
|
11
|
+
value: AudioContextLatencyCategory;
|
|
12
|
+
source: string;
|
|
13
|
+
} | {
|
|
14
|
+
value: null;
|
|
15
|
+
source: string;
|
|
16
|
+
};
|
|
17
|
+
setConfig: (profile: AudioContextLatencyCategory | null) => void;
|
|
18
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.audioLatencyHintOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const cliFlag = 'audio-latency-hint';
|
|
6
|
+
let value = null;
|
|
7
|
+
exports.audioLatencyHintOption = {
|
|
8
|
+
name: 'Audio Latency Hint',
|
|
9
|
+
cliFlag,
|
|
10
|
+
description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Sets the", ' ', (0, jsx_runtime_1.jsx)("a", { href: "https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/AudioContext", children: "audio latency" }), ' ', "hint for the global ", (0, jsx_runtime_1.jsx)("code", { children: "AudioContext" }), " context that Remotion uses to play audio.", (0, jsx_runtime_1.jsx)("br", {}), "Possible values: ", (0, jsx_runtime_1.jsx)("code", { children: "interactive" }), ", ", (0, jsx_runtime_1.jsx)("code", { children: "balanced" }), ",", ' ', (0, jsx_runtime_1.jsx)("code", { children: "playback" })] })),
|
|
11
|
+
ssrName: 'audioLatencyHint',
|
|
12
|
+
docLink: 'https://www.remotion.dev/docs/renderer/render-media',
|
|
13
|
+
type: 'interactive',
|
|
14
|
+
getValue: ({ commandLine }) => {
|
|
15
|
+
const val = commandLine[cliFlag];
|
|
16
|
+
if (typeof val !== 'undefined') {
|
|
17
|
+
return { value: val, source: 'cli' };
|
|
18
|
+
}
|
|
19
|
+
if (value !== null) {
|
|
20
|
+
return { value, source: 'config' };
|
|
21
|
+
}
|
|
22
|
+
return { value: null, source: 'default' };
|
|
23
|
+
},
|
|
24
|
+
setConfig: (profile) => {
|
|
25
|
+
value = profile;
|
|
26
|
+
},
|
|
27
|
+
};
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/renderer"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/renderer",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.303",
|
|
7
7
|
"description": "Render Remotion videos using Node.js or Bun",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"extract-zip": "2.0.1",
|
|
19
19
|
"source-map": "^0.8.0-beta.0",
|
|
20
20
|
"ws": "8.17.1",
|
|
21
|
-
"
|
|
22
|
-
"remotion": "4.0.
|
|
21
|
+
"remotion": "4.0.303",
|
|
22
|
+
"@remotion/streaming": "4.0.303"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": ">=16.8.0",
|
|
@@ -33,17 +33,17 @@
|
|
|
33
33
|
"react-dom": "19.0.0",
|
|
34
34
|
"@types/ws": "8.5.10",
|
|
35
35
|
"eslint": "9.19.0",
|
|
36
|
-
"@remotion/
|
|
37
|
-
"@remotion/
|
|
36
|
+
"@remotion/eslint-config-internal": "4.0.303",
|
|
37
|
+
"@remotion/example-videos": "4.0.303"
|
|
38
38
|
},
|
|
39
39
|
"optionalDependencies": {
|
|
40
|
-
"@remotion/compositor-darwin-arm64": "4.0.
|
|
41
|
-
"@remotion/compositor-
|
|
42
|
-
"@remotion/compositor-
|
|
43
|
-
"@remotion/compositor-linux-arm64-
|
|
44
|
-
"@remotion/compositor-linux-x64-gnu": "4.0.
|
|
45
|
-
"@remotion/compositor-win32-x64-msvc": "4.0.
|
|
46
|
-
"@remotion/compositor-linux-x64-musl": "4.0.
|
|
40
|
+
"@remotion/compositor-darwin-arm64": "4.0.303",
|
|
41
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.303",
|
|
42
|
+
"@remotion/compositor-darwin-x64": "4.0.303",
|
|
43
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.303",
|
|
44
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.303",
|
|
45
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.303",
|
|
46
|
+
"@remotion/compositor-linux-x64-musl": "4.0.303"
|
|
47
47
|
},
|
|
48
48
|
"keywords": [
|
|
49
49
|
"remotion",
|