求助,用FFmpeg把FLV格式视频转换成MP4失败
ffmpeg吧
全部回复
仅看楼主
level 2
单小吊3 楼主
用的命令是for %i in (*.flv) do ffmpeg -i "%i" -c copy "%~ni.mp
此类FLV视频在迅雷影音中播放正常,PotPlayer中播放只有音频
附上视频信息及ffmpeg提示:
2022年12月13日 02点12分 1
level 6
编码格式不兼容
2022年12月14日 15点12分 2
level 6
set ffmpeg="x:\ffmpeg.exe"
set"sInFdp=x:\In
set sOtFdp=x:\Ot
for /f "tokens=*" %i in ('dir /a/b/s "%sInFdp%\*.flv"') do (
%ffmpeg% -i "%i" -c:v h264 -c:a copy -q 0 -pix_fmt yuv444p -y "%sOtFdp%\%~ni.mp4"
)
2022年12月15日 01点12分 4
留个联系方式吧 我只会在CMD中用,你发的这个是要python的吗
2022年12月15日 01点12分
纯cmd的指令
2022年12月15日 01点12分
@单小吊3 python的是.py文件结尾
2022年12月15日 01点12分
@单小吊3 联系方式,贴吧 @ 一下 就好了
2022年12月15日 01点12分
level 6
不推荐直接在控制台里操作,复写起来麻烦
新建一个".txt",输入以上的所有内容,将"%i"和"%~ni"改写成"%%i"和"%%~ni",因为".bat"会吃掉一个"%"
另存为一个字体的编码格式为"ANSI",同时将".txt"的后辍改为".bat"来运行,".bat"要修改时对".bat"右键,选择编辑
2022年12月15日 01点12分 5
level 6
格式不兼容是指,这个封装格式的".mp4"不支持容纳某个数据流格式,流格式如"h264",具体的兼容要看封装格式的要求,直接搜
2022年12月15日 01点12分 6
上面的X:代表ffmpeg的路径吗,我的是set ffmpeg="E:\ffmpeg-20200510-fc99a24-win64-static\bin:\ffmpeg.exe,这样对吗
2022年12月15日 01点12分
level 2
单小吊3 楼主
2022年12月15日 02点12分 10
提示这个,是哪儿出错了哇
2022年12月15日 02点12分
level 6
set"sInFdp=G:\A\In 错了,引号输入时打多了,如果路径有空格或特殊符号,则用引号括起来 set "sInFdp=G:\A\In","In"和"Ot"可以要可以不要,按个人喜欢,主要是别混在一块或找不到;dir的"\*.flv"少了路径,"%sInFdp%\*flv",这个很重要,不是丢一个*.flv就完事的,除非做过cd %sInFdp% 的处理
2022年12月15日 02点12分 11
FFmpeg路径是E:\杂七杂八\ffmpeg-20200510-fc99a24-win64-static\bin需要转换的视频G:\A\22.flv 保存文件夹为G:\DwnlData 完整命令怎么写
2022年12月15日 02点12分
level 6
2022年12月15日 02点12分 12
level 2
单小吊3 楼主
@WyPo🍺
大佬,FFmpeg路径是E:\杂七杂八\ffmpeg-20200510-fc99a24-win64-static\bin需要转换的视频,
G:\A\22.flv
保存文件夹为G:\DwnlData
完整命令怎么写
2022年12月15日 02点12分 13
level 2
单小吊3 楼主
@WyPo🍺 发的图片看不到,好像被删了
2022年12月15日 03点12分 14
今天贴吧好像有点抽
2022年12月15日 03点12分
@WyPo🍺 你把完整命令发我吧 ,刚刚图片我只看到一眼就没了
2022年12月15日 03点12分
level 6
2022年12月15日 03点12分 15
level 6
建立一个 .txt 文件,输入以下内容,路径按个人喜好修改
@璐村惂鐢ㄦ埛_000076K馃惥 off
set "sInFdp=D:\需要处理的文件夹"
set "sOtFdp=D:\用于输出的文件夹"
set "ffmpeg=D:\ffmpeg\setup\ffmpeg-N-102557-g11b489d592-win64-gpl-shared\bin\ffmpeg.exe"
if /i not exist "%sOtFdp%" md "%sOtFdp%"
for /f "tokens=*" %%a in ('dir /a/b "%sInFdp%"') do (
"%ffmpeg%" -i "%sInFdp%\%%~nxa" -c:v h264 -c:a copy -q 0 -pix_fmt yuv444p -y "%sOtFdp%\%%~nxa"
)
输入完后选择 菜单上的[文件 - 另存为],在文件的【另存为】的另存为界面里把【编码:】改为 ANSI,文件名输入为 脚本.bat,直接双击脚本或把脚本拖入到控制台直接回车运行
2022年12月15日 03点12分 16
2022年12月15日 03点12分
要修改脚本,选中脚本文件直接 右键 -> 编辑
2022年12月15日 03点12分
@WyPo🍺 :Decoder (codec none) not found for input stream
#0:0未找到输入流#
0:0的解码器(无编解码器),这样还有办法吗
2022年12月15日 04点12分
@单小吊3 "%ffmpeg%" -i "%sInFdp%\%%~nxa" -c:v h264 -c:a copy -dn -q 0 -pix_fmt yuv444p -y "%sOtFdp%\%%~nxa" 改改,加个-dn去除Decoder
2022年12月15日 04点12分
level 6
实在不行就试试加入map;按你的视频来修改的,不是通用,只输出指定的[stream 1]和[stream 2],跳过[stream 0]
@璐村惂鐢ㄦ埛_000076K馃惥 off
set "sInFdp=D:\需要处理的文件夹"
set "sOtFdp=D:\用于输出的文件夹"
set "ffmpeg=D:\ffmpeg\setup\ffmpeg-N-102557-g11b489d592-win64-gpl-shared\bin\ffmpeg.exe"
if /i not exist "%sOtFdp%" md "%sOtFdp%"
for /f "tokens=*" %%a in ('dir /a/b "%sInFdp%\*.flv') do (
"%ffmpeg%" -i "%sInFdp%\%%~nxa" -map 0:1 -map 0:2 -c copy "%sOtFdp%\tmMedia.avi"
"%ffmpeg%" -i "%sOtFdp%\tmMedia.avi" -c:v h264 -c:a aac -q 0 -pix_fmt yuv444p -y "%sOtFdp%\%%~na.mp4"
)
2022年12月15日 04点12分 17
如果播放时出现画面有部分损了,但可以播放时,把 -pix_fmt yuv444p 的 yuv444p 改为 yuv420p
2022年12月15日 05点12分
@WyPo🍺 这次:bat双击以后没反应了
2022年12月15日 05点12分
@单小吊3 丢控制台里运行一下,截个图
2022年12月15日 05点12分
level 2
单小吊3 楼主
2022年12月15日 06点12分 18
1 2 尾页