Welcome Guest ( Log In | Register )


Important

The forums will be closing permanently the weekend of March 15th. Please see the notice in the announcements forum for details.

 
Ffmpeg 0818 Alpha
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
dloneranger
Posted: Aug 31 2014, 06:36 PM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Test version, needs checking vs many files to make sure it hasn't broken anything

This is an alpha of work in progress
I was trying to get .wtv files to work correctly, and in the process have hopefully made some improvement in decoding files with valid vfr timecodes
Decoding times should be improved for them, as there should be no reseeking etc needed after a frame that may be greater than 1 frame long
Previously I'd decode the next frame in the file, go oops I've gone to far and have to backtrack

Also it's hopefully fixed a problem where a file like .wtv broadcast streams may suddenly had extra audio/subtitle etc streams appearing

Any feedback would be appreciated - even a 'nothings broken' or 'this sucks'
Thanks

https://dl.dropboxusercontent.com/u/1702491...Malaksbane2.zip

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
malky
Posted: Aug 31 2014, 11:38 PM


Advanced Member


Group: Members
Posts: 290
Member No.: 22386
Joined: 6-November 07



Using 1.10.4 build 35491 get this starting VDub.

user posted image




 
    Top
L.H.V.F.
Posted: Sep 1 2014, 02:56 AM


Advanced Member


Group: Members
Posts: 49
Member No.: 28822
Joined: 19-October 10



QUOTE (dloneranger @ Aug 31 2014, 03:36 PM)
Test version, needs checking vs many files to make sure it hasn't broken anything

This is an alpha of work in progress
I was trying to get .wtv files to work correctly, and in the process have hopefully made some improvement in decoding files with valid vfr timecodes
Decoding times should be improved for them, as there should be no reseeking etc needed after a frame that may be greater than 1 frame long
Previously I'd decode the next frame in the file, go oops I've gone to far and have to backtrack

Also it's hopefully fixed a problem where a file like .wtv broadcast streams may suddenly had extra audio/subtitle etc streams appearing

Any feedback would be appreciated - even a 'nothings broken' or 'this sucks'
Thanks

https://dl.dropboxusercontent.com/u/1702491...Malaksbane2.zip

Hi, @dloneranger

Seeing your Forum post reference of make tests with ".wtv" samples, I have to say to you, a case of problem of a guy, probably from India, that had reported a sample for FFmpeg Trac, exactly for a bug of a sample "h264" and ".wtv" that he had in the past some troubles with FFmpeg, in the case, testing with FFmpeg Zeranoe Builds. I have saw a reference that the Administrator of Zeranoe Builds (that runs windows 7 on his server) of the motive of he have dropped windows xp support, for in the middle of the time to include some updated HEVC x.265 libs (at the time that xp have finished your support), that is based on the Kernel of the windows, and in some Forum, and I have saw a communique of the General Developer of the "x.265 Project" that was because the xp doesn't support a feature called "Conditional Variables", since the x.265 lib is based on the windows kernel (kernel32.dll -- needing of Vista or higher), and he doesn't had found a people for patch of this issue, with something as "primitive variables", then leaving the FFmpeg Zeranoe Builds with the xp support ended, for have the x.265.

Then, if you are experiencing some problem with your ".wtv" samples, please, before you try to make some error corrections, open a Bug Ticket of any problems to FFmpeg Bug Tracker that you has, because in this link, of a Bug Ticket that was started by me:

https://trac.ffmpeg.org/ticket/1065

the guy in question was experiencing various errors, because, as .wtv, and many of the "ASF" based old and recent video media types, some times there is not a reliable "index table support" (ASF media index table) from the FFmpeg libs, and thus, many times is impossible to want a reliable video support on the FFmpeg for these ASF video samples (because the Microsoft ASF format is proprietary, and same wanting, the support -- if will not given many samples, -- may be broken).

Here is a link learning for debug all the errors, and output for a log file the same. I recommend you debug all the errors types with flags ("verbose", "panic", "error", "debug", "fatal") using ffplay for play the video. I'm don't remembering how I did the output of these log types, but following this link:

http://ffmpeg.org/bugreports.html

there, is learned the correct way how have to be reported video decoding errors, and how make a output for a log files of all the debug of all playback of a video sample. This would ease the process of bug corrections and of patches for issues (in my case, my sample from my set-top-box served for correct all the decoding errors that the small sample that I reported had presented at the time). If you want, since I have a register in FFmpeg Trac, I might report some of your worst video samples that maybe you has, for bugs and issues fixes, for you to have the possibility of to think in correction of synchronization errors.

Any related issue is much appreciated.

Best regards.

Thanks,
L.H.V.F. .
 
     Top
dloneranger
Posted: Sep 1 2014, 05:29 AM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



QUOTE (malky @ Sep 1 2014, 12:38 AM)
Using 1.10.4 build 35491 get this starting VDub.

That's a message from an older version of ffmpeg plugin than the latest one on sourceforge
The newest one (in sig) uses
swresample-1.dll
swscale-3.dll
avcodec-56.dll
avformat-56.dll
avutil-54.dll

All the downloads have a ffdlls folder in that also needs to be copied to virtualdubs folder, deleting the older one first



--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Sep 1 2014, 06:03 AM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



@L.H.V.F.

I'm just starting to look at this really and atm am mainly trying to make sure I don't break any existing things that already work
It so early that I'm having to reexamine lots of existing code to make sure it's right
Also, I've got to examine the .wtv file I have as tbh it's not making any sense atm
With the existing code I have the file seems to be lying about something
eg the frames timestamp to frame number conversion is totally wrong atm - code that gives correct values for all other files gives the wrong number and length of the frame resulting in slow motion video being returned

eg the first decoded frame's ts should convert to frame 0, but it's coming out as 78
If I then add the frames tsduration to the ts of the first decoded frame and convert that to a frame number, that comes out as 85
Hmmmmm.........
So I think there's something wrong here, even though it works for all other files
CODE

// in video stream init
//this file uses m_tsStart = m_pStreamCtx->start_time;
int64_t m_tsStart;  //streams starting ts code
if ( m_pStreamCtx->start_time == AV_NOPTS_VALUE )
 m_tsStart = m_pFormatCtx->start_time * m_pStreamCtx->time_base.den / ( m_pStreamCtx->time_base.num * AV_TIME_BASE );
else
 m_tsStart = m_pStreamCtx->start_time;

//video streams code for frames to ts and back
int64_t VDFFVideoSource::pos2ts( int64_t num ) const //frame# to ts
{
double scale = m_pStreamCtx->r_frame_rate.den *m_pStreamCtx->time_base.den / (double)(m_pStreamCtx->r_frame_rate.num *m_pStreamCtx->time_base.num);
return  (int64_t)(num*scale + 0.5) + m_tsStart;
}

int64_t VDFFVideoSource::ts2pos( int64_t ts ) const //ts to frame#
{
if ( ts == AV_NOPTS_VALUE )
 return (-1);
double scale = m_pStreamCtx->r_frame_rate.num *m_pStreamCtx->time_base.num /(double)( m_pStreamCtx->r_frame_rate.den *m_pStreamCtx->time_base.den );
double tst = 1 / scale;
return  (int64_t)((ts-m_tsStart)*scale + 0.5 );
}


Thanks for the info though, and if I ever get this into a state where it looks like a ffmpeg problem instead of my own I'll take it up
At the moment I'm assuming I'm doing something wrong though

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
4 replies since Aug 31 2014, 06:36 PM Track this topic | Email this topic | Print this topic

<< Back to VirtualDub Filters and Filter Development