我正在将带有扩展名的视频"flv","avi","mp4","mkv", "mpg", "wmv", "asf", "webm","mov","3gp","3gpp"转换"mp4"为更好的质量。
我正在使用的命令:
ffmpeg -i <server_path>/g9zyy2qg54qp1l5spo2-mergedFile.webm -strict -2 -vcodec libx264 -preset slow -vb 500k -maxrate 500k -bufsize 1000k -vf 'scale=-1:480 ' -threads 0 -ab 64k -s 640x480 -movflags faststart -metadata:s:v:0 rotate=0 <server_path>/g9zyy2qg54qp1l5spo2-mergedFile7.mp4
Run Code Online (Sandbox Code Playgroud)
除了Windows,视频在任何地方都可以正常工作。在窗口平台上没有视频正在运行。我试过在Firefox,歌剧上播放它们,甚至下载了它们并在媒体播放器软件上播放,但根本不起作用。
您能告诉我编解码器,使视频也可以在Windows上播放吗?
小智 7
添加有关pix_fmt和分辨率(宽度和高度应为偶数)的参数后,我的视频将在Windows 10中播放:
ffmpeg -i temp-%d.png -c:v libx264 -strict -2 -preset slow -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -f mp4 output.mp4
在这里找到了一个修复将 webm 转换为 mp4。现在,合并 webm 文件后,我使用 command 将其转换为 mp4 "ffmpeg -fflags +genpts -i 1.webm -r 24 1.mp4"。此 mp4 文件正在窗口浏览器中播放。
对于上述过程,我必须使用 2 个 ffmpeg 命令。1.将音频/视频文件合并为1个webm文件并
"ffmpeg -i {$audioFile} -i {$videoFile} -map 0:0 -map 1:0 -strict -2 {$mergedFileName}"
Run Code Online (Sandbox Code Playgroud)
制作mp4文件。
“ffmpeg -fflags +genpts -i {$mergedFile} -strict -2 -r 24 {$mp4File}”
我可以组合以上 2 个输入音频和视频文件的命令来为我提供单个 mp4 文件吗?
编辑:我已经将上面的 2 个命令组合在一起
"ffmpeg -fflags +genpts -i {$videoFile} -i {$audioFile} -strict -2 -r 24 {$mp4File}"
Run Code Online (Sandbox Code Playgroud)
它对我来说效果很好。结果 mp4 视频在 window 7(chrome、firefox、opera)浏览器中播放。也可在 Linux(firefox、Opera)浏览器中工作。