Hi there, everyone. I'm in a bit of a predicament with a video I've recorded :c
I record gameplay footage often, and recently I captured footage of a friend and myself playing Far Cry 4 on PC. The video was recorded as an .avi using Fraps; 1920 x 1080, 60fps. I've never had issues in the past, however, this time around, something happened while recording... for some reason or another, the breaker at my house tripped, and my computer shut off. Essentially, the program terminated while recording, instead of me "stopping" the recording.
The footage was about 1 hour 15 minutes in length, and the video file came out to close to 320Gb in size.
Now, the issue:
If I try to import the video into Adobe Premiere, it just appears as a 0.01 second long clip.
If I try to play the video in VLC or Quicktime, nothing happens.
If I look at the video's metadata in Windows, it will only tell me the file size, and date created / modified (no length, bitrate, or anything that usually displays)
HOWEVER... if I play the file in Windows Media Player, or Media Player Classic... there is most definitely video footage that plays, and the audio is there as well. Everything looks completely in order. The only issue with that, is that I can't skip around using the progress bar or fast forward. But it does, indeed, play. So I know that the video and audio data is there...
Does anyone have any ideas how I could maybe go about fixing this? :/ a friend of mine said that it sounds like since I didn't "tell" the program when to end the video, it didn't get to create indexing or metadata for the file. But that is just an assumption on his part.
Any help would be massively appreciated! Thank you
PS: One of my friends suggested to me to just let the video play overnight, and just record the video from Windows Media Player. However, I can't really do that. If I play the video in full-screen, because of the high quality .avi, the video will lag and play slowly, while the audio plays at normal speed... every 20 seconds or so, the audio freezes to let the video catch up, and then this repeats... BUT, if I don't play in full-screen, and shrink the media player down to like 1280x720 or smaller, the video will play smoothly and the audio will stay in sync...
+ Reply to Thread
Results 1 to 30 of 39
-
-
If I try to open the video in VirtualDub, nothing appears D:
Using avisynth in conjunction with VirtualDubMod, I get an error message.
"Error decompressing video frame 0: The source image format is not acceptable. (error code -2)"
If I ignore that and try to click Play, I get a popup VirtualDub Error:
"The decompression codec cannot decompress to an RGB format. This is very unusual. Check that any "Force YUY2" options are not enabled in the codec's properties."
I kind of feel defeated when the error message tells me that my error is unusual...
Gave AviDemux a try... when I attempt to open the file, it pops up with...
"Attempt to open (file path).avi failed!"
"Could not open the file"
x.x -
Well, i've made very slight progress o.o
Bare with me, as I have pretty much zero experience with avisynth, so i'm learning through this one.
I made a new text document in the same folder as my video file in question. For reference sake, the video file is named "FarCry4 2014-11-28 01-59-22-01.avi"
In the text file, I have the text:
DirectShowSource("FarCry4 2014-11-28 01-59-22-01.avi")
And it is saved as a .avs file
In VirtualDub, i'm opening that .avs file instead of the .avi... (am I doing this right? o.o)
The minor progress i've made: I installed the DirectShow Input Driver plugin for Vdub. I tried to open the .avs file, and alas, the first frame of the video actually appears!
But, that's pretty much it ._. VirtualDub is reading 2 frames. So if I click play, it's just 2 frames.
So.. hmph :/ -
Yes, for the avs script, if the .avs file is in the same directory as the video file, the full path doesn't need to be specified
Otherwise it would be
DirectShowSource("PATH\FarCry4 2014-11-28 01-59-22-01.avi")
Where "PATH" might be c:\folder\
You can open that .avs file directly in vdub, or even MPC to preview it to see if it works
For vdub, you need to specifically select the directshow input driver from the open video file dialog box. In the drop down menu "files of type", select the "directshow input driver" then push open . Then check file=>file information, and post the results or screenshot -
-
Is it still 2 frames only ? That corresponds to what the screenshot says.
I think you need to override LAV, it shouldn't be used for this. You can use win7dsfiltertweaker / codec tweak tool or similar utilities to temporarily disable LAV . Then close / restart vdub and try again
Did the .avs script show 2 frames as well? -
-
Open the AVI in gspot and post the results (screenshot) , also mediainfo (view=>text) and copy & paste those
1) Another thing you can try, is opening the AVI directly in vdub, and checkmarking the box "ask for extended options" in the open video file dialog box. This will give you more options later after you push open, then checkmark "re-derive keyframe flags"
2) Instead of DirectShowSource() in avisynth, try AVISource()
3) Next, try graphstudio
a) graph => insert file source (async.) . Browse to the fraps file and select it (push ok, ok)
b) graph => insert video renderer => video renderer
c) Connect the pins from the output of the file source to the input of the renderer (just click and drag a line). It should automatically fill in the intermediate boxes. Post a screenshot. Notice the time in the top right corner, push play, report what happens -
And...
Code:General Complete name : X:\Fraps\Movies\FC4\FarCry4 2014-11-28 01-59-22-01.avi Format : AVI Format/Info : Audio Video Interleave File size : 318 GiB Duration : 17ms Overall bit rate : 160 880 Gbps Video ID : 0 Format : Fraps Codec ID : FPS1 Duration : 17ms Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate : 60.000 fps Audio ID : 1 Format : PCM Format settings, Endianness : Little Format settings, Sign : Signed Codec ID : 1 Duration : 17ms Bit rate mode : Constant Bit rate : 1 536 Kbps Channel(s) : 2 channels Sampling rate : 48.0 KHz Bit depth : 16 bits Stream size : 3.19 KiB (0%) Alignment : Aligned on interleaves
Gave this a shot. Nothing changed as far as I can tell. D: Still just a 1 or 2 frame video (depending on if I did this either directly to the .avi without DirectShow, using DirectShow, or using the .avs... tried all 3)
"Avisynth open failure:
Invalid AVI file: LIST chunk <4 bytes"
Screenshot of the Graph:
When I click the play button, the time says
"00:00:00 / 00:00:00"
But, the ActionMovie Window: Video Renderer pops up, and sure enough, the footage plays along in the renderer.
Also, just wanted to say that I really appreciate you helping me out like this
This file has been a huge pain, but it's not really something I can go back and simply do-over x.x so i'd hate to lose the footage. -
Earlier, did you try disabling LAV ? Because it's still active in your gspot and graphstudio screenshots. Before you try that again , in graphstudio, since it plays more than 2 frames:
1) Disconnect the video renderer box, so lav video decoder output pin is empty
2) save the graph, file=>save graph e.g. "video.grf"
3) Create a new avs script, save it
DirectShowSource("video.grf", fps=60, audio=false)
Open that new .avs in vdub and see if you can go past 2 frames -
-
Progress! o:
When I open that .avs file, it displays 1000 frames, and plays through them
Also, for testing purposes (since it looks like its starting to possibly work now...), I tried running that same .avs a second time after turning off LAV, and I got a new error message.
"Avisynth open failure:
DirectShowSource: GRF file does not have a compatible open video pin. Graph must have 1 output pin that will bif RGB24, RGB32, ARGB, YUY2, YV12, YV16, YV24, Y41P, Y411, or AYUV" -
ok, well re-enable lav and use the graphstudio route , since that's working. You need to set the framecount to a large number or close to what it's supposed to be (I don't know how long recording was, but if you know that, you can figure out framecount since you know fps=60)
For audio, you need to use audiodub()
In graphstudio, now do the same thing for audio. You need 2 separate graphs, one for video, one for audio. Instead of lav video decoder (disconnect that) , add graph => insert filter, choose lav audio decoder and connect the audio output pin from the lav splitter box to the input of lav audio decoder. Leave the output pin of the lav audio decoder disconnected, and save the graph e.g. "audio.grf"
New script (set framecount to the proper number, or some large number)
Vid = DirectShowSource("video.grf", fps=60, framecount=1000, audio=false)
Aud = DirectShowSource("audio.grf", video=false)
audiodub(vid,aud) -
Just for curiosity, can you test the original DirectShowSource() script for the video directly, with the framecount parameter ?
DirectShowSource("FarCry4 2014-11-28 01-59-22-01.avi", fps=60, framecount=1000) -
Just to be sure, after I disconnect the LAV Splitter from the LAV Video Decoder, i'm not connecting the splitter to anything but the Audio Decoder, correct?
Such as this?
-
Tested this out, and it works correctly o: (with the correct frame count, of course), and with audio this time!
Oddly enough, playing the .avs file that has the audio.grf file included, plays without audio o.o
So, there seems to be some progress, but i've hit a snag, now.
When I play the video back in Vdub, both the original, from the quote above... and the one using the .grf files.
They progress to frame 2143 (sometime the original, with audio, only gets to frame 119 before this happens; but once or twice it struggled passed 119 and made it to 2143)... VirtualDub crashes. Each time, the crash details display as:
"An out-of-bounds memory access (access violation) occurred in module 'LAVSplitter'...
...writing address 00000000."
Hmph.. -
But when you play the file directly in mpchc / wmp , it plays without issues, correct ?
What happens when you disable lav, and do the graphstudio post #11 3a,3b,3c (ie. same thing but with lav disabled on your system)
Also try the video only , either with DirectShowSource(audio=false) , or with grf file with video only. (in case audio is causing it to crash, we can deal with audio later) -
You know, oddly enough...
When I play it in WMP, it plays up to the exact same point that VDub crashes, then WMP encounters an error, freezes, and crashes...
But MPCHC doesn't... it plays right on past it, and keeps going and going until I close the video.
It may also be worth noting (since audio might be playing into this)
In WMP, the one that crashes... when I play the .avi, the video plays slower than it's supposed to, and the audio (playing at normal speed) slips more and more away from the video, until it's point of crash.
In MPCHC, the video is slightly slowed down... but the audio stops every 4 seconds and waits for the video to catch up before resuming... and it plays continuously just fine.
Odd.
I load in the File Source, and Video Renderer from part a) and b)... but it won't let me connect them. When I drag the source Output to the Renderer Input, nothing happens and they don't connect.
Using the .grf video file with no audio: Made it to frame 2186 (practically the same frame) before getting the same crash error
Using the original file with DirectShowSource and audio set to false: This one was kind of weird...
It played past the ~2100 frame... by the time it got to the ~3200 frame, though, the footage froze... however, at the bottom, the frames kept progressing (when watching in MPCHC I got way past this point, so the footage is there)
Because I saw frame progression, I stopped the video, rewound to about 2400, and played again, and it played past the freeze point... but, when it got to frame 3320, it froze, and crashed, with the same LAV error as the other crashes. -
Other things you can try:
Try re-wrapping the AVI , e.g. video=>direct stream copy, audio=>direct stream copy, file=>save as avi in vdub ; or try other programs like avimux-gui to re-wrap the AVI
Instead of "Lav splitter" try replacing with the generic "AVI Splitter", from graph=> insert filter , save the graph, and redo the tests (without audio first) -
Not allowing this, either.
When I try to drag the source Output to the AVI Splitter input, nothing happens. It freezes for 1 or 2 seconds, then nothing happens.
Gonna give this a shot, will try it with Vdub first.
May take a while though, because, well, an hour and 18 minutes long / 280,800 frames. lol
But, currently it's up to frame 6,504, so... fingers crossed on the rewrap.
If not i'll give the other programs a shot. I'll report back with updates o.o -
Re-wrapping should be very fast, a few minutes at most . It's not re-encoding (which is slow) . Re-wrapping is basically limited by your HDD I/O speeds
-
Hm ._.
I dunno. Vdub is estimating about a 2 hour wait x.x
And I gave the other program a try, but when I tried to generate a video source it froze and crashed :c
As far as I know, my HDD speeds should be perfectly up to par... so i'm not entirely sure what could be increasing the time so much x.x -
Other programs or services running in the background, for example. Windows's built-in indexing service, stupidly-designed firewalls, stupidly-designed antiviruses, and so on.
Some years ago, ffmpeg was taking ages to do a simple remux. I opened the task manager, and found that MPC-HC had not been actually closed.
I killed mpc-hc.exe, and everything went back to normality. -
*sigh*
Alright, so... the rewrap isn't going so well.
After it got to about 45% complete, the new rewrapped file was about 380Gb, and I ran out of disk space and the export stopped.
As a test, I tried lowering the amount of frames in the video, to a meager 3600 frames (60 seconds), just to test if the video would work if I re-wrapped a small sample... now, no matter what I do, when I "Save As AVI", it barely gets past 90 frames sometimes (on occasion it gets up to 200 or so) before it freezes and crashes Vdub.
Each crash is still giving me the same error as the previous Vdub crashes.
"An out-of-bounds memory access (access violation) occurred in module 'LAVSplitter'...
...writing address 00000000."
Edit: UPDATE sorta...
So, as I stared angrily at the repeated "LAVSplitter" error.. every. single. time.... I decided to use Graph Studio to look at my LAVSplitter version number... which, apparantly, was version 0.44.0; the most recent, stable release, is version 0.61.2... so my LAV filters were pretty out of date...
I just updated them all to the current release version, and I have to say, i've noticed two major things.
1. Trying to export a 60 second sample as I type this, and with the first try, not a single Vdub error message to be found.
2. Pretty nifty to note, but after installing the LAV updates, I re-watched the .avi with both WMP and MPCHC... and, with both players, the video no longer lags behind the audio in either of them... the audio and video stay perfectly in sync, and play smoothly. I can't help but feel that this is a good sign.
Edit: UPDATE 2
The 60 second sample exported flawlessly. And, it plays, just like a normal .avi, with no issues at all!
Now I just need to figure out a way to get the entire 1 & 1/4 hour video to export with only ~380Gb of disk space available x.x
The 60 second sample was 20Gb in size... but i'm sure I could compress the file... just need to figure out what codec would be best for such a thing...Last edited by Rapid99; 30th Nov 2014 at 03:49.
-
It's not re-wrapping if the filesize is larger. I meant with the AVI loaded directly
If you feed it an avs script, it will be uncompressed ,since avisynth frameserves uncompressed audio & video. But if that's working just use a lossless compression format eg. ut video codec. It works well, very stable, fast, and compatible with programs like premiere
If you manage to get it working - there are some potential levels issues with fraps, depending on if you are using the "lossless RGB" version, or the normal YUV version. There are potential issues with decoders, as the YUV version will be decoded full range by open source decoders like LAV