我想做的是这个-
1) 拍摄图像和音频,使用 ffmpeg
将其制作成视频.(我不精通ffmpeg
,但有一个工作命令)。
这是我现在正在使用的命令 -
ffmpeg
-y
-loop 1
-i <IMAGE>
-i <SOUND>
-vcodec libx264
-vf 'scale=640:trunc(ow/a/2)*2'
-acodec aac
-strict experimental
-vb 1024k
-minrate 1024k
-maxrate 1024k
-bufsize 1024k
-ar 44100
-shortest
<OUTPUT-FILE>
2) 将视频上传到 Twitter,使用它的 API - Uploading Chunked Media
我能够完成这两项任务。
问题 :转换为视频后,当我在 vlc 上运行它时,它似乎工作正常(原始颜色,有效音频)。当我在 Twitter 上查看视频时,它似乎变色了。(虽然音频播放正常)
这是它在 vlc 中的外观以及上传后的外观的附加图片 -
我认为
ffmpeg
我使用的命令是错误的。有没有人在上传到网站后遇到过类似的问题?
好心提醒
最佳答案
那么在这里我将我的评论转换为正确的答案。当您从一个图像或一组图像创建视频时,最好指定这些冲突参数。
By default when using libx264, and depending on your input, ffmpeg will attempt to avoid color subsampling. Technically this is preferred, but unfortunately almost all video players, excluding FFmpeg based players, and many online video services only support the YUV color space with 4:2:0 chroma subsampling. Using the options -pix_fmt yuv420p or -vf format=yuv420p will maximize compatibility. -doc
上面解释了实际情况和发生的事情。还要记住,大多数时候文档为您的问题提供解决方案。干杯!
关于twitter - 在 Twitter API 中使用 ffmpeg 上传后视频变色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31132046/