Quote:
Originally Posted by KSV
Stripping first 32 bytes isn't gonna work reliably with different files. you are assuming that first flv packet is 'AVC sequence header' and it's of same length for different files which isn't true.
|
Yes, I know. For the v1 .beat files, or some others encoded in vp6, it is 13 bytes. But whatever it has been, it has always been consistent within a session for all .beat files 0001+ through the end of the session. In any case, this parameter is easily edited as needed.
Quote:
Originally Posted by KSV
a better way to join those files is explained below:
|
I don't know what to tell you, except, as I mentioned earlier in this thread, and in the other thread, my favored method was the concatenate feature of ffmpeg. But it bombed. And of course I tried FlvFixer.php, both on the segmented .flv files, or the joined, or both, and everything it between. I also just tried direct stream copy (individually) of the segmented .flv files with ffmpeg prior to concatenation in order to "fix" the .flv from the way in which it is time coded and yet still maintain sync.
Quote:
Originally Posted by KSV
1. create a new folder (BeatConvert) and copy BeatConvert.php, FlvFixer.php, FFMpeg.exe to this folder.
2. now create a new bat file (BeatConvert.bat) with following content:
Code:
if exist "List.txt" del "List.txt"
for %%a in (*.beat) do php BeatConvert.php %%a && echo file '%%~na.flv' >> List.txt
FFMpeg.exe -y -f concat -i List.txt -c copy Final.flv
php FlvFixer.php --in Final.flv --out Final_fixed.flv --nometa
FFMpeg.exe -y -i Final_fixed.flv -c copy Final.mkv
3. now copy your beat files (0000.beat....nnnn.beat) to the same folder and run the bat file.
if everything goes as expected a new file (Final.mkv) will be created which should be in sync.
|
Now, for the session that has most recently been in discussion in this thread;
Code:
h..p://www.be-at.tv/brands/jaarbeurs-utrecht/timewarp-2012/marcel-fengler
Which has corresponding .beat files at;
Code:
h..p://cdn.be-at.tv/001196/128/1250/0000.beat
.
.
h..p://cdn.be-at.tv/001196/128/1250/0462.beat
I just tried your batch file using the raw source .beat files.
The resulting files it produced:
Final_fixed.flv Time length: 01:35:34
Final.mkv Time length: 01:35:34
Time length of video when played in flashplayer: 01:32:28
Time length of video when joined by binary file copy method I mentioned in my previous post: 01:32:28 (it could show up as 01:32:27 on some players)
If you have any ideas, I'm all ears.
But I do agree to caution anyone before using the batch file that I just posted to check the source .flv files after processing with BeatConvert.php.