Question / Help Unable to play a captured video

MaxFrames

New Member
I've set up OBS Studio on a Windows 10 (64 bit) machine to capture a conference using a Logitech webcam.
I chose the X264 codec (software) and the MKV container.
Before actually recording the conference, I shot a few short videos (less than one minute) to confirm all was working. These videos were playable in my media player (PotPlayer) without problems so I assumed the actual recording would go down well.
We recorded the entire conference and ended up with a 2.3 GB MKV file. I've tried to play this file with a handful of media players, to no avail. The video won't play. PotPlayer displays an unknown codec error; VLC just refuses to play the video.
I've also noticed that the MKV file has no thumbnail preview, whereas the short test videos I'd made with the same settings did have it.
What can have happened? How can I play back this video?
Here is the error I get when trying to play the video in PotPlayer:

---
Async Reader::Output

==========================
Unable to read audio/video data (caption translated from Italian)
==========================


Media Type 0:
--------------------------
Unknown

[ AM_MEDIA_TYPE ]
+ majortype: MEDIATYPE_Stream {E436EB83-524F-11CE-9F53-0020AF0BA770}
+ subtype: Unknown GUID Name {1AC0BEBD-4D2B-45AD-BCEB-F2C41C5E3788}
+ formattype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
+ bFixedSizeSamples: 1
+ bTemporalCompression: 0
+ lSampleSize: 1
+ cbFormat: 0
---
 

MaxFrames

New Member
As I said, VLC does not play back the video. Neither does PotPlayer or WMP.
I've tried to analyze the file in MediaCoder, and I get no informations about the codec/fourCC; it just says it's a Matroska container.
 

MaxFrames

New Member
Handbrake and MediaCoder all fail to detect the file contents. I've also tried ffmpeg -i, mkvtoolnix and other tools. All fail to retrieve any information about the stream contained in the MKV. At this point it is clear that OBS created a corrupt file, possibly OBS went crazy as the file size grew (since all the short tests succeeded with the same settings).
The question is, is there a way to repair this file or do I have 2.4 GB of trash?
 

MaxFrames

New Member
Thanks ElBrito for your help (also in private conversation).
Unfortunately no method worked.
Since this issue was entirely produced by OBS Studio (I just set it up to use x264 and mkv, then hit "start recording" and, a few hours later, hit "stop recording") I am calling it a bug in OBS Studio, and a pretty nasty one. I hope someone can find a fix; in the meantime I'll have to stop using OBS for these purposes.
 

MaxFrames

New Member
Here is the log.
This is from day #2 of the event, when we recorded the whole day.
This resulted in a >4GB mkv file to be generated.
This file is also unreadable exactly like the first one (which was 2.4 GB in size).
As you can see, the recording started at 9:05am and ended at 6:13pm.
I hope you can make some sense out of the logs and suggest a course of action, I can't believe the video stream is there and there is no way to recover it.
Again, the short (1 minute) test videos I shot with the exact same settings did result in viewable .mkv files so the problem should be related to length/size somehow.

Thanks

---
09:00:04.752: CPU Name: Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz
09:00:04.752: CPU Speed: 2395MHz
09:00:04.752: Physical Cores: 2, Logical Cores: 4
09:00:04.752: Physical Memory: 4030MB Total, 2245MB Free
09:00:04.752: Windows Version: 10.0 Build 10586 (revision: 589; 64-bit)
09:00:04.752: Running as administrator: false
09:00:04.752: Aero is Enabled (Aero is always on for windows 8 and above)
09:00:04.753: Portable mode: false
09:00:04.774: OBS 17.0.2 (64bit, windows)
09:00:04.774: ---------------------------------
09:00:04.775: ---------------------------------
09:00:04.775: audio settings reset:
09:00:04.775: samples per sec: 44100
09:00:04.775: speakers: 1
09:00:04.776: ---------------------------------
09:00:04.776: Initializing D3D11..
09:00:04.776: Available Video Adapters:
09:00:04.777: Adapter 1: Intel(R) HD Graphics 3000
09:00:04.777: Dedicated VRAM: 1061888000
09:00:04.777: Shared VRAM: 2113067008
09:00:04.777: output 1: pos={0, 0}, size={1024, 768}, attached=true
09:00:04.780: Loading up D3D11 on adapter Intel(R) HD Graphics 3000 (0)
09:00:04.883: D3D11 loaded sucessfully, feature level used: 45056
09:00:05.506: ---------------------------------
09:00:05.506: video settings reset:
09:00:05.506: base resolution: 1024x768
09:00:05.506: output resolution: 1024x768
09:00:05.506: downscale filter: Bicubic
09:00:05.506: fps: 30/1
09:00:05.506: format: NV12
09:00:05.507: ---------------------------------
09:00:05.510: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded
09:00:05.511: [AMF Encoder] Unable to load 'amfrt64.dll', error code 126.
09:00:05.517: LoadLibrary failed for 'nvEncodeAPI64.dll': (null) (126)
09:00:05.529: Couldn't find VLC installation, VLC video source disabled
09:00:05.533: No blackmagic support
09:00:05.541: ---------------------------------
09:00:05.541: Loaded Modules:
09:00:05.541: win-wasapi.dll
09:00:05.541: win-mf.dll
09:00:05.541: win-dshow.dll
09:00:05.541: win-decklink.dll
09:00:05.541: win-capture.dll
09:00:05.541: vlc-video.dll
09:00:05.541: text-freetype2.dll
09:00:05.541: rtmp-services.dll
09:00:05.541: obs-x264.dll
09:00:05.541: obs-transitions.dll
09:00:05.541: obs-text.dll
09:00:05.541: obs-qsv11.dll
09:00:05.541: obs-outputs.dll
09:00:05.541: obs-filters.dll
09:00:05.541: obs-ffmpeg.dll
09:00:05.541: image-source.dll
09:00:05.541: frontend-tools.dll
09:00:05.541: enc-amf.dll
09:00:05.541: coreaudio-encoder.dll
09:00:05.541: ==== Startup complete ===============================================
09:00:05.542: Service '' not found
09:00:05.543: All scene data cleared
09:00:05.543: ------------------------------------------------
09:00:05.574: WASAPI: Device 'Tel. viva voce annull. eco (BCC950 ConferenceCam)' initialized
09:00:05.588: WASAPI: Device 'Tel. viva voce annull. eco (BCC950 ConferenceCam)' initialized
09:00:05.592: WASAPI: Device 'Tel. viva voce annull. eco (BCC950 ConferenceCam)' initialized
09:00:05.598: Switched to scene 'Scena'
09:00:05.599: ------------------------------------------------
09:00:05.599: Loaded scenes:
09:00:05.599: - scene 'Scena':
09:00:05.599: - source: 'Logitech BCC950' (dshow_input)
09:00:05.599: - source: 'Microfono Logitech BCC950' (wasapi_input_capture)
09:00:05.599: ------------------------------------------------
09:00:05.602: adding 23 milliseconds of audio buffering, total audio buffering is now 23 milliseconds
09:00:05.634: ---------------------------------
09:00:05.634: [DShow Device: 'Logitech BCC950'] settings updated:
09:00:05.634: video device: BCC950 ConferenceCam
09:00:05.634: video path: \\?\usb#vid_046d&pid_0837&mi_00#8&307f16bb&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global
09:00:05.634: resolution: 640x480
09:00:05.634: fps: 30.00 (interval: 333333)
09:00:05.634: format: YUY2
09:00:06.033: Update check: last known remote version is 17.0.2
09:00:06.522: adding 23 milliseconds of audio buffering, total audio buffering is now 46 milliseconds
09:05:52.160: rtmp-common.c: [initialize_output] Could not find service ''
09:05:52.160: ---------------------------------
09:05:52.161: [x264 encoder: 'simple_h264_recording'] preset: veryfast
09:05:52.161: [x264 encoder: 'simple_h264_recording'] profile: high
09:05:52.161: [x264 encoder: 'simple_h264_recording'] settings:
09:05:52.161: rate_control: CRF
09:05:52.161: bitrate: 0
09:05:52.161: buffer size: 0
09:05:52.161: crf: 20
09:05:52.161: fps_num: 30
09:05:52.161: fps_den: 1
09:05:52.161: width: 1024
09:05:52.161: height: 768
09:05:52.161: keyint: 250
09:05:52.161: vfr: off
09:05:52.161:
09:05:52.168: [Media Foundation AAC: 'simple_aac_recording']: encoder created
09:05:52.168: bitrate: 128
09:05:52.168: channels: 1
09:05:52.168: sample rate: 44100
09:05:52.168: bits-per-sample: 16
09:05:52.168:
09:05:52.174: ==== Recording Start ===============================================
09:05:52.174: [ffmpeg muxer: 'simple_file_output'] Writing file 'C:/Users/prestiti/Videos/OBS Studio/2017-02-03 09-05-52.mkv'...
12:14:59.849: adding 975 milliseconds of audio buffering, total audio buffering is now 1021 milliseconds
16:36:57.133: Max audio buffering reached!
16:36:57.134: adding 23 milliseconds of audio buffering, total audio buffering is now 1044 milliseconds
18:13:50.101: [ffmpeg muxer: 'simple_file_output'] os_process_pipe_write for info structure failed
18:13:50.101: [ffmpeg muxer: 'simple_file_output'] Output of file 'C:/Users/prestiti/Videos/OBS Studio/2017-02-03 09-05-52.mkv' stopped
18:13:50.101: Output 'simple_file_output': stopping
18:13:50.101: Output 'simple_file_output': Total encoded frames: 986338
18:13:50.101: Output 'simple_file_output': Total drawn frames: 986338
18:13:50.101: Output 'simple_file_output': Number of skipped frames due to encoding lag: 202 (0.0%)
18:13:50.101: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 195 (0.0%)
18:13:50.211: ==== Shutting down ==================================================
18:13:51.221: Switched to scene '(null)'
18:13:51.537: WASAPI: Device 'Tel. viva voce annull. eco (BCC950 ConferenceCam)' Terminated
18:13:51.544: WASAPI: Device 'Tel. viva voce annull. eco (BCC950 ConferenceCam)' Terminated
18:13:51.565: WASAPI: Device 'Tel. viva voce annull. eco (BCC950 ConferenceCam)' Terminated
18:13:51.570: All scene data cleared
18:13:51.570: ------------------------------------------------
18:13:51.571: ==== Recording Stop ================================================
 

MaxFrames

New Member
Unfortunately not. It can detect it's a MKV container, but other than that it cannot make head or tails of it either.
I'm thinking maybe of a way to extract binary data from the file starting from a given point (i.e. the point where the actual video stream payload starts) and then insert them into a new container.
 

MaxFrames

New Member
I've tried to open the file in frhed (a binary editor) and save (as test.mkv) only the first 600 MB of it.
It's still not playable and Mediainfo still can't find any stream inside it.
It looks like the size of the actual file is not the real problem, something is messed up in its structure.
 
Top