Speeding up and reducing resolution of videos

Sometimes it is necessary to speed up videos and/or reduce the resolution. This will typically result in a much small file size. ffmpeg and avconv allow video file manipulation on the command line.

These commands work on Debian 10, and will likely work on Ubuntu and other Linux distributions.

Speed up video, 2× speed:
ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" output.mp4
Reduce resolution down to 1280×720:
ffmpeg -i input.mp4 -s 1280x720 output-small.mp4

Note that the metadata of the video, such as the resolution, can be read with the utility:
mediainfo

Throttling Ethernet connection on Linux

Often for testing purposes it is necessary to restrict the speed of a network connection.

This can be achieved using the netem module to tc.

For example, to restrict the bandwidth on eth0 to classic dial-up speeds use the command:

tc qdisc add dev eth0 root netem rate 56kbit

This can be cleared with:

tc qdisc del dev eth0 root netem rate 56kbit

Alternatively, this rule can be executed on an Ethernet Bridge so that it is independent of the device being tested.

ISC-DHCP-Server – disable dhcpv6 (Debian 9)

The isc-dhcp-server included in Debian 9 will attempt to start a DHCPv6 instance on servers which have a dual-stack (IPv4 & IPv6) config.

If DHCPv6 is unconfigured because for example, Router Advertisements are used for configuring IPv6 hosts, then the service will fail to start. The DHCP(v4) is running but Systemd reports the service as failed.

One work-around is to force isc-dhcp-server to only start the v4 instance, add the following line to /etc/default/isc-dhcp-server:

INTERFACESv4=eth0

where eth0 is the interface on which DHCP requests should be serviced.

After restarting the service, the DHCP server shall now only run on v4 and as long as the v4 config is correct, Systemd will report the service as successfully started.

Mounting Android phone over USB on Debian

Debian Stretch

Using the following steps an Android phone can be mounted over USB by a Debian Linux system.

  • apt-get install jmtpfs
  • connect phone and select data transfer over USB
  • jmtpfs /mnt/phone

At this point, my phone prompts me whether or not to allow this connection. I select allow, but it is too late for the computer and any attempts to browse the directory /mnt/phone result in i/o errors. Unmounting and remounting without changing anything on the phone and leaving it connected, is a work-around for this issue.

  • umount /mnt/phone
  • jmtpfs /mnt/phone

Do work.

  • umount /mnt/phone