我有很多来自海外旅行的大型视频文件。其中90%都很棒,但有一些我记录在一张狡猾的SD卡上,由于某些原因无法播放。它们都是.MTS文件。
在VLC中,尝试播放时会出现错误:
java.lang.NoClassDefFoundError: org/apache/solr/handler/component/SearchComponent
我对视频文件或编解码器知之甚少,但我足够精明地使用ffmpeg,我认为这可能是我最好的选择。
我在其中一个文件上尝试了这个(称之为' input.MTS'):
Unidentified codec:
VLC could not identify the audio or video codec
结果如下:
ffmpeg -i input.MTS output.mp4
output.mp4文件现在可以在VLC中播放而不会出错,并且长度为5分38秒。但是,没有音频或视频。
此外,input.MTS约为18 MB,output.mp4约为0.313 MB。
恢复此视频的正确方法是什么?
答案 0 :(得分:3)
恢复此视频的正确方法是什么?
你无法从this file恢复任何内容,因为不包含任何音频/视频数据。
文件中的每个字节都有最大量FF
作为十六进制值(或十进制255
)。请参见下图(显示部分)文件的字节。
从这个输入我认为FFmpeg猜测你的文件必须是某种PCM(未压缩的音频)。缺少可识别格式的标题迫使它更进一步,并假设您的数据为某些ADPCM,因为该格式并不总是涉及标题数据。)
FFmpeg说:Stream #0:0: Audio: adpcm_dtk, 48000 Hz, stereo, s16p
VLC说:VLC could not identify the audio or video codec
如下所示,文件字节中没有任何内容可以确认实际格式(图像?视频?还是音频?)。数据可以是PCM音频,也可以只是全白图像(一个白色像素= FF FF FF
)。
答案 1 :(得分:1)
我怀疑这有两个原因。一个是你认为使用的ffmpeg命令不够。尝试使用以下命令或查看here。
ffmpeg -i input.mts -y -vcodec mpeg4 -acodec libfaac output.mp4
其次,我怀疑是VLC,因为它不那么稳定。您可以尝试在mplayer或ffplay或任何其他播放器中播放它。