wai*_*ain 3 vlc-media-player codec ffmpeg
我正在运行以下命令将 mp4 视频转换为 VP8/Webm 格式:
ffmpeg -y -i lists.mp4 -f webm -vcodec libvpx -vb 600k -r 20
-acodec libvorbis -ab 64k -ac 1 lists.webm
当我在 VLC 中打开它并尝试寻找视频中的不同点时,寻找是“量化的”。我的意思是视频中有 3 或 4 个点是搜索者“捕捉到”的,例如,如果我点击任何东西,06:30 to 10:30
它将寻求06:30
我确定问题与 ffmpeg 的编译方式有关。Windows下的Miro Video Converter,ffmpeg自带的,使用命令:
ffmpeg -y -i lists.mp4 -f webm -vcodec libvpx -acodec libvorbis -crf lists.webm
Miro 的输出不会在 VLC 中量化,但在我的 linux 安装中使用相同的命令。因此,它必须与 ffmpeg 版本或其编译方式有关。
有人知道这是什么一回事吗?调试输出如下
linux ffmpeg 的调试信息:
ffmpeg version N-35110-g0b9a69f, Copyright (c) 2000-2011 the FFmpeg developers
built on Nov 23 2011 12:51:56 with gcc 4.6.2
configuration: --prefix=/usr --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx
--enable-libtheora --enable-libgsm --enable-libspeex --enable-postproc --enable-shared --enable-x11grab
--enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-libopenjpeg --enable-librtmp
--enable-gpl --enable-version3 --enable-runtime-cpudetect --disable-debug --disable-static
libavutil 51. 26. 0 / 51. 26. 0
libavcodec 53. 37. 0 / 53. 37. 0
libavformat 53. 21. 0 / 53. 21. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 49. 0 / 2. 49. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0
Run Code Online (Sandbox Code Playgroud)
对于 Windows(Miro 视频转换器):
FFmpeg version SVN-r25762, Copyright (c) 2000-2010 the FFmpeg developers
built on Nov 18 2010 04:07:17 with gcc 4.4.2
configuration: --enable-gpl --enable-version3 --enable-libgsm
--enable-pthreads --enable-libvorbis --enable-libtheora --enable-libspeex
--enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger
--enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libvpx
--disable-decoder=libvpx --arch=x86 --enable-runtime-cpudetect --enable-libxvid
--enable-libx264 --extra-libs='-lx264 -lpthread' --enable-librtmp
--extra-libs='-lrtmp -lpolarssl -lws2_32 -lwinmm' --target-os=mingw32
--enable-avisynth --cross-prefix=i686-mingw32- --cc='ccache i686-mingw32-gcc'
--enable-memalign-hack
libavutil 50.33. 0 / 50.33. 0
libavcore 0.13. 0 / 0.13. 0
libavcodec 52.96. 0 / 52.96. 0
libavformat 52.84. 0 / 52.84. 0
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.62. 0 / 1.62. 0
libswscale 0.12. 0 / 0.12. 0
Run Code Online (Sandbox Code Playgroud)
我对 VP8 编码一无所知,但通常ffmpeg
指的是“图片组”大小的关键帧。
传递-g
带有数字的选项以用作帧中图片组的最大尺寸;这将是关键帧(包括关键帧)之间的最大帧数。
不同的 ffmpeg / 编解码器版本可能有不同的默认值;尽管如此,您可能可以将其覆盖为您想要的任何内容。
背景:
压缩视频格式通常不会存储视频的每一帧的完整数据,而是存储大多数帧作为如何从过去的帧片段(在更现代的系统中,近未来的帧片段)构建帧的描述。为了能够快速查找并开始播放,视频播放器软件通常只允许您跳转到存储了完整数据的帧,这些帧称为“关键帧”或 I 帧。
您通常可以告诉编码器您希望将其放入关键帧的频率。更多的关键帧为搜索和编辑提供了更大的灵活性,但会降低视频压缩的效率。
归档时间: |
|
查看次数: |
1917 次 |
最近记录: |