CCExtractor / ccextractor

CCExtractor - Official version maintained by the core team
https://www.ccextractor.org
GNU General Public License v2.0
707 stars 422 forks source link

[BUG] After ccextractor compiled within VS2019, hardsubx option does not work #1259

Closed apovalyaev closed 1 year ago

apovalyaev commented 4 years ago

Compilation steps (Win10): 1) https://github.com/CCExtractor/ccextractor 1.1) git clone https://github.com/CCExtractor/ccextractor 1.2) git checkout tags/v0.88 -b master 2) Definitions ENABLE_HARDSUBX and ENABLE_OCR is added Change Build Environment (Project settings) to VS2019, SDK 103) Deliver thirdparty dependencies: Setup Vcpkg the Visual C++ Package Manager. 3.1) git clone https://github.com/Microsoft/vcpkg.git

cd vcpkg PS> .\bootstrap-vcpkg.bat 3.2) To customize for own use, modify triplets/x64-windows.cmake set(VCPKG_CRT_LINKAGE static) set(VCPKG_LIBRARY_LINKAGE static) 3.2.1) Run vcpkg install tesseract:x64-windows 3.2.2) vcpkg install ffmpeg:x64-windows 3.3) vcpkg integrate install 4) Open solution and build it as Release x64

Error details: ccextractorwin.exe -hardsubx ........\test_cases\720p.mp4 CCExtractor 0.88, Carlos Fernandez Sanz, Volker Quetschke. Teletext portions taken from Petr Kutalek's telxcc

HardsubX (Hard Subtitle Extractor) - Burned-in subtitle extraction subsystem Input : ........\test_cases\720p.mp4 Subtitle Color : White OCR Mode : Frame-wise (simple) OCR Confidence Threshold : 0,00 (Default) OCR Luminance Threshold : 95,00 (Default) OCR Italic Detection : Off Minimum subtitle duration : 0.5 seconds (Default) FFMpeg Media Information:- Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '........\test_cases\720p.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 creation_time : 2018-07-19T03:41:56.000000Z Duration: 00:26:06.19, start: 0.000000, bitrate: 207 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 77 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default) Metadata: creation_time : 2018-07-19T03:41:56.000000Z handler_name : ISO Media file produced by Google Inc. Created on: 07/18/2018. Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default) Metadata: creation_time : 2018-07-19T03:41:56.000000Z handler_name : ISO Media file produced by Google Inc. Created on: 07/18/2018. Error: Input codec is not supported!

3) Some preliminary investigation: I traced the code at it looks like wrong "codecid" is returned

cfsmp3 commented 4 years ago

This should be a PR so the VS solution is correct, not instructions on building. If something is missing in definitions, those go in the VS settings for the project.

apovalyaev commented 4 years ago

I think that such kind of issues (this one and #1254 also) might be due to the project is not built correctly. In such cases assert happens without any visible reason, and codecid can get "wrong" (out of enum rang) values. I have tried right the same build schema, EXPECT ffpmeg library is taken not though vcpkg, but project own libs (windows\libs\lib\ffmpeg-lib) is used. And if already build .lib and .dll of ffmpeg is used, ccextractor works fine. I verified it with VS2019 and VS2015 (both Release and Debug build model). I think it might make sense to update windows projects settings ... I will create a pull request shortly.

cfsmp3 commented 3 years ago

@apovalyaev Is this problem fixed on master?

cfsmp3 commented 1 year ago

Closing since no reply.