gpt4 book ai didi

FFMPEG - 自动流复制然后编码失败

转载 作者:行者123 更新时间:2023-12-04 23:26:49 33 4
gpt4 key购买 nike

由于 MP4 容器对我来说效果更好,因此我开始着手摆脱我所有的 MKV 文件。因此,为此,我做了一些研究并编写了一个小脚本,用于搜索我的数据文件中的 MKV 并将它们流式复制到 MP4。该脚本大部分时间都有效,但我偶尔会遇到失败的文件,并且由于脚本删除了原始文件,因此我完全丢失了文件。

我想通过两种方式修改脚本:

(1) 删除原文件前,检查转换后的文件是否大于零。

(2) 如果转换后的文件为零(失败),则运行 FFMPEG 命令以使用 Intel Quick Sync 硬件编码的默认值重新编码原始文件,然后照常删除原始文件并继续列表中的下一个文件.

这是我到目前为止所拥有的...

@ECHO OFF
cls
echo This script automatically converts MKV video files to MP4.
echo.
echo Changing directory to data drive (Z:).
echo.
Z:
echo Retrieving list of MKV files...
echo.
dir /b /s *.mkv > MKV-Files.txt
echo MKV list compiled.
echo.
echo Converting files to MP4...
echo.
FOR /F "delims=;" %%F in (MKV-Files.txt) DO (
echo Converting "%%F"
echo.
C:\FFMPEG\bin\ffmpeg.exe -y -i "%%F" -movflags faststart -codec copy "%%~dF% %~pF%%~nF.mp4"
echo.
echo Conversion successful.
echo.
echo Deleting "%%F"
echo.
del "%%F" /F
)
echo Job completed.
echo.
echo Exiting...

提前感谢您的想法。

最佳答案

你可以试试这个替换:

ffmpeg.exe -y -i "%%F" -abort_on empty_output -movflags faststart -codec copy "%%~dF%  %~pF%%~nF.mp4" || ffmpeg.exe -y -i "%%F" -movflags faststart -c:v h264_qsv -c:a copy "%%~dF%  %~pF%%~nF.mp4"

您可能希望禁用字幕或数据轨道,因为 MP4 对它们的支持有限。添加 -dn-sn为了那个原因。

关于FFMPEG - 自动流复制然后编码失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42868223/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com