Comments (15)
Upon checking MediaInfo Wrapper: https://github.com/Anime4000/IFME/blob/master/ifme.framework/MediaInfoDotNet/Models/MultiStreamCommon.cs#L408
This code I added manually, I tried a DVD ripped to MKV (MakeMKV) it detect as expected as in my end.
Another code I added: https://github.com/Anime4000/IFME/blob/master/ifme.framework/MediaInfoDotNet/Models/MultiStreamCommon.cs#L395
This allow returning Top or Bottom Fields, allowing FFmpeg deinterlaced before sending to x265, I split each fileds into different frame, become double fps it's original, this test file I have on my disk, I capture FIFA 2014 via TV card and convert. 25fps become 50fps, smooth animation.
since interlaced video operate in constant frame rate, I not sure with variable framerate interlaced video, so far I didn't find any kind VFR interlaced video. mostly analouge TV run in CFR.
I using -vsync passthrough let copy frame without droping or adding frame, this allow VFR video converted to VFR at the end, letting FFms indexing VFR video,
if partial frame encoded, try see ffprobe to detect. if MediaInfo and FFprobe return same value, yes... I need adjust -vsync properly...
from ifme.
This issue has been fixed since version 4.9.3 🎉
from ifme.
Well, I just updated to 4.9.3 and still have the same problems. :/
from ifme.
Variable Frame-rate I set to -vsync 0
it cause copy frame without modifying total of frame,
https://github.com/Anime4000/IFME/blob/master/ifme/frmMain.cs#L1570
https://ffmpeg.org/ffmpeg.html#Advanced-options
If can, can you send the file to me? using Google Drive or any cloud based service.
from ifme.
does this work if I directly reply to this email?
maybe it should behave like windows themes. when you change anything on it without saving, it creates an unsaved theme and switches to it. then leaves the rest untoched. as long as you don't save it manually it keeps writing on this unsaved profile like autosave.
I think that this "Changes applied in realtime" behavior is much more like Linux. but is useful like autosave on games.
--- Original Message ---
From: "Anime4000" [email protected]
Sent: March 8, 2015 6:47 AM
To: "Anime4000/IFME" [email protected]
Subject: Re: [IFME] mkv videos and variable frame rate (#13)
Variable Frame-rate I set to -vsync 0
it cause copy frame without modifying total of frame,
https://github.com/Anime4000/IFME/blob/master/ifme/frmMain.cs#L1570
https://ffmpeg.org/ffmpeg.html#Advanced-options
If can, can you send the file to me? using Google Drive or any cloud based service.
Reply to this email directly or view it on GitHub:
#13 (comment)
from ifme.
@SailorOnDaTea it's works 😄 by replying email, settings saved when closing form/application exit.
@DarkShadow44 said using -vsync vfr
works with VFR video, but I tried -vsync -1
(passthrough) works too, I using mp4 file from my camera phone.
Ok, I try again using -vsync vfr
without timecodes.txt
I hope it's works.
from ifme.
I made a demo video to show the issue and uploaded it to mediafire: testVideo.mkv
Just download and convert with IFME, on veryfast is good enough.
The video is basically just a number that gets counted up, the last number that's displayed is 2000.
If encoded it stops at ~11:18, the last 8 seconds are dropped and the last displayed number is 1976.
The amount of frames that is dropped seems random, but this should be enough to show where the problem is.
from ifme.
Later I at home, I test it 👍
Let see current ffmpeg detect and decode, all based on FFmpeg, if FFmpeg stop, x265 also stop.
from ifme.
FFprobe did not detect total frame, while MediaInfo detect under 29.97 fps and 30.303fps (original)
AVIDEMUX... hmmm
from ifme.
OK, I done some temporary patch,
on my end, it display all frame ➿
try this: https://github.com/Anime4000/IFME/releases/tag/v4.9.3.1
you may override or make backup ifme.exe
and ifme.framework.dll
from ifme.
Doesn't work for me either.
I found the following information, and think that explains the problem fairly well: GitHub - mkvtoolnix - Wrong frame rate displayed
It seems that MKV container just don't care about frame rate, so tools like Mediainfo try to guess it. In my case wrong, which causes the video to get messed up.
In your temporary patch, you wrote about a fix for CFR video, but my video isn't constant frame rate. I know, MediaInfo says it is, but it isn't. If you put the video steam into a different container (simply mux it into MP4 for example), then you see it is VFR. And because MediaInfo interprets it wrong, it can't get encoded the right way - VFR video treated like CFR it will probably go wrong. But I can't think of another way than always to use timestamps if working with MKV. Because as I said, MKV simply doesn't care about framerate and I don't know any way to extract it from the video stream.
from ifme.
well, FFprobe and MediaInfo detect that file as CFR with Original FPS,
to get VFR video, it need and to have timecodes.txt
file.
I test so many VFR video including from AMD GE (Game DVR), Digial Camera and Smart Phone, most of them using VFR to save space.
as you say, if container put wrong info, it become wrong when pass info to IFME.
from ifme.
Okay looks like if the input doesn't report specifically or missing some information then program simply takes it as CFR. You said in order to detect it you would need some metafile like timecodes.txt but it is not always available right?
This is similar to my previous problem with broken mpeg streams. If we assumed input as perfect then converting didn't work. We needed to analyze/recheck stream to workaround. Simply a more flexible/forgiving ifme could get it done. it was its weakness to be strict but improved it later. Maybe in case of VFR it is better to approach in a similar way.
I think this is like antivirus software. When it has predefined data/definitions it can compare and deal with already recognized files but when there is no information? Heuristic scan! In past antivirus couldn't catch such files but now they block it with heuristic method even if they are not in database.
Is it pissible to detect if video is CFR or VFR this way?
--- Original Message ---
From: "Anime4000" [email protected]
Sent: March 10, 2015 1:29 AM
To: "Anime4000/IFME" [email protected]
Cc: "SailorOnDaTea" [email protected]
Subject: Re: [IFME] mkv videos and variable frame rate (#13)
well, FFprobe and MediaInfo detect that file as CFR with Original FPS,
to get VFR video, it need and to have timecodes.txt
file.
I test so many VFR video including from AMD GE (Game DVR), Digial Camera and Smart Phone, most of them using VFR to save space.
as you say, if container put wrong info, it become wrong when pass info to IFME.
Reply to this email directly or view it on GitHub:
#13 (comment)
from ifme.
Once you lose some info about VFR (lose timecodes.txt
) you cannot make it work without timecodes.txt
, even FFmpeg detect it as CFR because metadata set to CFR.
VFR video very unature on some device like SmartTV, CFR are preferable.
VFR is one way to save disk space, for example:
30 second of contain one scene, VFR only contain one frame, CFR duplicate it and tell next frame refer to previous.
from ifme.
IFME Go (v5.x) VFR support natively, but it taking time to indexing first just like x264 ffms
from ifme.
Related Issues (20)
- Unexpected error in latest version HOT 15
- When will you be releasing the final version? I just downloaded and its still Alpha. HOT 5
- How to preserve HDR 10 info? HOT 7
- How to use the built in Libx265 in FFmpeg? HOT 4
- missing Configure file HOT 1
- When will there be a new verison of IFME HOT 4
- glyph not found HOT 17
- Problem with hardsubbing PGS subtitles HOT 2
- hdr HOT 7
- New version (IFME-21.05.25_Debug) takes incredibly long time to load HOT 2
- Subtitles - don't added
- Issues with latest version HOT 4
- Encoder CLI HOT 16
- Intel oneAPI Video Processing Library support ? HOT 8
- Unhandled Exception when trying to save encoding preset HOT 1
- How do load avsi scripts? HOT 5
- App crashes after selecting "auto" frame rate HOT 3
- No encoder to use HOT 30
- frame black band problem HOT 15
- Unrecognized option 'cqp'. when using H.265 FFmpeg AMD AMF, Constant Quantization Parameter HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ifme.