Giter Site home page Giter Site logo

dorisoy / shortvideo.autopublisher Goto Github PK

View Code? Open in Web Editor NEW
44.0 2.0 6.0 2.04 MB

ShortVideo.AutoPublisher 是套实现,抖音,百家号,小红书,视频号,头条,等平台短视频自动发布的创作者工具。

License: MIT License

baijiahao headline tiktok xiaohongshu automatic-publishing video-number cefsharp cefsharp-wpf robot

shortvideo.autopublisher's Introduction

ShortVideo.AutoPublisher

ShortVideo.AutoPublisher 是套基于 WPF 实现的,抖音百家号小红书视频号头条,等平台短视频自动发布的创作者工具库,你可以根据本示例创建自己的短视频自动发布管理系统。

功能

  1. 基于 CefSharp 实现的浏览器模拟操作,优化了任务链,不阻塞,优雅的重启并释放资源,使用定时重启新应用。
  2. 高效稳定的文件流下载,最大 1G 文件大小, 支持监控文件下载进度和失败时记录到系统日志。
  3. 支持抖音,百家号,小红书,视频号,头条个平台的视频封面(横版,竖版)自定义上传和裁切。
  4. 支持网络状态检查(网络抖动是失败重试机制),浏览器页面加载状态检测,异步延迟等待时间阈值自定义配置。
  5. 支持 Cookie 会话授权记录管理,状态自动刷新。

快速上手

    var v = new VideoModel
    {
        url = "你的视频地址",
        coverUrl = "视频封面",
        title = "2023数博会征集百名专业嘉宾参与“数博发布”活动",
        newTitle = "2023数博会征集百名专业嘉宾参与“数博发布”活动",
        Id = "你的视频ID",
        subject = "#2023数博会 #数博发布 #百名专业嘉宾",
        cookie = "你事先获取到的cookie"
    };
    //下载视频,封面
    await _downloader.DownloadToFileAsync(v.url, path, $"{v.Id}.mp4", CancellationToken.None);
    await _downloader.DownloadToFileAsync(v.coverUrl, path, $"{v.Id}.jpg", CancellationToken.None);
    //发布任务
    new XiaoHongShu(this, v).ShowDialog();

视频上传示例

    /// <summary>
    /// 打开文件上传选对话框
    /// </summary>
    protected Action<BaseWindow, string, string> UploadFileDialog = async (win, videoId,ext) =>
    {
        await win?.Dispatcher.InvokeAsync(() =>
        {
            //自定义对话框处理器 mp4  Download
            if (win.browser != null && !win.browser.IsDisposed)
                win.browser.DialogHandler = new DialogHandler($"{Download.path}/{videoId}.{ext}");
        });
    };

上传封面示例

    await e.Browser.EvaluateScriptAsync(@"
        var play = document.getElementsByClassName('uploader-inner')[0]
        function findPos(obj)
        {
            var curleft = 0;
            var curtop = 0;

            if (obj.offsetParent)
            {
                do
                {
                    curleft += obj.offsetLeft;
                    curtop += obj.offsetTop;
                } while (obj = obj.offsetParent);

                return { X: curleft,Y: curtop};
            }
        }
        findPos(play)"
    )
    .ContinueWith(async x =>
    {
        var responseForMouseClick = x.Result;
        if (responseForMouseClick.Success && responseForMouseClick.Result != null)
        {
            var xy = responseForMouseClick.Result;
            var json = JsonConvert.SerializeObject(xy).ToString();
            var coordx = json.Substring(json.IndexOf(':') + 1, 3);
            var coordy = json.Substring(json.LastIndexOf(':') + 1, 3);

            MouseLeftDown(int.Parse(coordx) + 5, int.Parse(coordy) + 5);
            MouseLeftUp(int.Parse(coordx) + 100, int.Parse(coordy) + 100);
        }
        await Task.Delay(3000);
    });

日志

百家号

抖音

视频号

头条

小红书

微信扫码交流

shortvideo.autopublisher's People

Contributors

czhcom avatar dorisoy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.