Streaming City TV Shows not working with Firefox on Linux
Summary
This article describes the problem of streaming City TV shows not
working on linux, and provides instructions on how to fix this
issue.
Update 2017-10-04: Update instructions and streaming TV shows
test results.
Update 2017-04-02: These steps were originally documented for
(k)ubuntu 12.04, updated for (k)ubuntu 14.04, and most recently
updated for (k)ubuntu 16.04.
Contents
- Problem
- Root Cause
- Solution A - (New) Enable DRM in Firefox
- Solution B - (Old) Install HAL
- Background Information
- Debugging Links
- Reports of Problem Links
Problem
When trying to stream City TV shows, the advertisements display properly, but only a blank (black) screen is displayed for the actual TV show.
Note: City TV is a Canadian television station that limits web site viewing to IP addresses in Canada.
Root Cause
The reason this occurs is because either the use of the Flash Player has been deprecated, or the Flash Player fails to properly load the Adobe protected content module. Since City TV uses Brightcove.com to stream TV shows, and since these use Digital Restrictions Management, the TV shows will only display when the DRM content protection module is working properly.
Solution A - (New) Enable DRM in Firefox
With all the security issues that continue to arise with the Adobe Flash Player, many sites now discourage the use of Flash and instead implement a new form of DRM.
The fix to the City TV streaming problem requires enabling this new form of DRM in Firefox version 47 and higher.
The steps to fix this problem on Debian/Ubuntu are as follows:
- Ensure a recent version of Firefox and libavcodec
is installed.
If you keep your GNU/Linux distribution up-to-date then you can skip ahead to the next step.
Check the version of firefox installed.
dpkg -l | grep firefox
Sample output follows:
ii firefox 56.0+build6-0ubuntu0.16.04.2 amd64 Safe and easy web browser from Mozilla ii firefox-locale-en 56.0+build6-0ubuntu0.16.04.2 amd64 English language pack for Firefox
At time of testing firefox v56.0 was installed.
For Ubuntu 16.04:
sudo apt-get update sudo apt-get install firefox libavcodec-extra
For Ubuntu 14.04:
sudo apt-get update sudo apt-get install firefox libavcodec-extra-54
For Ubuntu 12.04:
sudo apt-get update sudo apt-get install firefox libavcodec-extra-53
Unfortunately on Ubuntu 12.04 I was unable to successfully stream City TV shows. Each time I tried, Firefox displayed the prompt "libavcodec may be vulnerable or is not supported, and should be updated to play video."
- Open Firefox menu and
select Preferences.
Edit -> Preferences.
- Select General on the left-hand-side, scroll
down and enable Play DRM-controlled content.
- Try to play TV shows from
the City TV web site in your
browser.
These shows should now display properly.
NOTE: Streaming TV Shows Test
On October 4, 2017 I successfully tested this native Linux solution with Firefox v56.0 by streaming shows from the following TV stations:
City TV
CBC
CTV
Global TV
Unfortunately this solution might not work for streaming shows that require the Adobe Flash Player.
Fortunately another solution exists.
See Streaming CTV Shows not working with Firefox on Linux.
TIP: No Sound When Playing Video in Firefox?
Firefox v52+ Goes PulseAudio Only, Leaves ALSA Users With No Sound
To enable sound, install pulseaudio which can co-exist with alsa audio.
sudo apt-get install pulseaudio
You should now be able to watch City TV shows from Linux in Canada.
Solution B - (Old) Install HAL
Update 2017-04-02: This solution used to work, but with many
sites discouraging the use of Adobe Flash Player, this solution no
longer appears to work. This old solution has been kept in this
article for historic purposes.
Update 2014-11-09: These steps were documented for (k)ubuntu
12.04. These steps will not work for (k)ubuntu 14.04. If you
experience difficulties with streaming City TV shows on (k)ubuntu
14.04, see the solution
for Streaming CTV
Shows not working with Firefox on Linux.
On Linux the Flash Player requires the Hardware Abstraction Layer (HAL) to be able to properly load the Adobe protected content module.
The fix to the problem requires the installation of HAL and the removal of the ~/.adobe/Flash_Player/APSPrivateData2 directory.
The steps to fix this problem on Debian/Ubuntu are as follows:
- Open a terminal window.
In the K Desktop Environment this can be done with the menu option: K --> System --> Konsole (Terminal). - Remove the broken protected content module
directory with the following command:
rm -rf ~/.adobe/Flash_Player/APSPrivateData2
- Install HAL with the following command:
sudo apt-get install hal
NOTE: Installing HAL requires root privilege.
Prefixing the command with "sudo" will request root privileges.
TIP: The HAL daemon must be running for this solution to work.
You can check if hald is running with the following command:
ps -ef | grep hald
If you do not see several output lines that include the word hald then you can start hald with the following command:
sudo /usr/sbin/hald
Please note that if hald does not automatically start on boot, then perform the following steps to ensure HAL starts on boot.
Edit /etc/rc.local (for example using the kate text editor):
sudo kate /etc/rc.local
Locate the already existing line:
exit 0
And above this line add the following two lines:
---------- begin two lines ----------
# Ensure HAL starts on boot
/usr/sbin/hald
---------- end two lines ----------
Save the file and exit the editor.
- Try to play TV shows from
the City TV web site in your
browser.
These shows should now display properly.
NOTE: City TV shows still not working?
If you still experience difficulty you might need to upgrade to a more recent version of the Adobe Flash Player. To do this try the following command in a terminal window:
sudo apt-get install --reinstall flashplugin-installer
UPDATE 2014-11-09: Recent Versions of Flash Player Work Again
With the release of flashplugin 11.2.202.280, Adobe Protected Content ceased to work on my 64-bit kubuntu 12.04 GNU/Linux distribution. Fortunately more recent versions do work, such as flashplugin 11.2.202.411.
For historical sake, the following instructions show how I fixed the problem back on May 3, 2013 by downgrading to flashplugin 11.2.202.275:-
Search the Internet for
flashplugin-installer_11.2.202.275ubuntu0.12.04.1_amd64.deb
and download the .deb file. - Remove the existing flashplugin-installer package and manually install the .deb file.
sudo apt-get remove --purge flashplugin-installer sudo dpkg -i flashplugin-installer_11.2.202.275ubuntu0.12.04.1_amd64.deb
Streaming TV Shows Test
On November 9, 2014 I successfully tested this native Linux solution by streaming shows from following TV stations:
Global TV
City TV
CBC
Unfortunately streaming shows did not work for the following TV station:
CTV
Fortunately another solution exists and also works for CTV. This other solution involves using wine. See Streaming CTV Shows not working with Firefox on Linux.
You should now be able to watch City TV shows from Linux in Canada.
-
Search the Internet for
flashplugin-installer_11.2.202.275ubuntu0.12.04.1_amd64.deb
Background Information
I first encountered the problem of streaming City TV shows not working when I was building my first custom Personal Video Recorder (PVR) using Mythbuntu 11.04. The problem had me perplexed because my desktop running Kubuntu 11.04 worked perfectly.
Over many months I kept trying different things in an attempt to resolve this issue. The key came when I learnt that a basic Kubuntu 11.04 install did not work either. Hence something was different about my desktop install -- specifically that it had been upgraded from kubuntu 10.10.
What I discovered was that starting with Ubuntu 11.04 and higher (e.g., Ubuntu 11.10, 12.04, 12.10), HAL is no longer installed by default. As such fresh installs of these distributions will fail to play TV shows from City TV.
For me, diagnosing this City TV streaming problem was a drawn out and complicated process. While diagnosing the problem I found information in the following links to be valuable.
Debugging Links
Brightcove Video Playback Troubleshooting
Brightcove
Debugger
In the debugger, the relevant two lines that led me to the root cause
were:
Handling DRM Metadata
Error: Error #3344 [3344] dispatched
Adobe Community: Unable to install the adobe protected content module
Adobe Community: Flash access support on linux (ubuntu)
Reports of Problem Links
troubleshoot Flash? -- This is where I originally posted my solution.
[#BOXEE-11347] citytv - black screen after commercials
[Extreme] Streaming CityTV on Rogers