音视频格式转换

最近更新时间:2022-09-20 05:17:40

功能描述

合流录制模式下,你会得到一个 M3U8 文件和多个 TS 文件,包含所有用户的音视频数据。你可以使用 FFmpeg 将 M3U8 文件转换为 MP4 文件,或使用anyRTC 提供的音视频格式转换脚本,将多个 TS 文件批量转换为多个 MP4 文件或纯音频文件。

使用 FFmpeg 转换

你可以使用 FFmpeg 将 M3U8 文件转换为 MP4 文件。安装 FFmpeg,并执行以下命令:

ffmpeg -i input.m3u8 -vcodec copy -acodec copy -absf aac_adtstoasc output.mp4

其中,input.m3u8 是待转换的 M3U8 文件名,output.mp4 为转换后的 MP4 文件名。

使用脚本转换

你可以使用anyRTC提供的音视频格式转换脚本,将多个 TS 文件转换为 MP4 文件或纯音频文件,音频文件的格式包括 MP3、WAV 和 AAC等。

前提条件

环境准备

转码服务器推荐使用以下系统:

  • Ubuntu 14.04+ x64
  • CentOS 6.5+(推荐 7.0)x64

运行该脚本需要安装 FFmpeg,以及 Python 2.0 或以上版本。

文件准备

确保待转码文件的存储路径可访问。

转码步骤

1.获取音视频格式转换脚本

下载 anyRTC 音视频格式转换脚本压缩包并解压。

2.输入命令行

输入以下命令行:

python format_convert.py <directory> <source_format> <destination_format>

其中:

  • directory:源文件所在目录。
  • source_format:源文件的格式,即文件后缀名。source_format 中的英文字母必须为小写,即:音频:mp3wav,或 aac、视频:mp4 或 tsat:源文件的格式,即文件后缀名。source_format 中的英文字母必须为小写,即:音频:mp3wav,或 aac、视频:mp4ts
  • destination_format:要转换成的目的格式。destination_format 中的英文字母必须为小写,即:音频:mp3wav,或 aac、视频:mp4ts

输入命令行后,脚本会在指定目录下寻找所有符合源文件格式的文件进行转码,转码后的文件主名与源文件主名一致,后缀名为目的格式的后缀。

转码示例

如要将 /home/testname/testfolder 目录下的所有 MP4 文件转换成 TS 格式,命令如下:

python format_convert.py /home/testname/testfolder/ mp4 ts