python读取一个文件夹中的多个视频ts文件
时间: 2023-11-16 13:06:18 浏览: 149
你可以使用Python内置的`os`和`glob`模块来读取一个文件夹中的多个视频ts文件。例如,如果你想读取一个名为`videos`的文件夹中的所有ts文件,可以使用以下代码:
```python
import os
import glob
# 指定文件夹路径
folder_path = '/path/to/videos'
# 获取文件夹中所有ts文件的路径
ts_files = glob.glob(os.path.join(folder_path, '*.ts'))
# 遍历每个ts文件,并进行处理
for ts_file in ts_files:
with open(ts_file, 'rb') as file:
# 处理ts文件
# 例如,你可以使用ffmpeg对视频进行处理
pass
```
在这个例子中,我们使用了`glob.glob()`函数来获取文件夹中所有扩展名为`.ts`的文件,并将它们的路径存储在`ts_files`列表中。然后,我们遍历每个ts文件,并使用`open()`函数打开文件,进行处理。你可以根据自己的需求来处理每个ts文件,例如使用ffmpeg对视频进行处理。
请注意,读取文件夹中的多个文件时需要指定正确的文件夹路径。如果文件夹与你的Python程序在同一目录下,只需要提供文件夹名即可。否则,你需要提供完整的文件夹路径。
相关问题
我有好多ts片段怎么办
如果你有很多TS片段需要处理,可以创建一个脚本,批量处理这些文件。以下是一个基本思路:
1. **列出所有TS文件**:首先,使用Python的os模块遍历指定目录下的所有TS文件,并将它们添加到一个列表中。
```python
import os
input_folder = "/path/to/your/ts/files" # 替换为你存放TS文件的目录
ts_files = [os.path.join(input_folder, f) for f in os.listdir(input_folder) if f.endswith(".ts")]
```
2. **读取并合并**:对于每一个文件,你可以按照之前提到的方式使用`moviepy`进行合并,这里假设你已经有了合并函数`merge_ts_files`。
```python
merged_videos = []
for ts_file in ts_files:
merged_clip = merge_ts_files(ts_file)
merged_videos.append(merged_clip)
```
3. **输出合并结果**:最后,可以选择将所有合并后的视频保存在一个输出文件夹,或者根据需求逐个保存。
```python
output_folder = "/path/to/output/folder"
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for i, clip in enumerate(merged_videos):
output_path = os.path.join(output_folder, f"merged_{i+1}.ts")
clip.write_videofile(output_path, codec='mpeg4')
```
阅读全文