Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > VapourSynth

Reply
 
Thread Tools Search this Thread Display Modes
Old 16th January 2016, 21:01   #1  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 723
D2V Witch: cross-platform D2V creator

https://github.com/dubhater/D2VWitch

Now with a graphical interface.
__________________
Buy me a "coffee" and/or hire me to write code!

Last edited by jackoneill; 30th July 2016 at 16:29.
jackoneill is offline   Reply With Quote
Old 18th January 2016, 11:07   #2  |  Link
an3k
Registered User
 
an3k's Avatar
 
Join Date: Oct 2006
Location: Munich, Germany
Posts: 164
Missing dependencies?
Code:
vapoursynth@encoder:~/D2VWitch$ make -j$(nproc)
  CXX      src/D2VWitch.o
  CXX      src/D2V.o
  CXX      src/FakeFile.o
  CXX      src/FFMPEG.o
  CXX      src/MPEGParser.o
src/D2VWitch.cpp: In function ‘bool selectAudioStreamsById(AVFormatContext*, std::vector<int>&)’:
src/D2VWitch.cpp:88:59: error: no matching function for call to ‘std::vector<int>::erase(__gnu_cxx::__normal_iterator<const int*, std::vector<int> >)’
                     audio_ids.erase(audio_ids.cbegin() + j);
                                                           ^
src/D2VWitch.cpp:88:59: note: candidates are:
In file included from /usr/include/c++/4.8/vector:69:0,
                 from src/D2VWitch.cpp:24:
/usr/include/c++/4.8/bits/vector.tcc:134:5: note: std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(std::vector<_Tp, _Alloc>::iterator) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; typename std::_Vector_base<_Tp, _Alloc>::pointer = int*]
     vector<_Tp, _Alloc>::
     ^
/usr/include/c++/4.8/bits/vector.tcc:134:5: note:   no known conversion for argument 1 from ‘__gnu_cxx::__normal_iterator<const int*, std::vector<int> >’ to ‘std::vector<int>::iterator {aka __gnu_cxx::__normal_iterator<int*, std::vector<int> >}’
/usr/include/c++/4.8/bits/vector.tcc:146:5: note: std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(std::vector<_Tp, _Alloc>::iterator, std::vector<_Tp, _Alloc>::iterator) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; typename std::_Vector_base<_Tp, _Alloc>::pointer = int*]
     vector<_Tp, _Alloc>::
     ^
/usr/include/c++/4.8/bits/vector.tcc:146:5: note:   candidate expects 2 arguments, 1 provided
src/D2V.cpp: In member function ‘bool D2V::engage()’:
src/D2V.cpp:332:13: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/vapoursynth/include/libavcodec/avcodec.h:4056) [-Wdeprecated-declarations]
             av_free_packet(&packet);
             ^
src/D2V.cpp:332:35: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/vapoursynth/include/libavcodec/avcodec.h:4056) [-Wdeprecated-declarations]
             av_free_packet(&packet);
                                   ^
src/D2V.cpp:344:13: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/vapoursynth/include/libavcodec/avcodec.h:4056) [-Wdeprecated-declarations]
             av_free_packet(&packet);
             ^
src/D2V.cpp:344:35: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/vapoursynth/include/libavcodec/avcodec.h:4056) [-Wdeprecated-declarations]
             av_free_packet(&packet);
                                   ^
src/D2V.cpp:348:9: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/vapoursynth/include/libavcodec/avcodec.h:4056) [-Wdeprecated-declarations]
         av_free_packet(&packet);
         ^
src/D2V.cpp:348:31: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/vapoursynth/include/libavcodec/avcodec.h:4056) [-Wdeprecated-declarations]
         av_free_packet(&packet);
                               ^
make: *** [src/D2VWitch.o] Error 1
make: *** Waiting for unfinished jobs....
vapoursynth@encoder:~/D2VWitch$
an3k is offline   Reply With Quote
Old 18th January 2016, 11:44   #3  |  Link
Are_
Registered User
 
Join Date: Jun 2012
Location: Ibiza, Spain
Posts: 279
I don't think so, it compiles fine with gcc-5.3.0 but fails with gcc-4.8.5 here, maybe 4.8.x is more nitpicking about something in the code. Don't you have a more recent compiler to try?
Are_ is offline   Reply With Quote
Old 18th January 2016, 11:49   #4  |  Link
an3k
Registered User
 
an3k's Avatar
 
Join Date: Oct 2006
Location: Munich, Germany
Posts: 164
Quote:
Originally Posted by Are_ View Post
I don't think so, it compiles fine with gcc-5.3.0 but fails with gcc-4.8.5 here, maybe 4.8.x is more nitpicking about something in the code. Don't you have a more recent compiler to try?
No, this is the most recent version on Ubuntu Server 14.04.3 LTS and everything else (including some other projects from dubhater) compile just fine.
an3k is offline   Reply With Quote
Old 18th January 2016, 12:12   #5  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 723
I'd say it's a C++11 thing, as in, your compiler doesn't have full support, because it's old. Replace cbegin with begin.
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 18th January 2016, 12:21   #6  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 448
@ank3

most recent in your distro no mean most recent in upstream. the latest version available (stable) for public is the version gcc 5.3.0, your distro (Trusty Tahr) ship gcc 4.8.2
__________________
[AUR] Vapoursynth Stuff

Last edited by sl1pkn07; 18th January 2016 at 12:23.
sl1pkn07 is offline   Reply With Quote
Old 18th January 2016, 14:02   #7  |  Link
an3k
Registered User
 
an3k's Avatar
 
Join Date: Oct 2006
Location: Munich, Germany
Posts: 164
Is D2VWitch Closed GOP aware and knows how to handle these correctly? http://www.mpucoder.com/guides/delaymyth.html

Last edited by an3k; 18th January 2016 at 14:15.
an3k is offline   Reply With Quote
Old 18th January 2016, 14:19   #8  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 723
Quote:
Originally Posted by an3k View Post
Is D2VWitch Open GOP aware and knows how to handle these correctly?
It is aware. Open GOPs and B frames that can't be decoded without the previous GOP will be marked as such.

Edit: having read the linked page, there is one addition to my answer: D2V Witch assumes that B frames always require two reference frames, even though it's not always true.
__________________
Buy me a "coffee" and/or hire me to write code!

Last edited by jackoneill; 18th January 2016 at 14:33.
jackoneill is offline   Reply With Quote
Old 30th July 2016, 10:51   #9  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 723
Here is D2V Witch with a graphical interface, for anyone interested in testing:
https://ulozto.net/!zJ7H7xnPK/d2vwitch-v2-win32-7z
https://ulozto.net/!jdzfP34kh/d2vwitch-v2-win64-7z

Updated readme.rst: https://github.com/dubhater/D2VWitch...ter/readme.rst

Let me know what you think.

Code:
* Rename the executable from ``D2VWitch`` to ``d2vwitch`` because no
  one likes typing commands with capital letters in them.

* Remux LPCM audio into Wave 64 instead of producing unusable audio
  files.

* Guess the channel layout for LPCM audio on DVDs based on the number
  of channels, instead of saying it has zero channels.

* Fix occasional crash when demuxing LPCM audio.

* Give audio files proper extensions instead of ``.audio``.

* Add option ``--input-range``, which sets the YUVRGB_Scale field
  according to the video's colour range. Make it default to limited
  range.

* Add a graphical interface, launched when no command line parameters
  are supplied.
On an unrelated topic: I have this impression that D2V Witch is faster than DGIndex. Has anyone compared them in Windows?
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 30th July 2016, 12:27   #10  |  Link
Mystery Keeper
Beyond Kawaii
 
Mystery Keeper's Avatar
 
Join Date: Feb 2008
Location: Russia
Posts: 711
Audio demux failed, and there's no preview, even though d2vsource was loaded.
__________________
...desu!
Mystery Keeper is offline   Reply With Quote
Old 30th July 2016, 12:28   #11  |  Link
Are_
Registered User
 
Join Date: Jun 2012
Location: Ibiza, Spain
Posts: 279
Looking nice, I have some suggestions (and bugs) though:

It would be nice to enable drag and drop for the input box.
Once you "cut" a video you can't go any-more back to the main window if you plan to cut various scenes.
If the very last frame is selected when cutting an error is thrown, "avformat_open_input() failed: Invalid data found when processing input", because it lets you select one frame more.
The VOB I tested had a PCM audio track, when I did demux it I always got a 104 Bites garbage file instead of an actual audio file.
Are_ is offline   Reply With Quote
Old 30th July 2016, 12:32   #12  |  Link
mariush
Registered User
 
Join Date: Dec 2008
Posts: 590
I took the liberty of uploading the files to a file host without ads and timers :

Win32: http://savedonthe.net/download/878/D...-v2-win32.html
Win64: http://savedonthe.net/download/879/D...-v2-win64.html

Feel free to upload your future files there, there's no files deleted unless it's problem with disk space (unlikely) and files are not being downloaded.

Tiny disclaimer even though it's not needed (because i don't make money off it) : I own the website above.
mariush is offline   Reply With Quote
Old 30th July 2016, 17:34   #13  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 723
New binaries:
http://savedonthe.net/download/880/D...-v2-win32.html
http://savedonthe.net/download/881/D...-v2-win64.html

The ffmpeg included in the binaries was missing some components needed for LPCM demuxing. That's fixed now.

Quote:
Originally Posted by Mystery Keeper View Post
Audio demux failed, and there's no preview, even though d2vsource was loaded.
If this still happens, I'll need more info. A sample plus anything printed in the box at the bottom.

Quote:
Originally Posted by Are_ View Post
Looking nice, I have some suggestions (and bugs) though:

It would be nice to enable drag and drop for the input box.
Once you "cut" a video you can't go any-more back to the main window if you plan to cut various scenes.
If the very last frame is selected when cutting an error is thrown, "avformat_open_input() failed: Invalid data found when processing input", because it lets you select one frame more.
The VOB I tested had a PCM audio track, when I did demux it I always got a 104 Bites garbage file instead of an actual audio file.
1. Files can be dropped onto the window now.
2. I haven't decided how to make it possible to index a new file after demuxing some video. However, it is possible to demux several pieces of the same video one after the other, without reopening D2V Witch.
3. It no longer lets you select "extra" frames.
4. Demuxing LPCM audio with the graphical interface works now.

Quote:
Originally Posted by mariush View Post
I took the liberty of uploading the files to a file host without ads and timers :

Win32: http://savedonthe.net/download/878/D...-v2-win32.html
Win64: http://savedonthe.net/download/879/D...-v2-win64.html

Feel free to upload your future files there, there's no files deleted unless it's problem with disk space (unlikely) and files are not being downloaded.

Tiny disclaimer even though it's not needed (because i don't make money off it) : I own the website above.
Thanks. I'll use it.
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 31st July 2016, 09:28   #14  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 723
Okay, I added some menus. You can use that to open another video from the demuxing page.

http://savedonthe.net/download/882/D...-v2-win32.html
http://savedonthe.net/download/883/D...-v2-win64.html
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 31st July 2016, 18:45   #15  |  Link
Mystery Keeper
Beyond Kawaii
 
Mystery Keeper's Avatar
 
Join Date: Feb 2008
Location: Russia
Posts: 711
Nothing was printed. I would tell if anything was. First it printed that d2vsource was not loaded. I figured I had to move d2vsource.dll to the standard folder. I usually load plugins from independent special folder. Sorry, but for several more days I shan't be able to provide samples. Oh, and the video was an NTSC .vob with LPCM stereo sound.
__________________
...desu!

Last edited by Mystery Keeper; 31st July 2016 at 21:29.
Mystery Keeper is offline   Reply With Quote
Old 9th December 2016, 20:13   #16  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 723
No one has complained about anything in a while, so here is v2: https://github.com/dubhater/D2VWitch/releases/tag/v2. It's pretty much the same as the last preview.

Code:
   * Rename the executable from "D2VWitch" to "d2vwitch" because no one likes typing commands with capital letters in them.
   * Remux LPCM audio into Wave 64 instead of producing unusable audio files.
   * Guess the channel layout for LPCM audio on DVDs based on the number of channels, instead of saying it has zero channels.
   * Fix occasional crash when demuxing LPCM audio.
   * Give audio files proper extensions instead of .audio.
   * Add option --input-range, which sets the YUVRGB_Scale field according to the video's colour range. Make it default to limited range.
   * Add a graphical interface, launched when no command line parameters are supplied.
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 18th December 2016, 21:07   #17  |  Link
Sangan
Registered User
 
Join Date: Dec 2014
Posts: 17
I am having serious problems compiling this on a mac ... Mac OS Sierra. it mainly hangs with this at the ./configure step (the ./autogen.sh runs through smooth):
Quote:
Package Qt5Core was not found in the pkg-config search path.
Perhaps you should add the directory containing `Qt5Core.pc'
to the PKG_CONFIG_PATH environment variable
No package 'Qt5Core' found
checking for QT5WIDGETS... no
configure: error: Package requirements (Qt5Widgets) were not met:

No package 'Qt5Widgets' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables QT5WIDGETS_CFLAGS
and QT5WIDGETS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
And I am totally at a loss. I brew installed qt5, but from what I found on the net, qt5 for some reason doesnt want to install with neither the said widget nor the core, and because it doesn''t affect homebrew, there is only a cryptic work around I don't understand...
Would you kindly be able to try make binaries for Mac too? If you find the time?

Last edited by Sangan; 18th December 2016 at 21:22. Reason: a missing 'P' and point at where the problems occur
Sangan is offline   Reply With Quote
Old 19th December 2016, 12:34   #18  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 723
Quote:
Originally Posted by Sangan View Post
I am having serious problems compiling this on a mac ... Mac OS Sierra. it mainly hangs with this at the ./configure step (the ./autogen.sh runs through smooth):

And I am totally at a loss. I brew installed qt5, but from what I found on the net, qt5 for some reason doesnt want to install with neither the said widget nor the core, and because it doesn''t affect homebrew, there is only a cryptic work around I don't understand...
Would you kindly be able to try make binaries for Mac too? If you find the time?
I have no Apple products.

Is there no Qt5Core.pc anywhere on your computer? Because the error message tells you exactly what you need to do.
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 19th December 2016, 14:22   #19  |  Link
Sangan
Registered User
 
Join Date: Dec 2014
Posts: 17
Actually, there is, yes, I found it (usr/local/Cellar/qt5/5.7.0/lib/pkgconfig/Qt5Core.pc - the Qt5Widgets.pc is there too). So I need to edit the PKG_CONFIG_PATH to set the path right? Where do I do that? (Sorry, I am a real noob with this)
Sangan is offline   Reply With Quote
Old 19th December 2016, 16:32   #20  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 723
Quote:
Originally Posted by Sangan View Post
Actually, there is, yes, I found it (usr/local/Cellar/qt5/5.7.0/lib/pkgconfig/Qt5Core.pc - the Qt5Widgets.pc is there too). So I need to edit the PKG_CONFIG_PATH to set the path right? Where do I do that? (Sorry, I am a real noob with this)
It's an environment variable:
Code:
PKG_CONFIG_PATH=/usr/local/Cellar/qt5/5.7.0/lib/pkgconfig ./configure
make
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 07:53.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.