you-apps / RecordYou

Privacy focused recorder app built with MD3
https://you-apps.net
GNU General Public License v3.0
739 stars 30 forks source link

wikimedia commons supported video format #177

Closed ghost closed 9 months ago

ghost commented 1 year ago

Describe your suggested feature

Other details

No response

Acknowledgements

SilverPuppy commented 1 year ago

Those are older formats, but adding Theora support should be really easy, I'd imagine, as it was FOSS from the beginning. MPEG1 and MPEG2 were patent-encumbered at one time, but they have apparently lapsed. MPEG2 is well supported with FOSS libraries as well. None of the formats they support give the quality at a given bitrate that h264 and h265 offer, but I understand why they wish to avoid them, and agree it's probably a good idea.

SilverPuppy commented 9 months ago

Which webm CODECs does the webm support just added offer? They're quite specific about which ones are acceptable.

SuhasDissa commented 9 months ago

VP8 and VP9

SilverPuppy commented 9 months ago

VP8 and VP9

That definitely will resolve the issue, and probably those are the best options from the available ones. Thank you very much for the time and effort you invested in this.

SuhasDissa commented 9 months ago

Please not that VP9 codec was added in Android 13. So you'll need a newer device to use VP9. VP8 will work on all devices.

SuhasDissa commented 9 months ago

Also, for some reason the audio codec is hardcoded as AAC in the screen recoder. So it will use AAC codec with the chosen video codec.

https://github.com/you-apps/RecordYou/blob/main/app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fbnyro%2Frecorder%2Fservices%2FScreenRecorderService.kt#L103

SilverPuppy commented 9 months ago

Also, for some reason the audio codec is hardcoded as AAC in the screen recoder. So it will use AAC codec with the chosen video codec.

https://github.com/you-apps/RecordYou/blob/main/app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fbnyro%2Frecorder%2Fservices%2FScreenRecorderService.kt#L103

Ouch. That's a huge problem. AAC is patent-encumbered, and not eligible for upload at WikiMedia. It should be using Vorbis or Opus to be eligible. AAC isn't even correct for the WebM standard, which also calls for Vorbis or Opus, although it will usually work, as the Matroska container used for WebM supports AAC, and most players can decode it.

Unfortunately, the work you did resolves the specific feature requested, but reveals a second change needed to fully resolve the OP's request, I.e., to be able to directly record WikiMedia compliant video files.

SuhasDissa commented 9 months ago

@Bnyro is there a reason for hardcoding the AAC codec for screen recordings?