New camcorder Panasonic HC-WXF1, but issue converting to H.265

UPDATE 2: I did some more reading about h265 and how more modern hardware is needed to properly render it, and since my PC is over 10 years old, that may be part of the artifact issue I’m seeing with h265 and full 4K size video. I’m going to try playing the clips on more modern hardware and see if the clips are the issue or the hardware.

UPDATE: This isn’t a solution, but is a work-around for now since my clients don’t even have 4K TVs. If I resample the 4K camera video down to HD (1920×1080) and compress with h.265, it gives me a very nice quality clip that is small and that doesn’t have artifacts even though I still see the initial error about the missing key frame. Here is the code I will use until I have a solution to leave the clips in 4K:
ffmpeg -i 4K-input-file.mp4 -c:a copy -c:v libx265 -vf scale=1920:-2:flags=lanczos HD-265-output-file.mp4

– – – – – – – – – – – – – – – – – – – – –
I just got my Panasonic HC-WXF1 4K camcorder and it is pretty nice! I’m running some tests to see what I can do with the resulting 4K video so I can predict better what my clients will get when I shoot their music gigs. The first thing I wanted to do was convert to h.265 to shrink the file size. This is a SLOW process, but the quality is typically great (see my previous post).

I did a 30 second video outside as a test. It was encoded by the camera with h.264 into 4K MP4 (3840×2160). I wanted to then convert this to h.265 to conserve space and compare the quality. However, ffmpeg first gives a couple of errors and the resulting video is full of horrible artifacts. The MP4 from the camera is fine on its own, and plays fine in VLC.

Here is a snapshot comparison of the two visuals (resized):
snapshot1

Link to original 30-sec 4K video on YouTube Youtube probably re-encoded it, so no telling if it is the same as what I had.

I tried to link to the converted file showing the artifacts, but YouTube re-encodes videos and that “corrected” for the issue, though it looks kind of lousy.

snapshot2

Here is the code I used:
ffmpeg -i S1000001.MP4 -c:v libx265 -c:a libfdk_aac -crf 28 265-4k.mp4

Here are the errors that ffmpeg shows just prior to encoding:
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5565a45f0a00] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5565a45f0a00] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003

So far, I haven’t seen anyone else report these kinds of errors. The syntax of the error doesn’t bring up any hits. I’m experimenting with converting to an intermediate format in the meantime. Oddly, I even downsampled the video in Corel Video Studio from 4K to standard HD and then tried to convert that via ffmpeg to h.265, thinking that it might be something to do with the frame size. But I got the same error. I’ve tried shooting longer videos as well and had the same result.

I tried converting to TS, which worked fine, but the following conversion from TS to the H.265 was full of the same artifacts. It gave the following errors at the start:
[h264 @ 0x560a620cebc0] non-existing SPS 0 referenced in buffering period
[h264 @ 0x560a620cebc0] SPS unavailable in decode_picture_timing
[h264 @ 0x560a620cebc0] non-existing SPS 0 referenced in buffering period
[h264 @ 0x560a620cebc0] SPS unavailable in decode_picture_timing

All of the errors seem to be related to timing.

When I encode from HD (1920×1080) even from the same camera, I do not get any errors.

The next part is the output of ffmpeg when I do the encoding. I’ve marked in bold the parts that are different than when I encode from HD.

jw@JW-PC:/media/jw/ShareDisk1/4K_CAMERA$ time ffmpeg -i S1020001.MP4 -c:v libx265 -crf 28 -c:a libfdk_aac test.mp4

ffmpeg version N-90524-ge30a37e Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Ubuntu 7.2.0-8ubuntu3.2)
configuration: --prefix=/home/jw/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/jw/ffmpeg_build/include --extra-ldflags=-L/home/jw/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/jw/bin --enable-pic --enable-pthreads --enable-libx264 --enable-libfdk-aac --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx265 --enable-libvpx --enable-version3 --enable-libass --enable-libxvid --enable-postproc --enable-gpl --enable-nonfree
libavutil 56. 12.100 / 56. 12.100
libavcodec 58. 16.100 / 58. 16.100
libavformat 58. 10.100 / 58. 10.100
libavdevice 58. 2.100 / 58. 2.100
libavfilter 7. 13.100 / 7. 13.100
libswscale 5. 0.102 / 5. 0.102
libswresample 3. 0.101 / 3. 0.101
libpostproc 55. 0.100 / 55. 0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559875557a40] st: 0 edit list: 1 Missing key frame while searching for timestamp: 3003
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559875557a40] st: 0 edit list 1 Cannot find an index entry before timestamp: 3003.

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'S1020001.MP4':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42avc1
creation_time : 2018-04-14T16:47:55.000000Z
Duration: 00:00:18.02, start: 0.000000, bitrate: 60862 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 60550 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
Metadata:
creation_time : 2018-04-14T16:47:55.000000Z
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 253 kb/s (default)
Metadata:
creation_time : 2018-04-14T16:47:55.000000Z
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265))
Stream #0:1 -> #0:1 (aac (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
x265 [info]: HEVC encoder version 2.7+20-3440a56acc78
x265 [info]: build info [Linux][GCC 7.2.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
x265 [info]: Main profile, Level-5 (Main tier)
x265 [info]: Thread pool created using 8 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 3 / wpp(34 rows) [HD says 17 rows]
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 2
x265 [info]: Keyframe min / max / scenecut / bias: 25 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / on / on
x265 [info]: AQ: mode / str / qg-size / cu-tree : 1 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress : CRF-28.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 rskip signhide tmvp strong-intra-smoothing
x265 [info]: tools: lslices=8 deblock sao
Output #0, mp4, to 'test.mp4':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42avc1
encoder : Lavf58.10.100
Stream #0:0(eng): Video: hevc (libx265) (hev1 / 0x31766568), yuv420p(progressive), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 30k tbn, 29.97 tbc (default)
Metadata:
creation_time : 2018-04-14T16:47:55.000000Z
encoder : Lavc58.16.100 libx265
Stream #0:1(eng): Audio: aac (libfdk_aac) (mp4a / 0x6134706D), 48000 Hz, stereo, s16, 139 kb/s (default)
Metadata:
creation_time : 2018-04-14T16:47:55.000000Z
encoder : Lavc58.16.100 libfdk_aac
frame= 21 fps=0.0 q=0.0 size= 0kB time=00:00:00.46 bitrate= 0.8kbits/sframe= 28 fps= 12 q=0.0 size= 0kB time=00:00:00.96 bitrate= 0.4kbits/s

Advertisements

FFMPEG using x265 vs x264

I just recompiled ffmpeg (see previous post for that bit of hell) and included h.265 encoding. I’m going to be processing 4K video soon, so wanted to get the hang of this codec. It works with any video, of course, but up until today I hadn’t used it.

The command line is very similar to x264, but includes a new parameter “crf” (constant rate factor). This can also be used for x264, but until now I never used it.
For x265 28 is the default rate in the range of 0-51.
For x264 23 is the default in the recommended range of 18-28.

Lower number = higher quality (lower compression) and larger file size.
Higher number = lower quality (greater compression) and smaller file size.

ffmpeg -i pam.m2ts -c:v libx265 -c:a libfdk_aac -crf 28 pam_265.mp4

The file size difference between raw, x264, and x265 is amazing!

My current HD video camera produces MTS high-def files.
Here are the file sizes for a 12 minute clip:
MTS: 830MB
x264: 439MB (not quite half the size of MTS)
x265: 122MB (about 1/7 the size of MTS!)

To my eyes, there was no discernible difference in quality, using the default settings. x265 seems like a great codec for file sharing and should save a ton of space when I’m uploading video clips for singers. That assumes they will be able to view the clips. Microsoft Windows does not by default play MP4 files (by choice, even though millions use this format). One has to install a 3rd party media player or codec package for Windows to play MP4. VLC is one common 3rd party media player.

FFMPEG “stack smashing detected”

I wanted to encode some new video I shot with h.265 and hadn’t included that in ffmpeg configuration previously. So I began removing ffmpeg sources from previous installs, and recompiling all the libraries and then the main program. After all was done, I tried encoding and got an error I hadn’t seen before (and apparently isn’t common or I would have found an answer by searching).  I saw:

*** stack smashing detected ***: terminated
Aborted (core dumped)

After much experimentation I found that it is somehow tied to ffmpeg trying to use any audio library. If I skip audio with -an or copy, then the file will be produced. Any attempt at using an audio library of any kind produces the stack smashing error.

I’m still plugging away at it trying to find a solution or find an error in compiling. No luck yet.

UPDATE:
I wiped and reloaded ffmpeg x264 x265 and reloaded according to the Ubuntu guide for installing ffmpeg, but I found I had to add a couple of things to get the static x264 to work (otherwise during make, x265 would complain about needing to be recompiled with fPIC)

Once I did the git clone for x264 as described on the guide, I did these steps
cd x264
./configure --enable-static --enable-pic
make
sudo make install
sudo ldconfig

“ldconfig creates the necessary links and cache (for use by the run-time linker, ld.so) to the most recent shared libraries found in the directories specified on the command line…” See the man page for full description.

With the enable-pic option during configure, the static build worked. I then tried ffmpeg again and all was well.

New PC time – 4K video editing – But then… Intel SGX

I’m buying a new Panasonic HC-WXF1 4K video camera for recording local jazz singers (one of my hobbies). But my 10-year-old PC isn’t going to handle that kind of processing. It already takes its sweet time doing regular HD video.

So I’m busy putting together the specs on my new system, with a hot new processor and 32GB of fast RAM. I’ve been looking at the ASRock X299 Taichi XE and the new Intel i9-7960 processor. That is, I was until a minute ago when I read that the latest greatest processor and the X299 chipset from Intel doesn’t support their own Intel SGX! SGX is yet another Digital Rights Management hoop that was added to the pile, and it is required for doing playback of 4K/UHD movies from BluRay, and may affect online streaming of 4K.

Ho-ly-shit. What were they thinking leaving that out of the chipset?! Additionally, the motherboard has to have SGX support built into the BIOS even of your processor (like the i7-7700K) supports it. Some boards apparently don’t have the available memory to store the SGX firmware, so consumers that bought these boards are out of luck. X299 used to support full playback, but then the manufacturers decided to add more DRM requirements, and that broke the ability of these motherboards to playback or view streaming 4K.

ASRock support says “Unfortunately, the Intel X299 CPU (Skylake-X + Kabylake-X) don’t support Intel SGX function.” (see review by Jeremy S.)

Yes, I can still edit my own video, as far as I know. But still, for Intel to be that out of touch with their own stuff is insane. Will SGX be required for receiving streaming 4K? Industry, MAKE IT EASIER ON CONSUMERS WHO PAY BIG BUCKS TO WATCH YOUR STUFF!

https://canicompare.com/en/processors/intel-core-i9-7960x-specification/compare-intel-core-i9-7960x-and-find-compatible-parts-pbvsCs.html

I’m happy to update if this information is not correct. It was shocking to read tonight on the Newegg review, and then other sites that confirmed it. I’m hoping it isn’t as nasty as it sounds right now. The flip side is that I’ve never bought a BluRay since my earlier experiences with DRM prevented me from viewing rented movies on a player that was a year old. Honestly, DRM is such a pain for consumers, and pirates get around it nearly as soon as a new kind is released. I wish the industry would quit punishing consumers with these hoops.

From other forums I saw this from an owner of :
“What it WONT play is:
4k Netflix streams
4k Amazon Prime video streams
4k BluRay disks.

What it will play:
Any 4k content with DRM removed. This is very simple.”

Monitors have to be HDCP 2.2 compliant (not just 2.0)

Apparently only Intel graphics chipsets are allowed to pass the signal due to Digital Rights Management. There is no intention or ability for motherboard makers to update the boards already sold that do not have SGX incorporated into the BIOS (and which were not designed with space to incorporate SGX).

To get 4k/60hz, you have to use a DisplayPort cable and have a monitor that accepts it, and a graphics card with that port. HDMI cable limits the output to 24Hz, at least on certain monitors (check specs).

Wireless bridge failure (after years of working)

I posted a few years back about a wireless bridge I set up to send camera signals across an area that could not be wired. It has been working fine since then, but then suddenly dropped off and stopped sending the camera video. I’ve been using Linksys WRT1200ac routers with no issues up to this point, 2.4GHz wireless “n” due to the antenna style.

I did the basic troubleshooting first at the remote end, testing the local POE switch that powers the cameras, pinging the cameras from the switch, pinging all of the above from the router, and all tested fine. Then I went to the receiving side and everything on that side all tested fine as well. The issue was the wireless portion was not talking. Neither router showed any sign of communication on the panel lights.

I checked the large dish antennas for physical damage (none), checked the cabling for rodent or lightning damage (none), checked the signal from the receiving end while standing at the remote building (strong signal). I set up the remote router temporarily as a standard router and tested the signal coming from it to the receiving building (strong). That told me that the antennas were fine, and each router was capable of sending a strong signal.

I set up the sending router as a wireless bridge again and took it to the same room as the receiving router, and tried them just a few feet apart. No communication, even though the sending router will not go into wireless bridge mode if it can’t find the receiving router. Very odd. That told me that one or both routers were having issues receiving.

Today I replaced the wireless bridge router in the remote building with a new one (same model, but v2). It showed a powerful signal from the receiving unit and went into wireless bridge mode. I was able to ping the receiving router and some cameras on that side. I thought all was resolved. But when I got back to my shop, the cameras were still not recording (meaning they were not visible from the receiving end). Crikey!

Tomorrow I’m going to try replacing the receiving router with a new one and see if that resolves this problem. I’m sure that some electronics can go wonky after a few years of use, but can’t yet confirm exactly what the issue is. I found that the old router from the remote building works fine on 5GHz, so am planning to use it for another camera route on that site based on the higher band. I’ll update as I figure things out.

UPDATE: It turned out that both of the version 1 routers had lost their ability to receive over the 2.4GHz bandwidth. They transmitted fine, but they weren’t receiving reliably. I replaced both with new version 2 routers and everything is working again. I found that the old v1 routers still worked fine on 5GHz ac, so I re-purposed them on a new wireless camera network using the standard antennas that come with the router, but on extender cables. Each antenna is in a small plastic box on the outside of their respective buildings, only about 40 feet from each other, line of sight. Works great so far.

UPDATE 2: We also bought the newer Linksys EA8300 (AC2200) as a backup. I found that it will not go into wireless bridge mode in the high range of 5GHz (5GH-2 on this router). It works fine in the lower range (5GH-1) and 2.4GHz. That seems odd to me, and not sure if one or both of them have an issue with broadcasting or receiving on the higher range. The high range works fine on the older router (WRT1200ac).

Playonlinux error on start

When I was trying to run Playonlinux from an icon, nothing ever appeared. I started a terminal and ran it, and got the python error:

ImportError: cannot import name _remove_dead_weakref

I didn’t find much on this, but after a lot of searching found this site and the final answer that fixed it for me:

https://askubuntu.com/questions/903004/playonlinux-wont-start-ubuntu-16-04/903047#903047

Edit this file:

/usr/share/playonlinux/bash/find_python

And change the following from:

next_python "python"
next_python "python2.7"
next_python "python2.6"
next_python "python2"
next_python "none"

to:

next_python "/usr/bin/python" #This line was added
next_python "python"
next_python "python2.7"
next_python "python2.6"
next_python "python2"
next_python "none"

That fixed it for me!

Zillion connections to Google, Amazon, Twitter and others when Firefox opened after deleting cached files

I noticed that when I opened my Firefox browser (58.0.2 64-bit Linux), the connection light on my router kept blinking for a long time. I did a netstat -t command to find out to what I was connecting. To my surprise, it was a LOT more than Google.

It apparently has something to do with deleting cached files or folders, as I show later.

Here is an approximate listing of what I should see (all of the “sea15” servers are Google):
tcp 0 0 JW-PC:46562 server-13-32-178-:https ESTABLISHED
tcp 0 0 JW-PC:54168 sea15s12-in-f195.:https ESTABLISHED
tcp 0 0 JW-PC:49378 sea15s07-in-f68.1:https ESTABLISHED

Instead, here is a listing of what I saw. I’ve bolded some of the text:
tcp 0 0 JW-PC:56480 a23-32-46-41.deplo:http ESTABLISHED
tcp 0 0 JW-PC:33474 server-13-33-147-:https ESTABLISHED
tcp 0 0 JW-PC:45466 ec2-54-213-234-15:https TIME_WAIT
tcp 0 0 JW-PC:56334 151.101.2.202:http ESTABLISHED
tcp 0 0 JW-PC:34470 159.127.41.189:https TIME_WAIT
tcp 0 0 JW-PC:34040 a104-126-1-33.depl:http ESTABLISHED
tcp 0 0 JW-PC:53200 a23-45-230-178.de:https ESTABLISHED
tcp 0 0 JW-PC:58400 e2.ycpi.vip.swb.y:https ESTABLISHED
tcp 0 0 JW-PC:49226 sea15s01-in-f10.1e:http ESTABLISHED
tcp 0 0 JW-PC:51302 server-13-33-151-6:http ESTABLISHED
tcp 0 0 JW-PC:47918 sea15s11-in-f14.1e:http ESTABLISHED
tcp 0 0 JW-PC:60236 server-13-33-147-3:http ESTABLISHED
tcp 0 0 JW-PC:33614 a104-126-1-33.depl:http ESTABLISHED
tcp 0 0 JW-PC:53944 a23-32-46-131.depl:http ESTABLISHED
tcp 0 0 JW-PC:51256 151.101.193.128:http ESTABLISHED
tcp 0 0 JW-PC:51990 151.101.192.204:http ESTABLISHED
tcp 0 0 JW-PC:50912 server-13-33-146-6:http ESTABLISHED
tcp 0 0 JW-PC:51992 151.101.192.204:http ESTABLISHED
tcp 0 0 JW-PC:34268 server-13-33-151-:https ESTABLISHED
tcp 0 0 JW-PC:37506 sea15s01-in-f130.:https ESTABLISHED
tcp 0 0 JW-PC:47854 server-13-33-147-1:http ESTABLISHED
tcp 0 0 JW-PC:55610 sea15s07-in-f68.1:https ESTABLISHED
tcp 0 0 JW-PC:34062 sea15s07-in-f14.1:https ESTABLISHED
tcp 0 0 JW-PC:53384 sea15s07-in-f14.1e:http ESTABLISHED
tcp 0 0 JW-PC:39098 a23-204-103-59.dep:http ESTABLISHED
tcp 0 0 JW-PC:58614 sea15s11-in-f162.1:http ESTABLISHED
tcp 0 0 JW-PC:47124 server-13-33-151-1:http ESTABLISHED
tcp 0 0 JW-PC:47538 a23-6-165-175.depl:http ESTABLISHED
tcp 0 0 JW-PC:32878 a23-45-230-178.dep:http ESTABLISHED
tcp 0 0 JW-PC:38836 a23-217-12-72.depl:http ESTABLISHED
tcp 0 0 JW-PC:37574 104.19.193.102:https ESTABLISHED
tcp 0 0 JW-PC:37778 server-13-33-124-:https ESTABLISHED
tcp 0 0 JW-PC:48128 static.criteo.net:https ESTABLISHED
tcp 0 0 JW-PC:54364 a23-32-46-131.depl:http ESTABLISHED
tcp 0 0 JW-PC:53278 a.tribalfusion.com:http ESTABLISHED
tcp 0 0 JW-PC:40764 a23-14-172-134.de:https ESTABLISHED
tcp 0 0 JW-PC:42124 23.101.203.117:http ESTABLISHED
tcp 0 0 JW-PC:59364 ec2-54-225-214-20:https ESTABLISHED
tcp 0 0 JW-PC:54374 a23-32-46-131.depl:http ESTABLISHED
tcp 0 0 JW-PC:59902 server-13-33-151-:https ESTABLISHED
tcp 0 0 JW-PC:54736 a1.ue.vip.gq1.yah:https ESTABLISHED
tcp 0 0 JW-PC:49646 sea15s01-in-f10.1e:http ESTABLISHED
tcp 0 0 JW-PC:38936 a104-109-200-201.d:http ESTABLISHED
tcp 0 0 JW-PC:51672 sea15s01-in-f142.:https ESTABLISHED
tcp 0 0 JW-PC:52276 bam-9.nr-data.net:https ESTABLISHED
tcp 0 0 JW-PC:44270 151.101.66.2:http ESTABLISHED
tcp 0 0 JW-PC:42024 ec2-35-162-179-12:https ESTABLISHED
tcp 0 0 JW-PC:59886 152.195.32.112:http ESTABLISHED
tcp 0 0 JW-PC:45134 151.101.53.128:http ESTABLISHED
tcp 0 0 JW-PC:50914 server-13-33-146-6:http ESTABLISHED
tcp 0 0 JW-PC:35590 sea15s01-in-f10.1:https ESTABLISHED
tcp 0 0 JW-PC:51330 ec2-52-52-244-13.u:http ESTABLISHED
tcp 0 0 JW-PC:53916 a23-32-46-131.depl:http ESTABLISHED
tcp 0 0 JW-PC:57792 152.195.14.100:http ESTABLISHED
tcp 0 0 JW-PC:32934 ec2-54-164-46-184:https TIME_WAIT
tcp 0 0 JW-PC:54372 a23-32-46-131.depl:http ESTABLISHED
tcp 0 0 JW-PC:45136 151.101.53.128:http ESTABLISHED
tcp 0 0 JW-PC:59458 xx-fbcdn-shv-01-s:https ESTABLISHED
tcp 0 0 JW-PC:38240 40.84.148.247:http ESTABLISHED
tcp 0 0 JW-PC:37996 199.96.57.6:http ESTABLISHED
tcp 0 0 JW-PC:42556 23.101.203.117:http ESTABLISHED
tcp 0 0 JW-PC:58066 r-199-59-148-23.t:https ESTABLISHED
tcp 0 0 JW-PC:52060 ec2-54-213-128-13:https TIME_WAIT
tcp 0 0 JW-PC:53248 ec2-52-52-174-199:https TIME_WAIT
tcp 0 0 JW-PC:45300 sea15s07-in-f2.1e1:http ESTABLISHED
tcp 0 0 JW-PC:46038 104.16.87.26:https ESTABLISHED
tcp 0 0 JW-PC:48748 234.250.178.107.bc:http ESTABLISHED
tcp 0 0 JW-PC:60442 server-13-33-151-:https ESTABLISHED
tcp 0 0 JW-PC:49114 server-13-33-147-8:http ESTABLISHED
tcp 0 0 JW-PC:43940 s3-1.amazonaws.co:https TIME_WAIT
tcp 0 0 JW-PC:55376 sea15s07-in-f67.1:https ESTABLISHED
tcp 0 0 JW-PC:54368 a23-32-46-131.depl:http ESTABLISHED
tcp 0 0 JW-PC:46308 151.101.53.208:http ESTABLISHED
tcp 0 0 JW-PC:40772 a23-14-172-134.de:https ESTABLISHED
tcp 0 0 JW-PC:38888 a23-217-12-72.depl:http ESTABLISHED
tcp 0 0 JW-PC:43338 server-13-33-110-2:http ESTABLISHED
tcp 0 0 JW-PC:41848 server-13-33-151-1:http ESTABLISHED
tcp 0 0 JW-PC:60904 sea15s01-in-f3.1e:https ESTABLISHED
tcp 0 0 JW-PC:54116 ads16-fw-us-west.:https TIME_WAIT
tcp 0 0 JW-PC:38854 152.163.13.22:http ESTABLISHED
tcp 0 0 JW-PC:50086 ec2-50-17-199-221.:http ESTABLISHED
tcp 0 0 JW-PC:51902 151.101.192.204:http ESTABLISHED
tcp 0 0 JW-PC:32794 server-13-33-151-:https ESTABLISHED
tcp 0 0 JW-PC:41126 ec2-54-76-91-81.e:https TIME_WAIT
tcp 0 0 JW-PC:42880 74.121.143.236:http ESTABLISHED
tcp 0 0 JW-PC:48318 sea15s11-in-f162.:https ESTABLISHED
tcp 0 1 JW-PC:37396 162.248.16.50:http FIN_WAIT1
tcp 0 0 JW-PC:53922 a23-32-46-131.depl:http ESTABLISHED
tcp 0 0 JW-PC:46346 151.101.53.208:http ESTABLISHED
tcp 0 0 JW-PC:59598 152.195.32.119:http ESTABLISHED
tcp 0 0 JW-PC:60802 104.16.88.20:http ESTABLISHED
tcp 0 0 JW-PC:33258 server-13-33-151-1:http ESTABLISHED
tcp 0 0 JW-PC:58754 sea15s11-in-f162.1:http ESTABLISHED
tcp 0 0 JW-PC:59376 152.195.32.112:http ESTABLISHED
tcp 0 0 JW-PC:53920 a23-32-46-131.depl:http ESTABLISHED
tcp 0 0 JW-PC:42534 23.101.203.117:http ESTABLISHED
tcp 0 0 JW-PC:39818 72.21.91.66:http ESTABLISHED
tcp 0 0 JW-PC:53292 a.tribalfusion.com:http ESTABLISHED
tcp 0 0 JW-PC:51304 server-13-33-151-6:http ESTABLISHED
tcp 0 0 JW-PC:46356 151.101.53.208:http ESTABLISHED
tcp 0 0 JW-PC:54370 a23-32-46-131.depl:http ESTABLISHED
tcp 0 0 JW-PC:38886 a23-217-12-72.depl:http ESTABLISHED
tcp 0 0 JW-PC:51448 ocsp.comodoca.com:http TIME_WAIT
tcp 0 0 JW-PC:56056 xx-fbcdn-shv-01-s:https ESTABLISHED
tcp 0 0 JW-PC:59350 tags.expo9.exponen:http ESTABLISHED
tcp 0 0 JW-PC:40414 edge-star-mini-sh:https ESTABLISHED
tcp 0 0 JW-PC:45406 www2.twitter.jp:https ESTABLISHED
tcp 0 0 JW-PC:52934 74.119.119.70:https ESTABLISHED
tcp 0 0 JW-PC:55496 ec2-54-191-241-24:https ESTABLISHED
tcp 0 0 JW-PC:33036 a23-32-46-98.deplo:http ESTABLISHED
tcp 0 0 JW-PC:53028 ec2-52-72-47-138.c:http ESTABLISHED
tcp 0 0 JW-PC:39806 72.21.91.29:http TIME_WAIT

Today I also saw a connection to “download.apowersoft.net”

Not sure what is happening to cause this, or why I’m seeing so many connections to things that have no bearing to google (the home page), but it is concerning. I have not tried a different OS, but will do so at work. It doesn’t happen all the time with my own system, but is consistent if I remove the cached files from Firefox and then start the browser.

If I do not removed the cached files and folders, then it looks fairly normal:
tcp 0 0 JW-PC:41324 72.21.91.29:http ESTABLISHED
tcp 0 0 JW-PC:59650 sea15s01-in-f3.1e:https ESTABLISHED
tcp 0 0 JW-PC:42008 ec2-54-191-46-28.:https ESTABLISHED
tcp 0 0 JW-PC:56694 sea15s01-in-f14.1e:http ESTABLISHED
tcp 0 0 JW-PC:46844 a23-204-103-74.dep:http ESTABLISHED
tcp 0 0 JW-PC:52824 server-13-32-178-:https ESTABLISHED
tcp 0 0 JW-PC:57186 ec2-54-148-143-13:https ESTABLISHED
tcp 0 0 JW-PC:54158 sea15s11-in-f164.:https ESTABLISHED
tcp 0 0 JW-PC:41318 72.21.91.29:http ESTABLISHED

For some reason, Firefox generates a ton of connections to seemingly random (but probably not random) servers if the cache files are missing. It should simply create the folders without needing to connect to anything other than the home page, in this case Google.com

I don’t have any news feeds, and the “random” servers are different each time.

I will try asking in a forum about this.

UPDATE:
I found someone had asked a similar question on Mozilla’s forum:
https://support.mozilla.org/en-US/questions/1205150

He links the issue to the webappstore.sqlite file, but even so, it is a mystery yet not answered by Mozilla as to WHY this file has all of these connections to odd servers, even if the file is delete and auto-recreated. The poster says:

“Why does Firefox connect to every single address while starting up, what is written to this sql db? I could say this is the solution at least solving the original question “where does this software get it’s 100-400 connection addresses”.

So this seems to be the source of some of the issue, but where does Firefox get the server names in the first place?

 I found that I could turn off my permissions to the file webappstore.sqlite, and that stopped the connections to odd servers, but then I was unable to do things like edit my WordPress website. So clearly it is needed for some things, and I need to be able to write to it.
I think Mozilla should offer an explanation of what is happening and why the browser needs to connect to these hundred or so servers.