-
Notifications
You must be signed in to change notification settings - Fork 346
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove NuppelVideoRecorder #935
base: master
Are you sure you want to change the base?
Conversation
Does this mean that those that have (potentially) decades worth of nupplerecorder'ed recordings will suddenly be unable to play those recordings and the project will not, as part of an upgrade, automatically transcode (with 1 to 1 guaranteed quality accuracy) those recordings to something fully supported? |
This does not change how .nuv files are played: they are still demuxed and decoded by FFmpeg. This removes the ability to create new .nuv files (since FFmpeg only has a demuxer). Existing .nuv files will still play as is and do not need to be transcoded. (I only have a single small .nuv sample, but it plays fine). FFmpeg only uses liblzo for testing. FFmpeg needs libmp3lame for encoding MP3 audio, but it does have other audio encoders and can copy streams from the input to the output without decoding and encoding them. |
In the past, removing features (not forced by circumstances outside of the projects control) were announced in the current master (warnings with deprecation when used) and removed in the master next, giving time for people to convert to something different (with documentation as to the recommended alternative). So, announce now, with STRONG deprecation warnings in the logs in v35 (which will be the first time most will see the warnings), and remove no earlier than v36. Of course the developers may, again, say, damn the torpedoes, and move faster if they choose. |
I suppose that makes sense, but we need input from the others. Adding something like:
to the NuppelVideoRecorder constructor could work, but I have no idea what the changed settings would be. |
I do not believe the nuppelvideo recorder works any more. A couple of years ago I configured a USB camera in mythtv as a capture card to see whether it would work. When I created a test recording, the log said it was using nuppelvideo, but nothing was created and the recording failed with numerous errors. |
A mailing list comment from 2017 says they thought there was agreement to drop support for non-hardware recorders after 29, so this removal has been discussed off and on for quite some time. I know I brought it up in 2019. |
If it doesn't work then there is no problem removing it. @bennettpeter can you test it again? Could MpegRecorder or V4L2encRecorder be used instead? (I couldn't find any documentation on what those were for.) If we did want to support a software encoding recorder, it should use FFmpeg. If we don't, it should be possible to set up an external recorder (probably using FFmpeg) to do that. |
An external recorder can be used. i tested it and put it here : https://github.com/bennettpeter/MythTV-V4L2Capture I will test it again. |
9578604
to
c3d0c58
Compare
@bennettpeter did you have a chance to test if NuppelVideoRecorder works? |
38d50e5
to
4a1fcf9
Compare
Rebased onto master, fixing up the qmake project files from moving ffmpeg-mmx.h and removing the now unused @bennettpeter did you have a chance to test if NuppelVideoRecorder works? |
This format uses JPEG and MP3 and has not been useful for a long time. This is equivalent to always disabling CONFIG_LIBMP3LAME, which is the default. copyaudio and copyvideo are now always false, so I have removed them.
libmp3lame and liblzo are now unused by MythTV; FFmpeg uses liblzo only for testing and can use libmp3lame to encode MP3 audio if enabled. The following were only used by NuppelVideoRecorder and removed: go7007_myth.h RTjpegN.h, RTjpegN.cpp remove libmythtv/docs: NuppelVideo: LICENSE README RTjpeg: LICENSE.jpeg LICENSE.rtjpeg README.rtjpeg LICENSE.XJ: As far as I can tell, this was for code that was removed in 2019 in 3d259ba
I'm not sure if we want to keep the CMake stuff to build libmp3lame when building FFmpeg. I have also left the Windows version of libmp3lame in platform/.
moving the used items to where they are used.
replacing the current mmx.h, whose extra values are unused
It was unused but included by NuppelVideoRecorder.
They were only used by MythTranscodePlayer so move them there.
UpdateStoredFrameNum(), WriteStoredData(), ClearStoredData()
NuppelVideoRecorder::FormatTT() was the only user of VBIData::teletextpage, so vbi_event() now has no effects. Since no data is ever extracted, the calls to vbi_add_handler() and thus vbi_open() are now pointless and can be removed. V4LRecorder::m_palVbiCb and m_palVbiTt will then always be nullptr, so they can be removed. After copying the value of the VT_WIDTH constant to its use in cc608reader.cpp, the vbitext directory is now unused and can be removed.
4a1fcf9
to
6dda4ba
Compare
See https://github.com/MythTV/mythtv/projects/4#card-46810801
This reduces external code included in MythTV. MythTV no longer directly uses liblzo or libmp3lame.
@linuxdude42 this is confusing syntax with the unused parameter
mythtv/mythtv/libs/libmythtv/CMakeLists.txt
Line 245 in b8de924
I have removed the instructions for CMake to build liblzo or libmp3lame, but FFmpeg can use them if they exist, so maybe we want to still build them?
Checklist