国庆前下了两部老电影打算回去了给老爷子看,为防止初中买的创维电视格式不兼容,将U盘格式化成FAT32,将电影的rmvb、mkv格式转换成mp4,用VLC踩了一堆坑就换ffmpeg了
Python转码MP4
1.配置ffmpeg-python库和ffmpeg.exe程序
下载了anaconda可以直接用基础虚拟环境,它带这个库
conda activate base然后下载ffmpeg主程序(只有ffmpeg-python调用库不行的还要有ffmpeg.exe)
conda install -c conda-forge ffmpeg -y我这里有26-9月份的版本直接下载:
ffmpeg百度网盘链接
下载后解压缩,将文件bin目录添加到系统变量
设置完成后在cmd查看
where ffmpeg出现路径说明设置成功
2.转码时间和转码后文件大小参考
ffmpeg的preset参数可以改的更快,三毛流浪记.mkv 2G用VLC转码花了10小时,用ffmpeg普通模式(preset='medium')转码花了4小时,比原文件大1.5G;设置更快的参数会引起质量问题,如果不急可以设置slow、slower、veryslow,上班给他挂一天,这样文件质量更高
CPU 2G基础频率下给2个参考
第一个:2G文件:
| 转码方式 | 耗费时间(小时) | 转码后文件大小(Gb) |
|---|---|---|
| VLC | 10 | 2.2 |
| Ffmpeg preset='medium' | 4 | 3.5 |
| Ffmpeg preset='veryslow' | \ | \ |
第二个:3M文件
| 转码方式 | 耗费时间(秒) | 转码后文件大小(Mb) |
|---|---|---|
| VLC | 50 | 4.0 |
| Ffmpeg preset='medium' | 40 | 7.8 |
| Ffmpeg preset='veryslow' | 200 | 7.1 |
3.源码
ffmpeg.exe地址和输入、输出文件地址改为自己的
import ffmpeg import os ffmpeg._run.FFERMPEG_PATH = r"D:\Users\Admin\Desktop\ffmpeg-2026-09-21-git-a9cbcc2bbb-full_build\bin\ffmpeg.exe" def convert_to_tv_compatible_mp4(input_path:str,output_path:str,crf_value:int=23): try: input_stream = ffmpeg.input(input_path) process_stream = ( input_stream.output( output_path, vcodec='libx264', # H.264视频编码 acodec='aac', # ACC音频编码 audio_bitrate='192k', # 音频码率适配电视音箱效果 vf='scale=1920:1080', # 强制缩放1080p preset='medium', # 转码速度和压缩比平衡 movflags='+faststart' ).overwrite_output() ) print(f"开始转码:{os.path.basename(input_path)}") process_stream.run( capture_stdout=True, capture_stderr=True, overwrite_output=True ) print(f"转换完成!文件已保存到:{output_path}") except ffmpeg.Error as e: print(f"转码出错:{e.stderr.decode('utf8')}") if __name__== "__main__": U_DISK_INPUT_FILE = "D:/Users/Admin/Desktop/三毛从军记.mkv" U_DISK_OUTPUT_FILE = "D:/Users/Admin/Desktop/三毛从军记.mp4" if not os.path.exists(U_DISK_INPUT_FILE): print(f"错误:找不到要转码的视频{U_DISK_INPUT_FILE},请检查文件路径和文件名是否正确") else: convert_to_tv_compatible_mp4(U_DISK_INPUT_FILE,U_DISK_OUTPUT_FILE)VLC踩坑记录
1.默认转码MP4无声音
首先rmvb下载了Windows直接无法观看,下载了VLC才可以正常观看,用VLC转码了巧奔妙逃,转码成功后Windows上播放没声音,VLC里面播放有声音
MPEG Audio应该是可以识别的,Windows官网上运动图像专家组(.mpg、.mpeg、.m1v、.mp2、.mp3、.mpa、.mpe、.m3u)包含它
2.单独设置MP4格式的音频格式为MP3无画面
我把音频换成MP3,画面没了
3.将音频格式设置成AAC,Windows10上播放才正常
4.大点的文件转码了视频部分片段果冻状
另一部三毛从军记单文件2G,转换时间太长,成品部分片段果冻状,跟小时候卫星国电视信号不好一样