Audio/video stream recording forums

Attention Visitor:
You may have to register or log in before you can post:
  • Click the register link to sign up.
  • Registered members please fill in the form below and click the "Log in" button.
To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Audio/video stream recording forums > Streaming media recording forum > rtmpdump
Register FAQ Members List Calendar Mark Forums Read

Reply Post New Thread
 
Thread Tools Display Modes
  #1  
Old 06-03-2012, 11:28 AM
KSV KSV is offline
Senior Member
 
Join Date: Apr 2011
Posts: 853
KSV is on a distinguished road
Cool

FLV fixer script


I have created a new script for repairing the FLV files based on the flv processing code taken from my another script AdobeHDS. it can help you in following scenarios.
  1. it can fix live streams recorded with rtmpdump which are not remuxable with ffmpeg or not properly seekable.
  2. it can extract valid flv data leaving out junk from interrupted downloads which are no longer resumable with rtmpdump. you can resume them after fixing with this script.

You can use script with following switches:
Code:
 --help              displays this help
 --debug             show debug output
 --nometa            do not save metadata in repaired file
 --fixwindow [param] timestamp gap between frames to consider as timeshift
 --in        [param] input filename of flv file to be repaired
 --out       [param] output filename for repaired file
Download:
Code:
https://github.com/K-S-V/Scripts

Last edited by KSV : 03-02-2013 at 08:39 AM.
Reply With Quote
  #2  
Old 06-03-2012, 04:43 PM
greenythebeast greenythebeast is offline
Senior Member
 
Join Date: Dec 2011
Posts: 105
greenythebeast is on a distinguished road
Default

Re: FLV fixer script


Wonderful, thanks!
Reply With Quote
  #3  
Old 07-18-2012, 02:07 AM
KSV KSV is offline
Senior Member
 
Join Date: Apr 2011
Posts: 853
KSV is on a distinguished road
Cool

Re: FLV fixer script


Changes:
Code:
1. rebase timestamps to zero + other improvements
2. added nometa switch to remove metadata from repaired file
removing metadata from repaired file can be often useful in case of live streams because they normally have wrong duration set in metadata.
Reply With Quote
  #4  
Old 07-22-2012, 03:56 PM
Elgero Elgero is offline
Senior Member
 
Join Date: Feb 2012
Posts: 177
Elgero is on a distinguished road
Default

Re: FLV fixer script


KSV, would it be difficult to write a script or modify the flvFixer script so it can read several chunks/parts from an Flv video and then save them as a single video in one process?

I have quite a few large Flv videos (some are over 2GB) I need to cut first and then join the cut parts together, but I'm having a lot of problems finding a freeware application that can do it properly.

Some applications crash with large files, because they want to load the entire video in memory. Other applications can cut only 1 part at once, which takes a lot of time and other applications don't support Nellymoser or Speex audio, even though it's raw file editing.

I'd like to edit based on seconds or perhaps milliseconds. I know that every video needs to start on a keyframe, which means it won't always cut exactly on the specified start time, but that's not a problem.


For example:

--parts 39-249,583-937,1292-1819

cut from second 39 to 249
cut from second 583 to 937
cut from second 1292 to 1819

Save the parts as a single Flv video.
Reply With Quote
  #5  
Old 07-22-2012, 10:32 PM
greenythebeast greenythebeast is offline
Senior Member
 
Join Date: Dec 2011
Posts: 105
greenythebeast is on a distinguished road
Default

Re: FLV fixer script


Quote:
Originally Posted by Elgero View Post
KSV, would it be difficult to write a script or modify the flvFixer script so it can read several chunks/parts from an Flv video and then save them as a single video in one process?

I have quite a few large Flv videos (some are over 2GB) I need to cut first and then join the cut parts together, but I'm having a lot of problems finding a freeware application that can do it properly.

Some applications crash with large files, because they want to load the entire video in memory. Other applications can cut only 1 part at once, which takes a lot of time and other applications don't support Nellymoser or Speex audio, even though it's raw file editing.

I'd like to edit based on seconds or perhaps milliseconds. I know that every video needs to start on a keyframe, which means it won't always cut exactly on the specified start time, but that's not a problem.


For example:

--parts 39-249,583-937,1292-1819

cut from second 39 to 249
cut from second 583 to 937
cut from second 1292 to 1819

Save the parts as a single Flv video.
Pretty sure you can do this with ffmpeg.
Reply With Quote
  #6  
Old 07-23-2012, 12:19 AM
Elgero Elgero is offline
Senior Member
 
Join Date: Feb 2012
Posts: 177
Elgero is on a distinguished road
Default

Re: FLV fixer script


Quote:
Originally Posted by greenythebeast View Post
Pretty sure you can do this with ffmpeg.
Thank you. Do you know if ffmpeg can cut multiple parts with one command? The only commands I can find are -ss (start time) and -t (duration) to cut one part. This is what I'm already doing and it takes too long to do this all step by step. Or perhaps I need to write a batch script to do this.

I'm not a PHP programmer, but I'll play around with the FlvFixer script and maybe I can add it myself. I rather have the PHP script, it gives me more control and I can add little things, like "duration" metadata that some video players require to be able to seek.
Reply With Quote
  #7  
Old 04-30-2014, 09:56 AM
ZeChico ZeChico is offline
Member
 
Join Date: Apr 2014
Posts: 31
ZeChico is on a distinguished road
Default

Re: FLV fixer script


Hi!

I'm sorry to necro this thread, but I have been using this script for a long time to repair my MFC recordings. I always notice that the videos, specially the long ones had a slow motion after a while and the audio was not synchronized.

Only now that I paid attention to it. It seems the problem was in the "FLV fixer.php" itself, the default value of FRAMEFIX_STEP of 40 was too high.

After many tests I found that the value of 22 is ideal so I changed the line on the script to:
define('FRAMEFIX_STEP', 22);

With this the sound seems fine and so is the motion.

To further repair the files I also created a small bat script (ex: FLVfixer.bat) to repair any FLV in the same folder, it calls the "FLV fixer.php" and uses the "yamdi.exe" (search the net for it) to recreate the metadata, so it needs this 2 files in the same folder. It first repairs the flv into a temporary file and then the yamdi uses the temporary file to rewrite the original one.

This is the DOS BAT script if anyone wants this easier way of repairing many MFC FLV files in the same folder:
Code:
@ECHO OFF
FOR %%A IN (*.flv) DO (
IF NOT "%%A"=="temp.flv" CALL :FIX "%%A"
)
GOTO END

:FIX
ECHO -------------------------------------------------------
ECHO - Fixing %1...
php "FLV fixer.php" --nometa --fixwindow 1000 --in %1 --out "temp.flv"
ECHO Injecting MetaData with yamdi...
yamdi.exe -i "temp.flv" -k -o %1
ECHO Done!
ECHO:
GOTO :eof

:END
ECHO -------------------------------------------------------
ECHO Deleting temporary file...
DEL /Q "temp.flv"
ECHO:
ECHO All done!
ECHO ON
@PAUSE
If instead of rewrite the file you instead want it to save into other folder (ex: into folder "OK") you need to edit the following line:
yamdi.exe -i "temp.flv" -k -o .\OK\\%1

To repair old flv repaired by "FLV fixer.php" that got this slow motion problem, you need to edit the "FLV fixer.php" and after editing the line:
define('FRAMEFIX_STEP', 22);

You also need to change the line:
if ($timeShift > $fixWindow)
to
if ($timeShift == 40)

Thank you KSV for this script.

Regards!
Reply With Quote
  #8  
Old 09-22-2016, 09:40 AM
CristianoA CristianoA is offline
Senior Member
 
Join Date: Nov 2012
Location: Micronesia
Posts: 261
CristianoA is on a distinguished road
Default

Re: FLV fixer script


FLVFixer for Windows anyone ?
Reply With Quote
Reply Post New Thread
Tags:



Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -6. The time now is 05:51 PM.


Powered by All-streaming-media.com; 2006-2011
vB forum hacked with Zoints add-ons