使用ffmpeg vs下面说明。
search <- c("ABC", "ARS", "XUY", "DE")
df <- structure(list(ID = 1:3, Name = structure(1:3, .Label = c("A",
"B", "C"), class = "factor"), Description = structure(1:3, .Label = c("ABC DEF",
"ARS XUY", "ASD"), class = "factor"), Matches = c("ABC", "ARS;XUY",
"")), .Names = c("ID", "Name", "Description", "Matches"), row.names = c(NA,
-3L), class = "data.frame")
我们正在尝试使用一些AVI并将它们转换为MP4,将音频从pcm_s16le更改为AAC并将视频保持为h264。但是我们的一些AVI编码错误,并且文件的ffprobe中缺少pix_fmt。我们知道pix_fmt应该是来自在相同设备上正确编码的文件的yuv420p。
如果我们试图获取avis的探测信息,我们马上得到这个错误:
ffmpeg version N-76684-g1fe82ab Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 5.2.0 (GCC)
因此我们尝试指定传入AVI的pix_fmt,以便它可以很好地播放,但我们得到的只是这个错误:
C:\>ffmpeg -loglevel warning -y -i 1E03004920160411093036001.avi
[avi @ 00000000004d2660] Could not find codec parameters for stream 0 (Video: h264 (H264 / 0x34363248), none, 720x480, 501 kb/s): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Guessed Channel Layout for Input Stream #0.1 : mono
我们的长期目标是将它们转换为:
C:\>ffmpeg -loglevel warning -y -pix_fmt yuv420p -i 1E03004920160411093036001.avi
Option pixel_format not found.
OR
ffmpeg -y -i 1E03004920160411093036001.avi -c:v copy -c:a aac -strict -2 -movflags +faststart 1E03004920160411093036001.mp4
就像我们的其他所有视频一样,我们仍然遇到这两个错误中的一个。
目前使用mencoder绕过了这个:
ffmpeg -y -i 1E03004920160411093036001.avi -c:v copy -c:a libfdk_aac -b:a 41k -movflags +faststart 1E03004920160411093036001.mp4
但我们想摆脱这个临时步骤,只是告诉我们所有文件无论使用什么pix_fmt。有没有办法做到这一点?