我有一个视频文件,它是未压缩视频流的捕获。其媒体信息如下:
- 格式:AVI
- 格式/信息:音频视频交错
- 格式配置文件:OpenDML
- 文件大小:21.5 GiB
- 时长:11分44秒
总比特率:262 Mbps
视频编号:0
- 格式 : YUV
- 编解码器 ID :灰色
- 编解码器 ID/信息:简单灰度视频
- 时长:11分44秒
- 比特率:262 Mbps
- 宽度:1 280 像素
- 高度:1 024 像素
- 显示宽高比:5:4
- 帧率:25,000 fps
- 色彩空间:YUV
- 压缩模式:无损
- 位/(像素*帧):8.000
- 流大小:21.5 GiB (100%)
这应该是最简单的视频显示方式,但不知为何,我的播放器却无法做到这一点。我该如何处理它?
编辑:这是 ffmpeg 转换命令的命令行输出:
ffmpeg -pix_fmt grey -i input.avi -c:v libx264 -pix_fmt yuv420p output.mp4
ffmpeg version N-55966-gfdd1aaf Copyright (c) 2000-2013 the FFmpeg developers
built on Sep 2 2013 18:01:19 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --
enable-libxvid --enable-zlib
libavutil 52. 43.100 / 52. 43.100
libavcodec 55. 31.100 / 55. 31.100
libavformat 55. 15.100 / 55. 15.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 82.102 / 3. 82.102
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100
Trailing options were found on the commandline.
Option pixel_format not found.
这是仅探测文件的输出(ffmpeg -i input.avi):
[avi @ 02a7b5c0] Could not find codec parameters for stream 0 (Video: none (GREY / 0x59455247), 1280x1024): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
i:/sun2M.avi: could not find codec parameters
答案1
“未知编解码器”消息表示无法确定输入文件使用的编解码器。因此,请在命令行上指定输入编解码器(rawvideo
在本例中)。要转换为 4:2:0 H.264:
ffmpeg -c:v rawvideo -i input.avi -c:v libx264 -pix_fmt yuv420p output.mp4