I have a Flash video (flv) that I like to convert to MP4, but it seems (partial) corrupt. What it is best way to recover a Flash video (FLV)?
This particular video is a 3-hour long stream recorded in 2011, and I can play it fine (video+audio) in an old program called SWF & FLV Player on my Mac. Given that skipping to another part in the video is slow, I suspect there are few or no keyframes/markers in the stream.
Sadly, it is corrupt: VLC
can't play it, Handbrake
says "No Valid Source Found" and if I try to convert it with ffmpeg
, I get the following error in stdout:
[flv @ 0x7fa9fb601440] Packet mismatch 0 43040 43040
Input #0, flv, from 'IMO2011_opening_theatre.flv':
Metadata:
metadatacreator : Yet Another Metadata Injector for FLV - Version 1.6
hasKeyframes : true
hasVideo : true
hasAudio : true
hasMetadata : true
canSeekToEnd : false
datasize : 1105133753
videosize : 1034966685
audiosize : 67509960
lasttimestamp : 10497
lastkeyframetimestamp: 10496
lastkeyframelocation: 1105072805
Duration: 02:54:57.28, start: 0.000000, bitrate: 839 kb/s
Output #0, mp4, to 'IMO2011_opening_theatre.mp4':
Output file #0 does not contain any stream
If there is way to convert this file to MP4 (or any format) in any way?
答案1
My work-around solution was to use a screen recorder, OBS. Sadly, the mentioned viewer was too old (32-bit only) so it only run on an older Mac, which led to loss of quality. Thankfully, I found two other programs to play FLV on Windows, including FLV Media Player
. That with OBS gave a converted video.
The downside of this approach is that it still leads to loss of quality, so I consider it a work-around at best.