如何查找目录中包含FLAC音频编码的所有视频文件?
批量检测目录中含FLAC音频的视频文件
方法一:用MediaInfo命令行导出并筛选
MediaInfo的命令行工具可以快速导出文件的音频编码信息,再通过表格筛选定位目标文件:
- 确保已安装MediaInfo命令行版本(若未安装,直接下载对应系统的命令行包即可)
- 打开终端/命令提示符,切换到目标视频目录
- 执行以下命令,导出常见视频格式的文件名和音频编码到CSV:
(可根据实际文件类型,添加/修改mediainfo --output=CSV --Inform="General;%FileName%\r\nAudio;%Format%" *.mkv *.mp4 *.mov *.avi > audio_formats.csv*.xxx这类通配符) - 打开生成的
audio_formats.csv,用Excel或WPS的筛选功能,筛选格式为FLAC的条目,对应的文件名就是需要处理的视频文件。
方法二:直接用FFmpeg批量检测(更高效)
既然你已经在使用FFmpeg,直接用它批量检测无需额外导出表格,一步到位:
Windows(命令提示符)
for %f in (*.mkv *.mp4 *.mov *.avi) do ffmpeg -i "%f" -v error -select_streams a:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 | findstr /i flac && echo "%f" has FLAC audio >> flac_videos.txt
Linux/macOS(bash)
for f in *.mkv *.mp4 *.mov *.avi; do if ffmpeg -i "$f" -v error -select_streams a:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 | grep -i flac; then echo "$f has FLAC audio" >> flac_videos.txt fi done
- 说明:命令会遍历指定格式的视频文件,提取第一个音频流的编码名称,若检测到FLAC,就把文件名写入
flac_videos.txt,最终直接查看这个文件即可。 - 若需检测所有音频流(比如视频有多音轨),把
-select_streams a:0改为-select_streams a即可。
内容的提问来源于stack exchange,提问作者JSSpen
相关产品推荐
相关产品推荐

