Agora - 无法将视频 .ts 文件合并为一个视频文件

Posted

技术标签:

【中文标题】Agora - 无法将视频 .ts 文件合并为一个视频文件【英文标题】:Agora - unable to merge video .ts files into one single video file 【发布时间】:2020-03-23 05:33:07 【问题描述】:

我正在使用 agora.io 进行视频通话。我正在本地主机上运行脚本。

我能够成功录制视频,但它们是多个 .ts 文件。

我从 agora 网站下载了 python 脚本并运行它。它成功运行而没有任何错误但它不会生成任何单个视频文件,简而言之脚本运行成功但没有任何反应。

没有错误,没有生成新文件。

我使用的代码是:

#!/usr/bin/env python
import time
import re
import os
import sys
import signal
import glob
import parser_metadata_files
import video_convert
from optparse import OptionParser

import traceback


if '__main__' == __name__:
    import sys

    signal.signal(signal.SIGINT, signal.SIG_IGN)
    signal.signal(signal.SIGQUIT, signal.SIG_IGN)

    parser = OptionParser()
    parser.add_option("-f", "--folder", type="string", dest="folder", help="Convert folder", default="")
    parser.add_option("-m", "--mode", type="int", dest="mode", help="Convert merge mode, \
        [0: txt merge A/V(Default); 1: uid merge A/V; 2: uid merge audio; 3: uid merge video]", default=0)
    parser.add_option("-p", "--fps", type="int", dest="fps", help="Convert fps, default 15", default=15)
    parser.add_option("-s", "--saving", action="store_true", dest="saving", help="Convert Do not time sync",
                      default=False)
    parser.add_option("-r", "--resolution", type="int", dest="resolution", nargs=2,
                      help="Specific resolution to convert '-r width height' \nEg:'-r 640 360'", default=(0, 0))

    (options, args) = parser.parse_args()
    if not options.folder:
        parser.print_help()
        parser.error("Not set folder")

    try:
        print('1')
        os.environ['FPSARG'] = "%s" % options.fps
        print('2')
        parser_metadata_files.cmds_parse(["dispose", options.folder])
        print('3')
        video_convert.do_work()
        print('4')
        parser_metadata_files.cmds_parse(["clean", options.folder])
        print('5')
    except Exception as e:
        traceback.print_exc()

我正在运行的命令是:

/usr/local/bin/python3.7 convert.py -f /Users/msmexmac/Desktop/Cloud_Recording_tools/tiles/ -m 3 -p 30

我从this page下载了脚本。

【问题讨论】:

【参考方案1】:

你看到多个 .ts 文件的原因是,录制开始后,Agora 服务器会自动将录制的内容拆分成多个 TS/WebM 文件,并不断上传到第三方云存储,直到录制停止。

请务必按照以下链接中的步骤上传录制的视频: https://docs.agora.io/en/cloud-recording/cloud_recording_rest

让“上传的”回调继续进行是至关重要的。

【讨论】:

以上是关于Agora - 无法将视频 .ts 文件合并为一个视频文件的主要内容,如果未能解决你的问题,请参考以下文章

ios 无法使用 Agora 共享屏幕示例

cmd的copy命令合并ts视频文件如何更改合并的顺序?

python 爬虫下载视频 并 安装使用 ffmpeg 合并ts视频文件 使用16进制 修改文件头类型

如何合并m3u8及ts文件

如何将下载多个m3u8的小视频合并转换为MP4或是其他完整的视频?????

利用 nodejs 解析 m3u8 格式文件,并下 ts 合并为 mp4