我从网上下载了一个文件,这是下面的媒体。
General
Format : WebM
Format version : Version 2
File size : 10.3 MiB
Duration : 6mn 30s
Overall bit rate mode : Variable
Overall bit rate : 222 Kbps
Movie name : Untitled
Writing application : Lavf53.13.0
Writing library : Lavf53.13.0
Video
ID : 1
Format : VP8
Codec ID : V_VP8
Duration : 6mn 30s
Bit rate : 76.6 Kbps
Width : 1 024 pixels
Height : 768 pixels
Display aspect ratio : 4:3
Frame rate mode : Constant
Frame rate : 15.000 fps
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.006
Stream size : 3.57 MiB (34%)
Language : English
Default : Yes
Forced : No
Audio
ID : 2
Format : Vorbis
Format settings, Floor : 1
Codec ID : A_VORBIS
Duration : 6mn 30s
Bit rate mode : Variable
Bit rate : 128 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 5.96 MiB (58%)
Writing library : libVorbis (Schaufenugget) (20101101 (Schaufenugget))
Language : English
Default : Yes
Forced : No
Writing application : Lavc53.19.0
我尝试将文件转码为 MKV,但没有成功,我无法修复搜索问题:
mkvextract tracks file.webm 0:file.ivf
mkvextract tracks file.webm 1:file.ogg
mkvmerge -o file.mkv file.ivf file.ogg
我也尝试使用 mencoder 修复索引,但情况变得更糟。
mencoder input.mkv -idx -ovc copy -oac copy -o output.mkv
我也试过陨石
Meteorite 是 MKV / Matroska 文件修复引擎。它可以修复 MKV 文件,也可以修复仍在从互联网下载的 MKV 文件。
我可以搜索,但是移动视频滑块后视频停止,音频保持正常。
您知道解决搜索问题的其他方法吗?
答案1
我使用这个 FFmpeg 命令解决了搜索问题
ffmpeg -i file.webm -vcodec copy -acodec libvo_aacenc -b:a 128k file.avi
此命令从 webm 文件复制视频流并使用 livbo_aacenc 编解码器或 AAC 重新编码音频。然后它将流复用到 AVI 容器中。
答案2
答案3
详细说明上述 Aivan 的解决方案,如果您想快速将所有MKV
视频转换为可搜索的视频,请使用我编写的以下批处理脚本:AVI
@echo on
set /A nfile=0
@echo Copying directory structure from %0 to %1 ...
xcopy /T %1 %2
for /R %1 %%i in (*.mkv) do (
ffmpeg -i "%%i" -c:v copy -c:a libvo_aacenc -b:a 320k -ac 2 "%2%%~pi%%~ni.avi"
set /A nfile+=1
)
echo Done! Converted %nfile% file(s)
pause
您需要将 ffmpeg.exe 放在与所有视频相同的文件夹中,并将其另存为go.bat
并运行。该-ac 2
标志将所有声音设置为 2 声道立体声,作为警告。我不知道其他方法可以libvo_aacenc
正常工作而不会引发错误。