windows - 通过 ffmpeg 的视频编解码器规范(未实现)

标签 windows ffmpeg

视频格式的规范如下:

  • 纵横比:1:1
  • H.264 视频压缩、高配置、方形像素、固定帧率、逐行扫描
  • 带有前导 mov 原子的 .mp4 容器,没有编辑列表
  • 音频:立体声 AAC 音频压缩,128kbps +

  • 阅读帖子和 ffmpeg 文档后,我想到了以下内容(是的,我在 Windows PC 上运行它):
    ffmpeg.exe -r 30 -i input.webm -vf scale=iw*sar:ih -c:v libx264 -preset slow -profile:v high -c:a aac -strict experimental -ar 44100 -aspect 1:1 output.mp4
    但是,当在要求此规范的应用程序中播放视频时,它只显示黑色移动像素,全部损坏,但您可以听到音频。

    我真的不知道该命令还有什么要更改的,而且我不知道 ...带前导 mov 原子 规范。

    谢谢。

    编辑:

    我试过@Mulvya的回答:
    ffmpeg.exe -i input.webm -vf scale=iw*sar:ih,setsar=1 -c:v libx264 -preset slow -profile:v high -pix_fmt yuv420p -r 30 -c:a aac -strict experimental -ar 44100 -ac 2 -b:a 128k -movflags +faststart output.mp4
    

    但是一旦给应用程序,效果是一样的:

    output of formatted video

    这是 ffmpeg 喷出的有关 input.webm 文件的信息:

    ffmpeg info on input.webm

    最佳答案

    利用

    ffmpeg.exe -i input.webm -vf scale=iw*sar:ih,setsar=1 -c:v libx264 -preset slow -profile:v high -pix_fmt yuv420p -r 30 -c:a aac -strict experimental -ar 44100 -ac 2 -b:a 128k -movflags +faststart output.mp4
    

    根据应用程序的严格程度,您可能需要检查精确的帧速率。使用-r 30000/1001对于 29.97 . -movflags +faststart将 moov 原子移动到文件的前面。

    根据我在其他地方找到的信息,这似乎是 Instagram 所要求的:
    ffmpeg.exe -i input.webm -vf scale=640:640,setsar=1 -c:v libx264 -preset slow -profile:v main -level 3.1 -pix_fmt yuv420p -r 30000/1001 -c:a aac -strict experimental -ar 44100 -ac 1 -b:a 64k -t 15 -movflags +faststart output.mp4
    

    关于windows - 通过 ffmpeg 的视频编解码器规范(未实现),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35923506/

    相关文章:

    c++ - 如何使用 PostThreadMessage 从 C++ 关闭 Internet Explorer

    linux - Linux 上的 OpenCV、ffmpeg 和 eclipse

    android - Android 中的 FFMPEG 不会创建输出文件。

    java - 运行时间计算

    C++ ShellExecuteEx 不会通过不从该 exe 生成输出来执行带参数的 exe

    c# - `Process` 不以进程参数中的特殊字符开头

    python - 使用 python os 或 subprocess 模块在后台运行命令行程序

    video - ffmpeg webm 到无损 h264 或 avi

    c - 现代 x64 系统上的指针内部是什么?

    Java代码可以在windows上运行,但不能在linux上运行