ffmpeg吧 关注:1,308贴子:4,753

求助,用FFmpeg把FLV格式视频转换成MP4失败

只看楼主收藏回复

用的命令是for %i in (*.flv) do ffmpeg -i "%i" -c copy "%~ni.mp
此类FLV视频在迅雷影音中播放正常,PotPlayer中播放只有音频
附上视频信息及ffmpeg提示:





1楼2022-12-13 10:46回复
    编码格式不兼容


    IP属地:中国香港来自Android客户端2楼2022-12-14 23:12
    回复
      2025-08-08 07:56:15
      广告
      不感兴趣
      开通SVIP免广告
      -c:v h264 -c:a copy -q 0 -pix_fmt yuv444p


      IP属地:中国香港来自Android客户端3楼2022-12-14 23:16
      收起回复
        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"
        )


        IP属地:中国香港4楼2022-12-15 09:31
        收起回复
          不推荐直接在控制台里操作,复写起来麻烦
          新建一个".txt",输入以上的所有内容,将"%i"和"%~ni"改写成"%%i"和"%%~ni",因为".bat"会吃掉一个"%"
          另存为一个字体的编码格式为"ANSI",同时将".txt"的后辍改为".bat"来运行,".bat"要修改时对".bat"右键,选择编辑


          IP属地:中国香港5楼2022-12-15 09:39
          回复
            格式不兼容是指,这个封装格式的".mp4"不支持容纳某个数据流格式,流格式如"h264",具体的兼容要看封装格式的要求,直接搜


            IP属地:中国香港6楼2022-12-15 09:42
            收起回复
              @WyPo🍺


              10楼2022-12-15 10:26
              收起回复
                set"sInFdp=G:\A\In 错了,引号输入时打多了,如果路径有空格或特殊符号,则用引号括起来 set "sInFdp=G:\A\In","In"和"Ot"可以要可以不要,按个人喜欢,主要是别混在一块或找不到;dir的"\*.flv"少了路径,"%sInFdp%\*flv",这个很重要,不是丢一个*.flv就完事的,除非做过cd %sInFdp% 的处理


                IP属地:中国香港11楼2022-12-15 10:29
                收起回复
                  2025-08-08 07:50:15
                  广告
                  不感兴趣
                  开通SVIP免广告


                  IP属地:中国香港12楼2022-12-15 10:52
                  回复
                    @WyPo🍺
                    大佬,FFmpeg路径是E:\杂七杂八\ffmpeg-20200510-fc99a24-win64-static\bin需要转换的视频,
                    G:\A\22.flv
                    保存文件夹为G:\DwnlData
                    完整命令怎么写


                    13楼2022-12-15 10:52
                    回复
                      @WyPo🍺 发的图片看不到,好像被删了


                      14楼2022-12-15 11:16
                      收起回复


                        IP属地:中国香港15楼2022-12-15 11:19
                        回复
                          建立一个 .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,直接双击脚本或把脚本拖入到控制台直接回车运行


                          IP属地:中国香港16楼2022-12-15 11:29
                          收起回复
                            实在不行就试试加入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"
                            )


                            IP属地:中国香港17楼2022-12-15 12:52
                            收起回复
                              2025-08-08 07:44:15
                              广告
                              不感兴趣
                              开通SVIP免广告
                              @WyPo🍺


                              18楼2022-12-15 14:16
                              回复