{"id":13767768,"url":"https://github.com/bookyo/express-ffmpeg","last_synced_at":"2025-05-10T23:30:55.646Z","repository":{"id":50469031,"uuid":"144222908","full_name":"bookyo/express-ffmpeg","owner":"bookyo","description":"nodejs ffmpeg video transcode webui，基于nodejs的云转码系统 https://www.efvcms.com","archived":false,"fork":false,"pushed_at":"2024-04-23T04:36:30.000Z","size":12202,"stargazers_count":89,"open_issues_count":3,"forks_count":30,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-17T03:30:40.229Z","etag":null,"topics":["expressjs","ffmpeg","nodejs"],"latest_commit_sha":null,"homepage":"http://ffmpeg.moejj.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bookyo.png","metadata":{"files":{"readme":"README.ZH.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-10T01:47:25.000Z","updated_at":"2024-11-04T15:43:48.000Z","dependencies_parsed_at":"2024-08-03T16:05:56.605Z","dependency_job_id":"0482c9fc-9f45-42bc-a181-269fe0c31278","html_url":"https://github.com/bookyo/express-ffmpeg","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bookyo%2Fexpress-ffmpeg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bookyo%2Fexpress-ffmpeg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bookyo%2Fexpress-ffmpeg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bookyo%2Fexpress-ffmpeg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bookyo","download_url":"https://codeload.github.com/bookyo/express-ffmpeg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253497296,"owners_count":21917683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressjs","ffmpeg","nodejs"],"created_at":"2024-08-03T16:01:11.959Z","updated_at":"2025-05-10T23:30:52.194Z","avatar_url":"https://github.com/bookyo.png","language":"JavaScript","funding_links":[],"categories":["HarmonyOS","Encoding \u0026 Codecs"],"sub_categories":["Windows Manager","FFmpeg-Based Tools"],"readme":"简介\n--\nexpress-ffmpeg云转码是是一款开源免费的视频转码切片程序，采用layui作为前端展示，后端采用nodejs、mongodb进行开发，程序中利用的转码和切片工具为ffmpeg，ffmpeg是目前最好用的音视频处理工具，前台CMS利用自适应设计，简洁并且功能强大。\n\n功能上满足所有转码切片入门用户的需求，转码加切片，自动截图，自动生成预览图，播放器自动加载预览图（鼠标拖动可预览），TS加密，秒切功能，多个分辨率任意选择，随机token防盗链，切片文件多服务器分发，多服务器同步，负载均衡，播放器VTT外挂字幕支持，webtorrent在线播放磁力链接，前端cms系统，支持图片、文章、视频发布，会员系统，积分系统等。\n\n**官方网站：** https://ffmpeg.moejj.com/\n\n功能介绍\n----\n\n - 文件上传，大文件分块上传，批量上传。\n - 后台云转码加切片，运用最精简的代码，做成最快的转码+切片功能。\n - 秒切功能，切片速度领先所有市面收费云转码系统。\n - 视频分类、视频筛选、视频搜索，后台一应俱全。\n - 防盗链、token防盗链，多重防盗链，避免流量损失，可以设置指定域名只能iframe调用。\n - 字幕烧录，水印烧录，超级简单的操作，即可将字幕烧录进视频或者添加水印到视频中。\n - 支持vtt字幕，后台可以根据不同的视频上传不同的vtt字幕，前台播放自动加载字幕。\n - 视频截图，后台配置截图数，云转码切片的时候自动截图。\n - ts分发，多服务器同步内容，ts文件自动循环加域名前缀，负载均衡。\n - ts加密切片，播放的时候KEY自动解密播放。\n - webtorrent协议在线播放磁力链接。\n - cms系统配置，前台自动生成cms系统，自适应布局，针对移动端优化，seo效果极佳。\n - 会员系统，路由层面的权限控制，根据权限不同，相同的m3u8文件将会动态返回完全不同的内容。\n\n环境要求\n----\n\n - Windows or Linux\n - Nodejs 8+\n - Redis\n - FFMPEG\n - Mongodb\n - Expressjs\n\nDocker安装\n--\n安装参考：https://www.moerats.com/archives/782/\n\n安装\n--\n本教程只适用Debian 9。\n\n**1、安装nodejs**\n\n    curl -sL https://deb.nodesource.com/setup_8.x | bash -\n    apt install -y nodejs git\n\n**2、安装mongoDB**\n\n    curl https://www.mongodb.org/static/pgp/server-4.0.asc | apt-key add -\n    echo \"deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main\" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list\n    apt update -y\n    apt install -y mongodb-org\n    systemctl start mongod\n    systemctl enable mongod\n\n**3、安装redis**\n\n    apt install redis-server -y\n\n**4、安装pm2和express**\n\n    npm i -g pm2 express\n\n**5、安装ffmpeg**\n\n    apt install ffmpeg -y\n\n**6、新建数据库**\n\n    mongo\n    use ffmpeg\n    db.createUser({user:\"ffmpeg\",pwd:\"ffmpeg\",roles:[{role:\"readWrite\",db:\"ffmpeg\"}]})\n    db.auth(\"ffmpeg\",\"ffmpeg\")\n如果返回1则新建成功，使用Ctrl+D退出。\n\n**7、安装程序**\n\n    git clone https://github.com/bookyo/express-ffmpeg\n    cd express-ffmpeg\n    #创建config文件夹\n    mkdir config\n    #新建配置文件，以下为一整条命令，一起复制进ssh客户端\n    cat \u003e config/auth.js \u003c\u003cEOF\n    module.exports = {\n        user: \"admin\",\n        password: \"admin\",\n        db: \"ffmpeg\",\n        dbuser: \"ffmpeg\",\n        dbpassword: \"ffmpeg\",\n        secret: \"yoursecret\",\n        login: \"/adminurl\",\n        loginmsg: \"404 Not Found\",\n    };\n    EOF\n    #安装依赖\n    npm i\n    #运行\n    pm2 start bin/www -i 0\n配置文件说明：\n\n    #管理员用户名参数user，默认admin\n    #管理员密码参数password，默认admin\n    #后台登录路径参数login，默认adminurl\n最后访问地址ip:3000，默认后台路径/adminurl，用户名和密码为admin。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbookyo%2Fexpress-ffmpeg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbookyo%2Fexpress-ffmpeg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbookyo%2Fexpress-ffmpeg/lists"}