.save('/path/to/thumbnail.jpg')
.on('end', () => {
console.log('Thumbnail has been generated successfully!');
.on('error', (err) => {
console.log(`Error: ${err.message}`);
'-c:v libx264', // 视频编解码器
'-preset veryfast', // 以合理的质量和文件大小进行快速编码
'-movflags +faststart', // 针对网络流媒体进行优化
'-crf 27', // 质量恒定速率因子
'-tag:v avc1' // 用于 QuickTime 兼容性的标签
.save('/path/to/compressed/video.mp4')
.on('end', () => {
console.log('Video has been compressed successfully!');
.on('error', (err) => {
console.log(`Error: ${err.message}`);
代码解释:
'-c:v libx264', // 视频编解码器
'-preset veryfast', // 以合理的质量和文件大小进行快速编码
'-movflags +faststart', // 针对网络流媒体进行优化
'-crf 27', // 质量恒定速率因子
'-tag:v avc1' // 用于 QuickTime 兼容性的标签
.save('/path/to/preview-clip.mp4')
.on('end', () => {
console.log('The preview clip has been successfully!');
.on('error', (err) => {
console.log(`Error: ${err.message}`);
#EXT-X-STREAM-INF:BANDWIDTH=1500000,RESOLUTION=1280x720
720p.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=300000,RESOLUTION=640x360
360p.m3u8
`.trim();
fs.writeFileSync(`/path/to/master.m3u8/file`, masterPlaylistContent);
for (const width of [360, 720]) {
ffmpeg('/path/to/video.mp4')
.outputOptions([
'-c:v libx264',
'-preset veryfast',
'-movflags +faststart',
'-crf 27',
'-tag:v avc1',
'-f hls',
'-hls_time 10',
'-hls_list_size 0',
'-hls_flags independent_segments'
.output(`/path/to/${width}p.m3u8/file`)
.videoFilter(`scale=${width}:-2`)
.on('progress', () => {
console.log(`An HLS ${width}p segment has been generated successfully!`);
.on('end', () => {
if (width === 720) {
createMasterPlaylist();
console.log(`All HLS segments for ${width}p has been generated successfully!`);
.on('error', (err) => {
console.log(`Error: ${err.message}`);
.run();
代码解释:
视频处理是一项资源密集型操作,因此最好在专门用于此任务的单独的 CPU 优化服务器中处理它。最后,我认为使用另一种多线程编程语言(如 C++ 或 Rust)而不是 Node.js 进行视频处理会更好。
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/53688.html
赞
(0)
Connectly 获得 785 万美元 A 轮投资,以加速人工智能驱动的对话式商务
Twilio Flex 宣布与 Microsoft Azure 虚拟桌面兼容的公开预览版
Docker版FFmpeg安装部署2023最新教程
WebRTC iOS 实现视频渲染分析
音视频技术进击,直播互动场景如何“进化”?
潜望智慧城市,有意义的虚实同步才是元宇宙的核心引力
Broadband Forum(宽带论坛)更新 Thread 网络规范
低延迟流式语音识别技术在人机语音交互场景中的实践
NVIDIA AI 发布 DiffusionRenderer:一个可从单个视频创建可编辑、逼真的 3D 场景的 AI 模型
B站:直播生态治理体系建设