Fix flv files that stop earlier

I uploaded some FLV videos some time ago, and watching them, they stop in one place. If I skip past this point, they will continue to play until the end, until there is another point that I can skip again (and the cycle continues to the end of the video).

I have already tried

avconv -i input.flv -acodec copy -vcodec copy -g 1 output.flv

As far as I understand from reading most useless messages on this issue, there are no key frames in my metadata, and then it stops when there are bad frames.

I tried setting -g above, but output.flv stops at the same point where the original file stops for the first time. Is there any tool that can fix this.

I cannot remember where the source links are, and reloading is not an option, and as you can see, my attempts to re-encode have failed.

I use Linux Ubuntu, so I can not use the available Windows tools.

EDIT

After a big fight, I still could not fix the file.

I was mistaken in my assumption that the MetaData problem. Having tried an array of tools, I found that most of them stopped at the end of the file (in the middle of the file).

Metadata is what it should be. (I successfully extracted it). The threads seem to be corrupt. I tried re-multiplexing, transcoding, injecting MetaData, none of them worked, they created a file that still gets stuck in one place or just stream up to a bad place.

My problem is exactly the same as here: link

Any help would be greatly appreciated. I will take any decision, even if I have to knock out a little file with a hex editor. (I tried to remove what I, although there was a bad bit, but it made him not play at all)

I now have a Windows machine, so running Windows utilities are no longer a problem.

+4
source share
1 answer

I fixed it.

Not the solution I was hoping for, but I managed to split the file into another bit using avconv

 avconv -ss "$TIME" -i "$IN" -vcodec copy -acodec copy "$OUT"."$PART".mkv 

Inserting ss in front of the input file made him use keyframes to go to the correct location, and then did not get into the damaged bit and crash. After each damaged bit, I repeated the previous step with a new $ TIME.

Finally, I added all the bits along with the avconv concat option, and now it works. When the previous damaged bit is reached, the video jumps a little forward, but that’s fine.

+3
source

Source: https://habr.com/ru/post/1440783/


All Articles