News:

--

Main Menu

Progressive Source skips

Started by Khun_Doug, July 15, 2016, 04:23:00 AM

Previous topic - Next topic

Khun_Doug

I'm using the 2.6.x and nightly version and I experience this odd behavior on both. My source is 23.97 fps progressive file from a BD rip. The source plays fine on multiple video players and looks fine in other editors. I use mediainfo to get the source video information. Avidemux opens the source fine. But if I try to play it the video skips, as though some portion of the frames are dropped every few seconds (or even every second). Attempting to compress to X264 or X265 produces output that plays with the same skipping behavior.

Is there some way to properly open a progressive source? Should I extract some debugging information to help diagnose this?

Thanks

Doug

mean

Cut 10 secs of the video and upload it somewhere please

Khun_Doug

Here is a clip from the source and an X264 encoded output. I believe the problem is the output fps. The source is 23.97 fps but the output shows 12 fps. The decreased fps is also easily visible by using the play function.

https://www.dropbox.com/sh/4trewd9lznsvk2u/AADR19woYH9NDwqIR21Lv6Xza?dl=0

Doug

mean

How did you cut the source video ?
It shows inconsistent  content, i.e. b frames yet PTS is monotous, so a lot of frames are dropped

If the source is TS/TS2 just binary cut a few megs please

Jan Gruuthuse


Khun_Doug

The source came from original and authentic BD ripped with DVDFab. The result from DVDFab is deinterlaced and has proper aspect ratio. I know the content is okay because I did an X264 compress with Handbrake and the video plays fine. Mediainfo reports proper fps on the X264 output. Also have been testing X265 compressions on a 4 minute clip using Seluer's Hybrid (that allows me to use the latest x265 builds). Again, content plays fine.

The sample I posted here was extracted with Avidemux using Video/Audio Copy/Copy. I will get another extract from a different tool and post the links. I really do appreciate the effort to resolve this. There are things in Avidemux that are missing in the other tools which is why I am here posting and becoming an active member.

mean


Khun_Doug

I now have a new 30MB extract using the VirtualDub method. I tested the file using MPC-HC and the clip does open and play. I also tested Hybrid and created an X264 encoded video. Here is the link to the 30MB snip:
https://www.dropbox.com/s/8cotr4esczv33u7/INTERPRETER-30MB-Extract.mkv-raw?dl=0

When I attempt to open the file with Avidemux the app errors and crashes. The error window reads as follows:
Assert failed: mask at line 125, file /home/fx/hudson/workspace/mingw64QT5/avidemux_plugins/ADM_demuxers/Matroska/ebml.cpp

ADM_setCrashHook  [libADM_core6.dll]
ADM_setCrashHook  [libADM_core6.dll]
ADM_backTrack  [libADM_core6.dll]
ADM_ebml::readEBMCode_Full()  [libADM_dm_matroska.dll]
ADM_ebml::readElemId(unsigned long long*, unsigned long long*)  [libADM_dm_matroska.dll]
mkvHeader::goBeforeAtomAtPosition(ADM_ebml_file*, unsigned long long, unsigned long long&, MKV_ELEM_ID, char const*)  [libADM_dm_matroska.dll]
mkvHeader::readCue(ADM_ebml_file*)  [libADM_dm_matroska.dll]
mkvHeader::open(char const*)  [libADM_dm_matroska.dll]
ADM_Composer::addFile(char const*)  [avidemux.exe]
A_openVideo(char const*)  [avidemux.exe]
ADM_QT4_fileSel::GUI_FileSelRead(char const*, void (*)(char const*))  [avidemux.exe]
HandleAction(Action)  [avidemux.exe]
MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)  [avidemux.exe]
QMetaObject::activate(QObject*, int, int, void**)  [Qt5Core.dll]
MainWindow::actionSignal(Action)  [avidemux.exe]
MainWindow::searchToolBar(QAction*)  [avidemux.exe]
MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)  [avidemux.exe]
QMetaObject::activate(QObject*, int, int, void**)  [Qt5Core.dll]
QToolBar::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)  [Qt5Widgets.dll]
QMetaObject::activate(QObject*, int, int, void**)  [Qt5Core.dll]
QToolButton::setArrowType(Qt::ArrowType)  [Qt5Widgets.dll]
QToolButton::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)  [Qt5Widgets.dll]
QMetaObject::activate(QObject*, int, int, void**)  [Qt5Core.dll]
QAction::activate(QAction::ActionEvent)  [Qt5Widgets.dll]
QAbstractButton::mouseMoveEvent(QMouseEvent*)  [Qt5Widgets.dll]
QAbstractButton::mouseReleaseEvent(QMouseEvent*)  [Qt5Widgets.dll]
QToolButton::mouseReleaseEvent(QMouseEvent*)  [Qt5Widgets.dll]
QWidget::event(QEvent*)  [Qt5Widgets.dll]
QToolButton::event(QEvent*)  [Qt5Widgets.dll]
QApplicationPrivate::notify_helper(QObject*, QEvent*)  [Qt5Widgets.dll]
QApplication::notify(QObject*, QEvent*)  [Qt5Widgets.dll]
QCoreApplication::notifyInternal(QObject*, QEvent*)  [Qt5Core.dll]
QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool)  [Qt5Widgets.dll]
non-virtual thunk to QWidget::metric(QPaintDevice::PaintDeviceMetric) const  [Qt5Widgets.dll]
non-virtual thunk to QWidget::metric(QPaintDevice::PaintDeviceMetric) const  [Qt5Widgets.dll]
QApplicationPrivate::notify_helper(QObject*, QEvent*)  [Qt5Widgets.dll]
QApplication::notify(QObject*, QEvent*)  [Qt5Widgets.dll]
QCoreApplication::notifyInternal(QObject*, QEvent*)  [Qt5Core.dll]
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)  [Qt5Gui.dll]
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)  [Qt5Gui.dll]
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)  [Qt5Gui.dll]
QEventDispatcherWin32Private::sendTimerEvent(int)  [Qt5Core.dll]
DispatchMessageW  [USER32.dll]
DispatchMessageW  [USER32.dll]
QEventDispatcherWin32::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)  [Qt5Core.dll]
unknown function  [qwindows.dll]
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)  [Qt5Core.dll]
QCoreApplication::exec()  [Qt5Core.dll]
UI_RunApp()  [avidemux.exe]
startAvidemux(int, char**)  [avidemux.exe]
SDL_main  [avidemux.exe]
console_main  [avidemux.exe]
WinMain  [avidemux.exe]
unknown function  [avidemux.exe]
unknown function  [avidemux.exe]
BaseThreadInitThunk  [KERNEL32.DLL]
RtlUserThreadStart  [ntdll.dll]


According to Mediainfo the file contains the following video:
Format                                   : VC-1
Format profile                           : Advanced@L3
Codec ID                                 : V_MS/VFW/FOURCC / WVC1
Codec ID/Hint                            : Microsoft

Again, thanks for the help. I am new at posting on this forum. I have been active with video encoding for years but just now am getting into the more "under the hood" details.


mean

Thanks i think that should be enough


Khun_Doug

Roger that. I'm more than happy to provide anything else if you need more info to diagnose/debug. Also I am quite willing to test/try patched versions, etc.

mean

The input file has broken timestamps
Depending if you respect them or not, it will work or not.

I'll see if i can workaround it


mean

Temporary workaround : Ignore timestamps for VC1 in mkv
Win32/64 binaries ready in ~ 50 mn

Khun_Doug

I'll grab the next nightly build and take it for a test drive. Thanks for the quick fix.

mean