Kalcifer

joined 11 months ago
[–] Kalcifer@sh.itjust.works 3 points 3 days ago

T460, by my experience, has been perfect.

[–] Kalcifer@sh.itjust.works 1 points 1 week ago* (last edited 1 week ago) (1 children)

So, I bought an EasyCap device and ran some tests. I encountered a few things that I don't quite understand, and I would really appreciate your input!

I used a test VHS tape that I purchased at a thrift store (I'm not 100% sure if it's NTSC or PAL, but I'm decently confident that it's NTSC) (I'm also not sure what its aspect ratio is — I think it's either 1.33:1 or 4:3). I'm playing the tape in a PV-D4745S-K VCR. I have the composite out of the VCR going into the aforementioned capture device which is connected to a computer running Arch Linux.

First, I used the following ffmpeg capture settings:

ffmpeg -i /dev/video2 out.mkv

After capturing a short snippet of the test tape, I probed its metadata with ffprobe -i out.mkv, and saw that it was strangely in 25FPS, and 720x576 (which caused the video to be stretched vertically slightly), which is PAL. So, somehow the NTSC VHS being played in an NTSC VCR was being converted to PAL. In addition to that, the colors in the video were very overexposed. I tried a bunch of different manual settings like specifying interlacing with -vf "interlace", -standard ntsc, -vf scale=720:480, -vf fps=29.97, -standard NTSC, and none of them solved the issue. I then came across this answer on StackOverflow which stated that capture cards themselves have settings for the video feed, and ffmpeg can modify them with the -show_video_device_dialog true option. From the ffmpeg documentation:

show_video_device_dialog

If set to true, before capture starts, popup a display dialog to the end user, allowing them to change video filter properties and configurations manually. Note that for crossbar devices, adjusting values in this dialog may be needed at times to toggle between PAL (25 fps) and NTSC (29.97) input frame rates, sizes, interlacing, etc. Changing these values can enable different scan rates/frame rates and avoiding green bars at the bottom, flickering scan lines, etc. Note that with some devices, changing these properties can also affect future invocations (sets new defaults) until system reboot occurs.

Unfortunately, when trying this option, an error popped up saying that the option was unrecognized. After some digging, and prompting ChatGPT, I found that apparently that option is Windows only as it relies on Windows' "DirectShow system". The way to modify it in Linux is to use the Video4Linux2 framework, which is controlled with v4l2-ctl. So, I ran the following:

v4l2-ctl --device=/dev/video2 --list-formats-ext

which showed the following entry:

...
[0]: 'YUYV' (YUYV 4:2:2)
    size: Discrete 720x480
...
        Interval: Discrete 0.033s (30.000 fps)
...

So it is able to output NTSC — ie 720x480 at 29.97fps (I guess it rounds up the fps for whatever reason). So I then tried

ffmpeg -f v4l2 -video_size 720x480 -i /dev/video2 out.mkv

and it was able to output the video at 720x480 29.97 fps as desired, and the colors were no longer super overexposed. Using the -vf "interlace" flag, I do seem to also be able to capture interlaced video, so it also doesn't force progressive which is nice.

I thought that the capture card would be able to just autodetect what the input resolution was to allow ffmpeg to record at that, or at the very least, I would expect that specifying NTSC in ffmpeg would force the standard, but neither of those worked and I'm not sure why. There's also still an ongoing issue of the video being zoomed in/cropped slightly (I verified this by comparing against online sources of the same video (some were a VHS rip, others from non-VHS sources)). I tested the VCR's output on a regular TV, but unfortunately the TV forced 4:3 and cropped it even more, so I wasn't able to make a perfect comparison, though that was only additional horizontal cropping — the vertical cropping from before was still present. To be able to verify that, I'll have to pick up another test VHS tape to see if perhaps the test VHS tape that I currently have was just recorded in a cropped format.

[–] Kalcifer@sh.itjust.works 1 points 2 weeks ago

So, are you saying that your claim is conjecture? Or, perhaps, simply anecdotal?

[–] Kalcifer@sh.itjust.works 0 points 2 weeks ago

libertarians aren’t a thing

[Libertarians] are republicans that are too embarrassed to identify as such publicly

Be careful to not make hasty generalizations.

[–] Kalcifer@sh.itjust.works -1 points 2 weeks ago (2 children)

To be fair, Libertardians also care about lowering the age of consent!

Based on what are you making this claim?

[–] Kalcifer@sh.itjust.works 0 points 2 weeks ago (1 children)

being libertarian is only marginally less embarrassing [than being a Republican] anyway

What about libertarianism is embarrassing to you?

[–] Kalcifer@sh.itjust.works 42 points 2 weeks ago* (last edited 2 weeks ago) (18 children)

Why does it seem that so many of those who claim that they're libertarians are not actually libertarians?

[–] Kalcifer@sh.itjust.works 1 points 2 weeks ago* (last edited 2 weeks ago) (3 children)

It seems to be an EasyCAP clone, there are several devices in this form factor with different chipsets.

Good to know! That link has a lot of good information.


This capture device seems to be labeled as “BR116” based on photos in reviews, which can help identifying the chipset. BR116 is sold by Conrad and its manual by them mentions “STK1160” in a screenshot, so this Amazon one most likely also uses the STK1160 chip, which was one of the worst ones in this timebase stability test (which means it has no TBC). However, it’s alright if your VCR is a late model that already does TBC internally.

Noted! I will keep this in mind.


I came across this video about digitizing VHS tapes [1]. It talks about hardware to use, and hardware to avoid [1.6]. One of the examples that it gives for hardware to avoid seems to be a clone of the device that I was looking at on Amazon [1.2]. The rationale for why it should be avoided was that it doesn't pass both fields of the interlaced video through independently [1.1]. Though, you have mentioned that it's fine to capture the video interlaced, so perhaps this isn't a big deal-breaker. The capture cards that the video recommends are:

  • IO-Data GV-USB2 [1.3]
  • StarTech.com SVID2USB232 [1.4]
  • Dazzle DVC-100 v1.1 [1.5]

References

  1. "How to convert VHS videotape to 60p digital video". The Oldskool PC. YouTube. Published: 2023-02-07. Accessed: 2024-09-14T21:09Z. https://www.youtube.com/watch?v=tk-n7IlrXI4.
    1. T00:03:56
    2. T00:04:08
    3. T00:04:38
    4. T00:04:59
    5. T00:05:19
    6. T00:03:50
[–] Kalcifer@sh.itjust.works 6 points 2 weeks ago* (last edited 2 weeks ago)
 

there is no worry about keeping to our release date of October 21st [for Factorio: Space Age and Factorio 2.0] [1].

References

[–] Kalcifer@sh.itjust.works 1 points 2 weeks ago (5 children)

Get an actual composite capture card for the job.

Ha, honestly, I wish that I would've done this to begin with. It's way cheaper, and simpler to get the one composite capture card rather than converting composite to HDMI, then capturing HDMI. I'm honestly not entirely sure why I did the latter — perhaps it's because I was under some presumption that such a device wouldn't exist (which, now, I realize is an obviously silly assumption to make). I found this one. It's still just a generic capture card, but it's a direct composite capture. Do you think that it would suffice?

[–] Kalcifer@sh.itjust.works 1 points 2 weeks ago (1 children)

Check that the output is indeed interlacd

Is it possible to see this in OBS? I see an option to select an interlacing technique if I right click the scene


Look at stats/logs to see of any frames are dropped and investigate if it’s just the 59.94 Hz compensation

Are you referring to "stats/logs" within OBS?


make sure to disable auto-gain or else quiet sections will get boosted like crazy, increasing the noise.

If you are referring to a toggle on the capture card or the converter, neither have a button for that, so I think my setup is fine in that regard?

[–] Kalcifer@sh.itjust.works 1 points 2 weeks ago (7 children)

This was very informative! Thank you for your comment!


you should check that the video output is actually at [59.94 Hz]

How does one measure the input frequency of the video feed? I'm not aware of OBS being able to monitor the frequency/refresh-rate of individual input devices, but I could certainly be wrong.


Don’t use the converter if it cannot output 480i or at the very least 480p! Scaling should happen during playback, the files should be original resolution.

I looked on Amazon again, and it seems that every converter being sold only outputs 720p, or 1080p — none of them simply repeat the input resolution, eg 480p or 480i. Would you have a converter in mind that would accomplish this?


I’d just clean the VCR after every tape if I suspect mold. You’d still need to clean the cleaning VCR after every tape to avoid cross-contamination

Do you have any resources that you would recommend for proper cleaning of a VCR?

 

I have a bunch of old VHS tapes that I want to digitize. I have never digitized VHS tapes before. I picked up a generic HDMI capture card, and a generic composite to HDMI converter. Using both of those, I was planning on hooking a VCR up to a computer running OBS. Overall, I'm rather ignorant of the process. The main questions that I currently have are as follows:

  • What are the best practices for reducing the risk of damaging the tapes?
  • Are there any good steps to take to maximize video quality?
  • Is a TBC required (can it be done in software after digitization)?
  • Should I clean the VCR after every tape?
  • Should I clean every tape before digitization?
  • Should I have a separate VCR for the specific purpose of cleaning tapes?

Please let me know if you have any extra advice or recommendations at all beyond what I have mentioned. Any information at all is a big help.

 

Solution

This is a bug in KDE Plasma [1.1][2]. It appears that it might be fixed in KDE Plasma v6.2 [1.2][3].

Original Post

I have noticed this behavior with Element and Signal while playing Deadlock. The game will have a pretty severe stutter, ie the frame-rate will substantially dip, for half a second or so at the exact moment that a message is received. It seems to happen with every message. Do note that these are only messages that would result in a system notification. All other messages that are silent, ie they have no pop-up notification, do not result in any stutter.

  • OS: Arch Linux, Kernel: v6.6.49-1-lts
  • DE: KDE Plasma v6.1.4
  • WM: Wayland
  • CPU: Intel Core i5-4690k
  • GPU: AMD Radeon RX 6600

Updates

  • I have tried disabling this setting in Deadlock:
  • I have tried windowed-borderless
  • I have noticed that the moment that the stutter occurs, my CPU spikes maybe 20% and my GPU drops to 0%.

References

  1. @narc0tic_bird@lemm.ee. "Have you ever experienced stuttering in a game if you receive a message in a desktop messaging app during gameplay?". sh.itjust.works. Lemmy. Published: 2024-09-09T23:12:24Z. Accessed: 2024-09-10T00:03Z. https://sh.itjust.works/comment/13818926. https://lemm.ee/comment/14674507.
    1. it’s a bug in KDE Plasma

    2. [the bug] might be fixed [in KDE Plasma] 6.2

  2. "Bug 487780: Fullscreen game stutter when Plasma receives notifications.". Robert. bugs.kde.org. Published: 2024-05-30T03:58Z. Accessed: 2024-09-10T00:06Z. https://bugs.kde.org/show_bug.cgi?id=487780.
  3. Zamundaaa. "Bug 487780: Fullscreen game stutter when Plasma receives notifications.". bugs.kde.org. Published: 2024-08-19T12:01:08Z. Accessed: 2024-09-10T00:13Z. https://bugs.kde.org/show_bug.cgi?id=487780#c13.

    There are some remaining code paths that can block direct scanout - namely effects that haven't been fixed, or that may need to block direct scanout in some situations. There's a new API in 6.2 that effects can use though, https://invent.kde.org/plasma/kwin/-/merge_requests/6203, which blocks direct scanout only when really necessary. It's implemented for all built in effects, and external javascript effects automatically make use of this API too.

 

References

20
submitted 1 month ago* (last edited 1 month ago) by Kalcifer@sh.itjust.works to c/privacy@lemmy.world
 

Git records the local timezone when a commit is made [1]. Knowledge of the timezone in which a commit was made could be used as a bit of identifying information to de-anonymize the committer.

Setting one's timezone to UTC can help mitigate this issue [2][3] (though, ofc, one must still be wary of time-of-day commit patterns being used to deduce a timezone).

References

  1. Git documentation. git-commit. "Date Formats: Git internal format". Accessed: 2024-08-31T07:52Z. https://git-scm.com/docs/git-commit#Documentation/git-commit.txt-Gitinternalformat.

    It is <unix-timestamp> <time-zone-offset>, where <unix-timestamp> is the number of seconds since the UNIX epoch. <time-zone-offset> is a positive or negative offset from UTC. For example CET (which is 1 hour ahead of UTC) is +0100.

  2. jthill. "How can I ignore committing timezone information in my commit?". Stack Overflow. Published: 2014-05-26T16:57:37Z. (Accessed: 2024-08-31T08:27Z). https://stackoverflow.com/questions/23874208/how-can-i-ignore-committing-timezone-information-in-my-commit#comment36750060_23874208.

    to set the timezone for a specific command, say e.g. TZ=UTC git commit

  3. Oliver. "How can I ignore committing timezone information in my commit?". Stack Overflow. Published: 2022-05-22T08:56:38Z (Accessed: 2024-08-31T08:30Z). https://stackoverflow.com/a/72336094/7934600

    each commit Git stores a author date and a commit date. So you have to omit the timezone for both dates.

    I solved this for my self with the help of the following Git alias:

    [alias]
    co = "!f() { \
        export GIT_AUTHOR_DATE=\"$(date -u +%Y-%m-%dT%H:%M:%S%z)\"; \
        export GIT_COMMITTER_DATE=\"$(date -u +%Y-%m-%dT%H:%M:%S%z)\"; \
        git commit $@; \
        git log -n 1 --pretty=\"Autor: %an <%ae> (%ai)\"; \
        git log -n 1 --pretty=\"Committer: %cn <%ce> (%ci)\"; \
    }; f"
    


Cross-posts:

81
submitted 1 month ago* (last edited 1 month ago) by Kalcifer@sh.itjust.works to c/privacy@lemmy.ml
 

Git records the local timezone when a commit is made [1]. Knowledge of the timezone in which a commit was made could be used as a bit of identifying information to de-anonymize the committer.

Setting one's timezone to UTC can help mitigate this issue [2][3] (though, ofc, one must still be wary of time-of-day commit patterns being used to deduce a timezone).

References

  1. Git documentation. git-commit. "Date Formats: Git internal format". Accessed: 2024-08-31T07:52Z. https://git-scm.com/docs/git-commit#Documentation/git-commit.txt-Gitinternalformat.

    It is <unix-timestamp> <time-zone-offset>, where <unix-timestamp> is the number of seconds since the UNIX epoch. <time-zone-offset> is a positive or negative offset from UTC. For example CET (which is 1 hour ahead of UTC) is +0100.

  2. jthill. "How can I ignore committing timezone information in my commit?". Stack Overflow. Published: 2014-05-26T16:57:37Z. (Accessed: 2024-08-31T08:27Z). https://stackoverflow.com/questions/23874208/how-can-i-ignore-committing-timezone-information-in-my-commit#comment36750060_23874208.

    to set the timezone for a specific command, say e.g. TZ=UTC git commit

  3. Oliver. "How can I ignore committing timezone information in my commit?". Stack Overflow. Published: 2022-05-22T08:56:38Z (Accessed: 2024-08-31T08:30Z). https://stackoverflow.com/a/72336094/7934600

    each commit Git stores a author date and a commit date. So you have to omit the timezone for both dates.

    I solved this for my self with the help of the following Git alias:

    [alias]
    co = "!f() { \
        export GIT_AUTHOR_DATE=\"$(date -u +%Y-%m-%dT%H:%M:%S%z)\"; \
        export GIT_COMMITTER_DATE=\"$(date -u +%Y-%m-%dT%H:%M:%S%z)\"; \
        git commit $@; \
        git log -n 1 --pretty=\"Autor: %an <%ae> (%ai)\"; \
        git log -n 1 --pretty=\"Committer: %cn <%ce> (%ci)\"; \
    }; f"
    


Cross-posts:

 

I'm looking for a cheap and portable tablet that I can use for writing. Microsoft Surface Pro tablets, at least around the gen 4 models, are rather cheap to buy used, and they seem decently well made. Naturally, were I to buy one, I would have to install Linux onto it.

I've been peripherally aware of the Linux Surface project for some time now. I looked at it recently, after having not for some time, and it seems that they have really made good progress compared to what I remember, and it's making me much more interested in trying to install Linux on a Surface Pro.

Having never owned a Surface Pro, I'm not sure which models are the most reliable and sturdy. I'm not looking for something that's the flashiest; I want something that works well. I want something pragmatic — something akin to the idea of an older era of Thinkpad (eg T460). I want a pen with low input delay and good accuracy, reliable and responsive touch controls, and a decent display. I was thinking the Surface Pro 4 might be a good choice, but it's hard to know as there aren't many videos out there of people installing Linux on them, so I'm wondering what your experience has been with Microsoft Surface Pro's and installing Linux on one.


Cross-posts:

 

In one of my posts, I noticed this removed comment:

I was curious what it was, so I checked the modlog, but it states that the last mod action in this community occurred a month ago:

What's up with this? Are mod actions being scrubbed from the modlog?

 

I'm looking for a cheap and portable tablet that I can use for writing. Microsoft Surface Pro tablets, at least around the gen 4 models, are rather cheap to buy used, and they seem decently well made. Naturally, were I to buy one, I would have to install Linux onto it.

I've been peripherally aware of the Linux Surface project for some time now. I looked at it recently, after having not for some time, and it seems that they have really made good progress compared to what I remember, and it's making me much more interested in trying to install Linux on a Surface Pro.

Having never owned a Surface Pro, I'm not sure which models are the most reliable and sturdy. I'm not looking for something that's the flashiest; I want something that works well. I want something pragmatic — something akin to the idea of an older era of Thinkpad (eg T460). I want a pen with low input delay and good accuracy, reliable and responsive touch controls, and a decent display. I was thinking the Surface Pro 4 might be a good choice, but it's hard to know as there aren't many videos out there of people installing Linux on them, so I'm wondering what your experience has been with Microsoft Surface Pro's and installing Linux on one.


Cross-posts:

 
 

My config for reflector is currently set as follows:

# Set the output path where the mirrorlist will be saved.
--save /etc/pacman.d/mirrorlist

# Select the transfer protocol.
--protocol https

# Use only the most recently synchronized mirrors.
--latest 200

# Sort the mirrors by synchronization time.
--sort rate

# Return, at most, the following number of mirrors.
--number 20

# Print extra info.
--verbose

I have Reflector set to run as a Systemd service, so it will run when my computer boots.

The "issue" is that I update my system as soon as I boot. Since Reflector is sorting mirrors by their measured download rate, I wonder if downloading updates, or simply doing any action that downloads data, would interfere with those measurements and cause Reflector to choose mirrors that may not be the fastest. I could simply wait for Reflector to finish before using the computer, but it takes quite a while to sort through 200 mirrors.

Is this concern justified? If so, are there ways to mitigate it that don't require me to wait for Reflector to finish? I've thought about setting it as a Pacman hook so that it runs after updating, but, then, that relies on me to perform an update for the mirrorlist to be refreshed, and that still leaves the concern of other actions eating up network bandwidth, thus skewing the measurements.

 

I'm looking for an open-source medication/pill tracking app.

Requirements:

  • Android support
  • Ability to create custom medication/pill entries
  • Ability to set notification reminders for taking pills
  • Ability to arbitrarily create entries at any date/time

Nice-to-haves:

  • Data export/backup
  • Data-at-rest encryption
  • Data visualizations

Cross-posted at https://sh.itjust.works/post/23572611

view more: next ›