zoukankan      html  css  js  c++  java
  • 合成 b站视频的一段脚本

    # -*- coding: utf-8 -*-
    import json
    import os
    import sys
    import subprocess
    
    reload(sys)
    sys.setdefaultencoding("utf8")
    
    
    def read_json_file(path):
        if path is None or not os.path.exists(path):
            print ("File not exist: %s" % path)
            return None
    
        with open(path, 'r') as f:
            _jsonstr = f.read()
            return json.loads(_jsonstr, "utf-8")
    
        return None
    
    
    if __name__ == '__main__':
        _work_dir = "E:/838842729"
        _ffmpegPath = "C:/Program Files (x86)/FormatFactory/ffmpeg.exe"
        _out_path = 'E:/output/'
    
        _files = os.listdir(_work_dir)
    
        for x in _files:
            _real_path = os.path.join(_work_dir, x)
    
            _real_json = os.path.join(_real_path, "entry.json")
    
            _data = read_json_file(_real_json)
            if _data is not None:
                _title = _data['page_data']['part']
    
                _video_path = os.path.join(_real_path, "32/video.m4s")
                _audio_path = os.path.join(_real_path, "32/audio.m4s")
    
                if os.path.exists(_video_path) and os.path.exists(_audio_path):
                    _cmd = '"' + _ffmpegPath + '" -i "' + _video_path 
                           + '" -i "' + _audio_path + '" '
                    _normal_cmd = ' -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0  '
                    _out_temp = os.path.join(_out_path, 'temp.mp4')
    
                    _cmd = _cmd + _normal_cmd + _out_temp
                    if os.path.exists(_out_temp):
                        os.remove(_out_temp)
    
                    print _cmd
                    subprocess.call(_cmd, shell=True)
    
                    if os.path.exists(_out_temp):
                        _out_file = os.path.join(_title, ".mp4")
                        os.rename(_out_temp, _out_file)
    

      

    合成 b 站的 音频及视频脚本.

    作者:闵天
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    INI配置文件的格式
    MFC的DLL中实现定时器功能
    三维数组的动态申请与释放
    bat批处理,实现获取目录
    windows 系统变量
    php分享二十一:mysql语句
    php分享二十:mysql优化
    php分享十九:网络带宽预估
    php分享十七:http状态码
    从“什么是程序化购买”到“程序化购买+”
  • 原文地址:https://www.cnblogs.com/checkway/p/13556489.html
Copyright © 2011-2022 走看看