在 Twitter 中使用 ffmpeg 上传后视频变色 API
Video discoloration after upload using ffmpeg in Twitter API
我想做的是这个 -
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) 使用 API - Uploading Chunked Media
将视频上传到 Twitter
我能够完成这两项任务。
问题:
转换为视频后,当我在 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
上面解释了实际情况和真正发生的事情。还要记住,大多数时候文档会为您的问题提供解决方案。干杯!
我想做的是这个 -
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) 使用 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
上面解释了实际情况和真正发生的事情。还要记住,大多数时候文档会为您的问题提供解决方案。干杯!