繁体   English   中英

FFmpeg视频过滤器损坏了mp4文件

[英]FFmpeg video filters corrupt mp4 file

我正在尝试使用FFmpeg将视觉过滤器添加到mp4文件中。

我尝试了许多过滤器,但是其中有4个可以正常工作。 我在Android application使用它们,但是我使用FFmpegwindows cmd上尝试了相同的命令行,结果是相同的。 带有3个过滤器的.mp4无法被许多播放器和Androids mediaplayer播放器播放。 我仍然可以在VLC和具有许多法典的播放VLC上播放“损坏的”文件,但我需要它们完美地工作。

唯一可以正常使用的过滤器是Black and White过滤器,命令是(已经尝试了-vf-filter_complex ):

-i origin.mp4 -filter_complex hue=s=0 blackWhite.mp4

其他3个分别是SepiaVintageNegative

"colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131",  "curves=vintage", "curves=negative"

由于我无法在此处上传视频文件,因此添加了3个文件的链接:原始视频文件,黑白过滤文件(有效),老式文件(无效)。

Dropbox-视频文件链接

曲线和colorchannelmixer滤镜仅适用于RGB像素,因此FFmpeg可以根据需要预先转换视频。

当使用典型的H.264编码器保存到MP4时,ffmpeg将转换为YUV颜色编码,但会选择最高保真度的像素格式,对于RGB源,该格式为YUV 4:4:4。 此格式与大多数播放器不兼容。 解决方法是手动强制输出YUV 4:2:0。 在输出文件名之前添加-pix_fmt yuv420p

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM