Merge pull request #7821 from joksnet/patch-1
authorSergey M <dstftw@gmail.com>
Thu, 10 Dec 2015 16:10:20 +0000 (22:10 +0600)
committerSergey M <dstftw@gmail.com>
Thu, 10 Dec 2015 16:10:20 +0000 (22:10 +0600)
[FFmpegPostProcessor] Default of prefer ffmpeg

CONTRIBUTING.md
README.md
docs/supportedsites.md
youtube_dl/extractor/dailymotion.py
youtube_dl/extractor/pbs.py
youtube_dl/version.py

index 28aae94f83646f4b18456457c1d2904d580a5b6d..f3fe0d4320963ee0ab004d3da5f4b903dc857923 100644 (file)
@@ -34,7 +34,7 @@ For bug reports, this means that your report should contain the *complete* outpu
 
 If your server has multiple IPs or you suspect censorship, adding `--call-home` may be a good idea to get more diagnostics. If the error is `ERROR: Unable to extract ...` and you cannot reproduce it from multiple countries, add `--dump-pages` (warning: this will yield a rather large output, redirect it to the file `log.txt` by adding `>log.txt 2>&1` to your command-line) or upload the `.dump` files you get when you add `--write-pages` [somewhere](https://gist.github.com/).
 
-**Site support requests must contain an example URL**. An example URL is a URL you might want to download, like http://www.youtube.com/watch?v=BaW_jenozKc . There should be an obvious video present. Except under very special circumstances, the main page of a video service (e.g. http://www.youtube.com/ ) is *not* an example URL.
+**Site support requests must contain an example URL**. An example URL is a URL you might want to download, like `http://www.youtube.com/watch?v=BaW_jenozKc`. There should be an obvious video present. Except under very special circumstances, the main page of a video service (e.g. `http://www.youtube.com/`) is *not* an example URL.
 
 ###  Are you using the latest version?
 
@@ -42,7 +42,7 @@ Before reporting any issue, type `youtube-dl -U`. This should report that you're
 
 ###  Is the issue already documented?
 
-Make sure that someone has not already opened the issue you're trying to open. Search at the top of the window or at https://github.com/rg3/youtube-dl/search?type=Issues . If there is an issue, feel free to write something along the lines of "This affects me as well, with version 2015.01.01. Here is some more information on the issue: ...". While some issues may be old, a new post into them often spurs rapid activity.
+Make sure that someone has not already opened the issue you're trying to open. Search at the top of the window or browse the [GitHub Issues](https://github.com/rg3/youtube-dl/search?type=Issues) of this repository. If there is an issue, feel free to write something along the lines of "This affects me as well, with version 2015.01.01. Here is some more information on the issue: ...". While some issues may be old, a new post into them often spurs rapid activity.
 
 ###  Why are existing options not enough?
 
index e39f71281ecfa818cc8e4bb60b98cd7c6d18a1ff..5c3915d64deed1c71d092bf1efe7b363fdc85444 100644 (file)
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ You can also use pip:
 
     sudo pip install youtube-dl
 
-Alternatively, refer to the [developer instructions](#developer-instructions) for how to check out and work with the git repository. For further options, including PGP signatures, see https://rg3.github.io/youtube-dl/download.html .
+Alternatively, refer to the [developer instructions](#developer-instructions) for how to check out and work with the git repository. For further options, including PGP signatures, see the [youtube-dl Download Page](https://rg3.github.io/youtube-dl/download.html).
 
 # DESCRIPTION
 **youtube-dl** is a small command-line program to download videos from
@@ -414,7 +414,7 @@ You can configure youtube-dl by placing any supported command line option to a c
 
 You can use `--ignore-config` if you want to disable the configuration file for a particular youtube-dl run.
 
-### Authentication with `.netrc` file ###
+### Authentication with `.netrc` file
 
 You may also want to configure automatic credentials storage for extractors that support authentication (by providing login and password with `--username` and `--password`) in order not to pass credentials as command line arguments on every youtube-dl execution and prevent tracking plain text passwords in the shell command history. You can achieve this using a [`.netrc` file](http://stackoverflow.com/tags/.netrc/info) on per extractor basis. For that you will need to create a`.netrc` file in your `$HOME` and restrict permissions to read/write by you only:
 ```
@@ -559,11 +559,11 @@ If you want to play the video on a machine that is not running youtube-dl, you c
 
 YouTube has switched to a new video info format in July 2011 which is not supported by old versions of youtube-dl. See [above](#how-do-i-update-youtube-dl) for how to update youtube-dl.
 
-### ERROR: unable to download video ###
+### ERROR: unable to download video
 
 YouTube requires an additional signature since September 2012 which is not supported by old versions of youtube-dl. See [above](#how-do-i-update-youtube-dl) for how to update youtube-dl.
 
-### Video URL contains an ampersand and I'm getting some strange output `[1] 2839` or `'v' is not recognized as an internal or external command` ###
+### Video URL contains an ampersand and I'm getting some strange output `[1] 2839` or `'v' is not recognized as an internal or external command`
 
 That's actually the output from your shell. Since ampersand is one of the special shell characters it's interpreted by the shell preventing you from passing the whole URL to youtube-dl. To disable your shell from interpreting the ampersands (or any other special characters) you have to either put the whole URL in quotes or escape them with a backslash (which approach will work depends on your shell).
 
@@ -587,7 +587,7 @@ In February 2015, the new YouTube player contained a character sequence in a str
 
 These two error codes indicate that the service is blocking your IP address because of overuse. Contact the service and ask them to unblock your IP address, or - if you have acquired a whitelisted IP address already - use the [`--proxy` or `--source-address` options](#network-options) to select another IP address.
 
-### SyntaxError: Non-ASCII character ###
+### SyntaxError: Non-ASCII character
 
 The error
 
@@ -616,7 +616,7 @@ From then on, after restarting your shell, you will be able to access both youtu
 
 Use the `-o` to specify an [output template](#output-template), for example `-o "/home/user/videos/%(title)s-%(id)s.%(ext)s"`. If you want this for all of your downloads, put the option into your [configuration file](#configuration).
 
-### How do I download a video starting with a `-` ?
+### How do I download a video starting with a `-`?
 
 Either prepend `http://www.youtube.com/watch?v=` or separate the ID from the options with `--`:
 
@@ -798,7 +798,7 @@ with youtube_dl.YoutubeDL(ydl_opts) as ydl:
 
 # BUGS
 
-Bugs and suggestions should be reported at: <https://github.com/rg3/youtube-dl/issues> . Unless you were prompted so or there is another pertinent reason (e.g. GitHub fails to accept the bug report), please do not send bug reports via personal email. For discussions, join us in the irc channel #youtube-dl on freenode.
+Bugs and suggestions should be reported at: <https://github.com/rg3/youtube-dl/issues>. Unless you were prompted so or there is another pertinent reason (e.g. GitHub fails to accept the bug report), please do not send bug reports via personal email. For discussions, join us in the IRC channel [#youtube-dl](irc://chat.freenode.net/#youtube-dl) on freenode ([webchat](http://webchat.freenode.net/?randomnick=1&channels=youtube-dl)).
 
 **Please include the full output of youtube-dl when run with `-v`**, i.e. add `-v` flag to your command line, copy the **whole** output and post it in the issue body wrapped in \`\`\` for better formatting. It should look similar to this:
 ```
@@ -836,7 +836,7 @@ For bug reports, this means that your report should contain the *complete* outpu
 
 If your server has multiple IPs or you suspect censorship, adding `--call-home` may be a good idea to get more diagnostics. If the error is `ERROR: Unable to extract ...` and you cannot reproduce it from multiple countries, add `--dump-pages` (warning: this will yield a rather large output, redirect it to the file `log.txt` by adding `>log.txt 2>&1` to your command-line) or upload the `.dump` files you get when you add `--write-pages` [somewhere](https://gist.github.com/).
 
-**Site support requests must contain an example URL**. An example URL is a URL you might want to download, like http://www.youtube.com/watch?v=BaW_jenozKc . There should be an obvious video present. Except under very special circumstances, the main page of a video service (e.g. http://www.youtube.com/ ) is *not* an example URL.
+**Site support requests must contain an example URL**. An example URL is a URL you might want to download, like `http://www.youtube.com/watch?v=BaW_jenozKc`. There should be an obvious video present. Except under very special circumstances, the main page of a video service (e.g. `http://www.youtube.com/`) is *not* an example URL.
 
 ###  Are you using the latest version?
 
@@ -844,7 +844,7 @@ Before reporting any issue, type `youtube-dl -U`. This should report that you're
 
 ###  Is the issue already documented?
 
-Make sure that someone has not already opened the issue you're trying to open. Search at the top of the window or at https://github.com/rg3/youtube-dl/search?type=Issues . If there is an issue, feel free to write something along the lines of "This affects me as well, with version 2015.01.01. Here is some more information on the issue: ...". While some issues may be old, a new post into them often spurs rapid activity.
+Make sure that someone has not already opened the issue you're trying to open. Search at the top of the window or browse the [GitHub Issues](https://github.com/rg3/youtube-dl/search?type=Issues) of this repository. If there is an issue, feel free to write something along the lines of "This affects me as well, with version 2015.01.01. Here is some more information on the issue: ...". While some issues may be old, a new post into them often spurs rapid activity.
 
 ###  Why are existing options not enough?
 
@@ -874,4 +874,4 @@ It may sound strange, but some bug reports we receive are completely unrelated t
 
 youtube-dl is released into the public domain by the copyright holders.
 
-This README file was originally written by Daniel Bolton (<https://github.com/dbbolton>) and is likewise released into the public domain.
+This README file was originally written by [Daniel Bolton](https://github.com/dbbolton) and is likewise released into the public domain.
index 4f19cb6f5ff5d8fddf265ed6d0263cc11ac902d6..3bb3abb2539cf16ccc0791551ba6b538dd9f9774 100644 (file)
  - **orf:tvthek**: ORF TVthek
  - **parliamentlive.tv**: UK parliament videos
  - **Patreon**
- - **pbs**: Public Broadcasting Service (PBS) and member stations: PBS: Public Broadcasting Service, APT - Alabama Public Television (WBIQ), GPB/Georgia Public Broadcasting (WGTV), Mississippi Public Broadcasting (WMPN), Nashville Public Television (WNPT), WFSU-TV (WFSU), WSRE (WSRE), WTCI (WTCI), WPBA/Channel 30 (WPBA), Alaska Public Media (KAKM), KUAC (KUAC), 360 North (KTOO), KUAT 6 (KUAT), Arizona PBS (KAET), KNME-TV/Channel 5 (KNME), Vegas PBS (KLVX), AETN/ARKANSAS ETV NETWORK (KETS), KET (WKLE), WKNO/Channel 10 (WKNO), LPB/LOUISIANA PUBLIC BROADCASTING (WLPB), Mississippi Public Broadcasting (WMPN), OETA (KETA), Ozarks Public Television (KOZK), WSIU Public Broadcasting (WSIU), KEET TV (KEET), KIXE/Channel 9 (KIXE), KPBS San Diego (KPBS), KQED (KQED), KVIE Public Television (KVIE), PBS SoCal/KOCE (KOCE), ValleyPBS (KVPT), APT - Alabama Public Television (WBIQ), CONNECTICUT PUBLIC TELEVISION (WEDH), Arizona PBS (KAET), KNPB Channel 5 (KNPB), SOPTV (KSYS), KLCS/Channel 58 (KLCS), KRCB Television & Radio (KRCB), KVCR TV/DT/FM :: Vision for the Future (KVCR), Rocky Mountain PBS (KRMA), KENW-TV3 (KENW), KUED Channel 7 (KUED), KNME-TV/Channel 5 (KNME), Wyoming PBS (KCWC), Colorado Public Television / KBDI 12 (KBDI), KBYU-TV (KBYU), CONNECTICUT PUBLIC TELEVISION (WEDH), Thirteen/WNET New York (WNET), WGBH/Channel 2 (WGBH), WGBY (WGBY), NJTV Public Media NJ (WNJT), Rhode Island PBS (WSBE), WLIW21 (WLIW), mpt/Maryland Public Television (WMPB), WETA Television and Radio (WETA), WHYY (WHYY), NJTV Public Media NJ (WNJT), PBS 39 (WLVT), WLIW21 (WLIW), WETA Television and Radio (WETA), mpt/Maryland Public Television (WMPB), WVPT - Your Source for PBS and More! (WVPT), Howard University Television (WHUT), WEDU PBS (WEDU), WFSU-TV (WFSU), WGCU Public Media (WGCU), WJCT Public Broadcasting (WJCT), WPBT2 (WPBT), WSRE (WSRE), WUCF TV (WUCF), WUFT/Channel 5 (WUFT), WXEL/Channel 42 (WXEL), APT - Alabama Public Television (WBIQ), GPB/Georgia Public Broadcasting (WGTV), WLRN/Channel 17 (WLRN), WUSF Public Broadcasting (WUSF), NJTV Public Media NJ (WNJT), GPB/Georgia Public Broadcasting (WGTV), APT - Alabama Public Television (WBIQ), ETV (WRLK), UNC-TV (WUNC), WFSU-TV (WFSU), WJCT Public Broadcasting (WJCT), WTCI (WTCI), WPBA/Channel 30 (WPBA), PBS Guam (KGTF), PBS Hawaii - Oceanic Cable Channel 10 (KHET), Idaho Public Television (KAID), KSPS (KSPS), KUED Channel 7 (KUED), OPB (KOPB), SOPTV (KSYS), Wyoming PBS (KCWC), Colorado Public Television / KBDI 12 (KBDI), KBYU-TV (KBYU), KWSU/Channel 10 & KTNW/Channel 31 (KWSU), WILL-TV (WILL), Network Knowledge - WSEC/Springfield (WSEC), WSIU Public Broadcasting (WSIU), WTTW11 (WTTW), WTVP & WTVP.org, Public Media for Central Illinois (WTVP), Iowa Public Television/IPTV (KDIN), KET (WKLE), Nine Network (KETC), PBS39 Fort Wayne (WFWA), WFYI Indianapolis (WFYI), Milwaukee Public Television (WMVS), WNIN (WNIN), WNIT Public Television (WNIT), WPT (WPNE), WVUT/Channel 22 (WVUT), WEIU/Channel 51 (WEIU), WQPT-TV (WQPT), WYCC PBS Chicago (WYCC), Lakeshore Public Television (WYIN), PBS39 Fort Wayne (WFWA), WFYI Indianapolis (WFYI), WIPB-TV (WIPB), WNIN (WNIN), WNIT Public Television (WNIT), WTIU (WTIU), WVUT/Channel 22 (WVUT), CET  (WCET), KET (WKLE), ThinkTVNetwork (WPTD), WBGU-TV (WBGU), WGVU TV (WGVU), WILL-TV (WILL), Network Knowledge - WSEC/Springfield (WSEC), WSIU Public Broadcasting (WSIU), WTTW11 (WTTW), Lakeshore Public Television (WYIN), WEIU/Channel 51 (WEIU), WYCC PBS Chicago (WYCC), Iowa Public Television/IPTV (KDIN), NET1 (KUON), Pioneer Public Television (KWCM), SDPB Television (KUSD), TPT (KTCA), Network Knowledge - WSEC/Springfield (WSEC), WPT (WPNE), KSMQ (KSMQ), WQPT-TV (WQPT), KPTS/Channel 8 (KPTS), KTWU/Channel 11 (KTWU), Smoky Hills Public Television (KOOD), KCPT Kansas City Public Television (KCPT), NET1 (KUON), OETA (KETA), Ozarks Public Television (KOZK), Rocky Mountain PBS (KRMA), Colorado Public Television / KBDI 12 (KBDI), KET (WKLE), Blue Ridge PBS (WBRA), CET  (WCET), East Tennessee PBS (WSJK), Nashville Public Television (WNPT), ThinkTVNetwork (WPTD), WCTE-TV (WCTE), WLJT, Channel 11 (WLJT), WNIN (WNIN), WOSU TV (WOSU), WOUB/WOUC (WOUB), WSIU Public Broadcasting (WSIU), WVPB (WVPB), WKYU-PBS (WKYU), LPB/LOUISIANA PUBLIC BROADCASTING (WLPB), WYES-TV/New Orleans (WYES), AETN/ARKANSAS ETV NETWORK (KETS), KERA 13 (KERA), Mississippi Public Broadcasting (WMPN), MPBN (WCBB), Mountain Lake PBS (WCFE), NHPTV (WENH), Vermont PBS (WETK), WGBH/Channel 2 (WGBH), mpt/Maryland Public Television (WMPB), Thirteen/WNET New York (WNET), WETA Television and Radio (WETA), WHYY (WHYY), witf (WITF), WQED Multimedia (WQED), WVPB (WVPB), WVPT - Your Source for PBS and More! (WVPT), Howard University Television (WHUT), WLIW21 (WLIW), WGBH/Channel 2 (WGBH), WGBY (WGBY), CONNECTICUT PUBLIC TELEVISION (WEDH), NHPTV (WENH), Vermont PBS (WETK), WMHT Educational Telecommunications (WMHT), Rhode Island PBS (WSBE), Q-TV (WDCQ), WTVS Detroit Public TV (WTVS), CMU Public Television (WCMU), WGVU TV (WGVU), WKAR-TV (WKAR), WNMU-TV Public TV 13 (WNMU), WDSE - WRPT (WDSE), WBGU-TV (WBGU), WGTE TV (WGTE), WNIT Public Television (WNIT), WPT (WPNE), WTTW11 (WTTW), WYCC PBS Chicago (WYCC), Lakeland Public Television (KAWE), WDSE - WRPT (WDSE), Pioneer Public Television (KWCM), TPT (KTCA), Iowa Public Television/IPTV (KDIN), PRAIRIE PUBLIC (KFME), Nine Network (KETC), SDPB Television (KUSD), WPT (WPNE), KSMQ (KSMQ), Mississippi Public Broadcasting (WMPN), AETN/ARKANSAS ETV NETWORK (KETS), APT - Alabama Public Television (WBIQ), WKNO/Channel 10 (WKNO), LPB/LOUISIANA PUBLIC BROADCASTING (WLPB), WSRE (WSRE), WYES-TV/New Orleans (WYES), KCPT Kansas City Public Television (KCPT), KMOS-TV - Channels 6.1, 6.2 and 6.3 (KMOS), Nine Network (KETC), Ozarks Public Television (KOZK), AETN/ARKANSAS ETV NETWORK (KETS), WTVS Detroit Public TV (WTVS), Iowa Public Television/IPTV (KDIN), KET (WKLE), WKNO/Channel 10 (WKNO), KTWU/Channel 11 (KTWU), NET1 (KUON), Rocky Mountain PBS (KRMA), Network Knowledge - WSEC/Springfield (WSEC), WSIU Public Broadcasting (WSIU), MontanaPBS (KUSM), Arizona PBS (KAET), Idaho Public Television (KAID), PRAIRIE PUBLIC (KFME), KSPS (KSPS), Rocky Mountain PBS (KRMA), SDPB Television (KUSD), NET1 (KUON), Iowa Public Television/IPTV (KDIN), KTWU/Channel 11 (KTWU), Pioneer Public Television (KWCM), Rocky Mountain PBS (KRMA), SDPB Television (KUSD), Wyoming PBS (KCWC), Colorado Public Television / KBDI 12 (KBDI), KNPB Channel 5 (KNPB), Vegas PBS (KLVX), Arizona PBS (KAET), KUED Channel 7 (KUED), PBS SoCal/KOCE (KOCE), KBYU-TV (KBYU), NHPTV (WENH), ETV (WRLK), Mountain Lake PBS (WCFE), MPBN (WCBB), Vermont PBS (WETK), WGBH/Channel 2 (WGBH), WGBY (WGBY), CONNECTICUT PUBLIC TELEVISION (WEDH), Thirteen/WNET New York (WNET), WHYY (WHYY), NJTV Public Media NJ (WNJT), PBS 39 (WLVT), WLIW21 (WLIW), KENW-TV3 (KENW), KRWG/Channel 22 (KRWG), KNME-TV/Channel 5 (KNME), KUAT 6 (KUAT), KACV (KACV), KCOS/Channel 13 (KCOS), KUED Channel 7 (KUED), OETA (KETA), Rocky Mountain PBS (KRMA), Colorado Public Television / KBDI 12 (KBDI), KBYU-TV (KBYU), Mountain Lake PBS (WCFE), Thirteen/WNET New York (WNET), WCNY/Channel 24 (WCNY), WMHT Educational Telecommunications (WMHT), WNED (WNED), WPBS (WPBS), WSKG Public TV (WSKG), WXXI (WXXI), CONNECTICUT PUBLIC TELEVISION (WEDH), NHPTV (WENH), Vermont PBS (WETK), WGBH/Channel 2 (WGBH), WPSU (WPSU), WQLN/Channel 54 (WQLN), WVIA Public Media Studios (WVIA), WLIW21 (WLIW), NJTV Public Media NJ (WNJT), UNC-TV (WUNC), WTVI (WTVI), Blue Ridge PBS (WBRA), ETV (WRLK), GPB/Georgia Public Broadcasting (WGTV), WHRO (WHRO), WTCI (WTCI), WPBA/Channel 30 (WPBA), PRAIRIE PUBLIC (KFME), SDPB Television (KUSD), CET  (WCET), ThinkTVNetwork (WPTD), WBGU-TV (WBGU), WGTE TV (WGTE), Western Reserve PBS (WNEO), WOSU TV (WOSU), WOUB/WOUC (WOUB), WVIZ/PBS ideastream (WVIZ), WTVS Detroit Public TV (WTVS), KET (WKLE), PBS39 Fort Wayne (WFWA), WIPB-TV (WIPB), WQED Multimedia (WQED), WQLN/Channel 54 (WQLN), WVPB (WVPB), OETA (KETA), AETN/ARKANSAS ETV NETWORK (KETS), KACV (KACV), KERA 13 (KERA), LPB/LOUISIANA PUBLIC BROADCASTING (WLPB), Ozarks Public Television (KOZK), OPB (KOPB), SOPTV (KSYS), Idaho Public Television (KAID), KCTS 9 (KCTS), KEET TV (KEET), KSPS (KSPS), KWSU/Channel 10 & KTNW/Channel 31 (KWSU), WHYY (WHYY), witf (WITF), WPSU (WPSU), WQED Multimedia (WQED), WQLN/Channel 54 (WQLN), WVIA Public Media Studios (WVIA), CONNECTICUT PUBLIC TELEVISION (WEDH), mpt/Maryland Public Television (WMPB), Thirteen/WNET New York (WNET), WETA Television and Radio (WETA), WNED (WNED), Western Reserve PBS (WNEO), WSKG Public TV (WSKG), WVIZ/PBS ideastream (WVIZ), WVPB (WVPB), WVPT - Your Source for PBS and More! (WVPT), PBS 39 (WLVT), NJTV Public Media NJ (WNJT), Howard University Television (WHUT), WLIW21 (WLIW), CONNECTICUT PUBLIC TELEVISION (WEDH), NHPTV (WENH), WGBH/Channel 2 (WGBH), Rhode Island PBS (WSBE), ETV (WRLK), GPB/Georgia Public Broadcasting (WGTV), UNC-TV (WUNC), WTVI (WTVI), WPBA/Channel 30 (WPBA), SDPB Television (KUSD), Iowa Public Television/IPTV (KDIN), PRAIRIE PUBLIC (KFME), NET1 (KUON), Pioneer Public Television (KWCM), East Tennessee PBS (WSJK), WKNO/Channel 10 (WKNO), Nashville Public Television (WNPT), WCTE-TV (WCTE), WLJT, Channel 11 (WLJT), WTCI (WTCI), APT - Alabama Public Television (WBIQ), Blue Ridge PBS (WBRA), GPB/Georgia Public Broadcasting (WGTV), Lakeland Public Television (KAWE), KET (WKLE), Mississippi Public Broadcasting (WMPN), UNC-TV (WUNC), Western Reserve PBS (WNEO), WSIU Public Broadcasting (WSIU), WVIZ/PBS ideastream (WVIZ), WKYU-PBS (WKYU), WPBA/Channel 30 (WPBA), Basin PBS (KPBT), KUHT / Channel 8 (KUHT), KACV (KACV), KAMU - TV (KAMU), KCOS/Channel 13 (KCOS), KEDT/Channel 16 (KEDT), KERA 13 (KERA), KLRN (KLRN), KLRU (KLRU), KMBH-TV (KMBH), KNCT (KNCT), KTTZ-TV (KTXT), AETN/ARKANSAS ETV NETWORK (KETS), KENW-TV3 (KENW), KRWG/Channel 22 (KRWG), LPB/LOUISIANA PUBLIC BROADCASTING (WLPB), NET1 (KUON), KNME-TV/Channel 5 (KNME), Nashville Public Television (WNPT), OETA (KETA), Rocky Mountain PBS (KRMA), KUED Channel 7 (KUED), Idaho Public Television (KAID), Vegas PBS (KLVX), KBYU-TV (KBYU), Vermont PBS (WETK), Mountain Lake PBS (WCFE), NHPTV (WENH), WGBH/Channel 2 (WGBH), WGBY (WGBY), WMHT Educational Telecommunications (WMHT), WTJX Channel 12 (WTJX), Blue Ridge PBS (WBRA), WCVE PBS (WCVE), WHRO (WHRO), WVPT - Your Source for PBS and More! (WVPT), East Tennessee PBS (WSJK), KET (WKLE), mpt/Maryland Public Television (WMPB), UNC-TV (WUNC), WETA Television and Radio (WETA), Howard University Television (WHUT), KCTS 9 (KCTS), KSPS (KSPS), Idaho Public Television (KAID), OPB (KOPB), KBTC Public Television (KBTC), KWSU/Channel 10 & KTNW/Channel 31 (KWSU), WVPB (WVPB), Blue Ridge PBS (WBRA), KET (WKLE), mpt/Maryland Public Television (WMPB), WETA Television and Radio (WETA), Western Reserve PBS (WNEO), WOSU TV (WOSU), WOUB/WOUC (WOUB), WQED Multimedia (WQED), WVPT - Your Source for PBS and More! (WVPT), Howard University Television (WHUT), Milwaukee Public Television (WMVS), WPT (WPNE), Iowa Public Television/IPTV (KDIN), Lakeland Public Television (KAWE), WDSE - WRPT (WDSE), TPT (KTCA), WNMU-TV Public TV 13 (WNMU), WTTW11 (WTTW), KSMQ (KSMQ), WYCC PBS Chicago (WYCC), Wyoming PBS (KCWC), Idaho Public Television (KAID), KUED Channel 7 (KUED), MontanaPBS (KUSM), NET1 (KUON), Rocky Mountain PBS (KRMA), SDPB Television (KUSD), Colorado Public Television / KBDI 12 (KBDI), KBYU-TV (KBYU)
+ - **pbs**: Public Broadcasting Service (PBS) and member stations: PBS: Public Broadcasting Service, APT - Alabama Public Television (WBIQ), GPB/Georgia Public Broadcasting (WGTV), Mississippi Public Broadcasting (WMPN), Nashville Public Television (WNPT), WFSU-TV (WFSU), WSRE (WSRE), WTCI (WTCI), WPBA/Channel 30 (WPBA), Alaska Public Media (KAKM), Arizona PBS (KAET), KNME-TV/Channel 5 (KNME), Vegas PBS (KLVX), AETN/ARKANSAS ETV NETWORK (KETS), KET (WKLE), WKNO/Channel 10 (WKNO), LPB/LOUISIANA PUBLIC BROADCASTING (WLPB), OETA (KETA), Ozarks Public Television (KOZK), WSIU Public Broadcasting (WSIU), KEET TV (KEET), KIXE/Channel 9 (KIXE), KPBS San Diego (KPBS), KQED (KQED), KVIE Public Television (KVIE), PBS SoCal/KOCE (KOCE), ValleyPBS (KVPT), CONNECTICUT PUBLIC TELEVISION (WEDH), KNPB Channel 5 (KNPB), SOPTV (KSYS), Rocky Mountain PBS (KRMA), KENW-TV3 (KENW), KUED Channel 7 (KUED), Wyoming PBS (KCWC), Colorado Public Television / KBDI 12 (KBDI), KBYU-TV (KBYU), Thirteen/WNET New York (WNET), WGBH/Channel 2 (WGBH), WGBY (WGBY), NJTV Public Media NJ (WNJT), WLIW21 (WLIW), mpt/Maryland Public Television (WMPB), WETA Television and Radio (WETA), WHYY (WHYY), PBS 39 (WLVT), WVPT - Your Source for PBS and More! (WVPT), Howard University Television (WHUT), WEDU PBS (WEDU), WGCU Public Media (WGCU), WPBT2 (WPBT), WUCF TV (WUCF), WUFT/Channel 5 (WUFT), WXEL/Channel 42 (WXEL), WLRN/Channel 17 (WLRN), WUSF Public Broadcasting (WUSF), ETV (WRLK), UNC-TV (WUNC), PBS Hawaii - Oceanic Cable Channel 10 (KHET), Idaho Public Television (KAID), KSPS (KSPS), OPB (KOPB), KWSU/Channel 10 & KTNW/Channel 31 (KWSU), WILL-TV (WILL), Network Knowledge - WSEC/Springfield (WSEC), WTTW11 (WTTW), Iowa Public Television/IPTV (KDIN), Nine Network (KETC), PBS39 Fort Wayne (WFWA), WFYI Indianapolis (WFYI), Milwaukee Public Television (WMVS), WNIN (WNIN), WNIT Public Television (WNIT), WPT (WPNE), WVUT/Channel 22 (WVUT), WEIU/Channel 51 (WEIU), WQPT-TV (WQPT), WYCC PBS Chicago (WYCC), WIPB-TV (WIPB), WTIU (WTIU), CET  (WCET), ThinkTVNetwork (WPTD), WBGU-TV (WBGU), WGVU TV (WGVU), NET1 (KUON), Pioneer Public Television (KWCM), SDPB Television (KUSD), TPT (KTCA), KSMQ (KSMQ), KPTS/Channel 8 (KPTS), KTWU/Channel 11 (KTWU), East Tennessee PBS (WSJK), WCTE-TV (WCTE), WLJT, Channel 11 (WLJT), WOSU TV (WOSU), WOUB/WOUC (WOUB), WVPB (WVPB), WKYU-PBS (WKYU), KERA 13 (KERA), MPBN (WCBB), Mountain Lake PBS (WCFE), NHPTV (WENH), Vermont PBS (WETK), witf (WITF), WQED Multimedia (WQED), WMHT Educational Telecommunications (WMHT), Q-TV (WDCQ), WTVS Detroit Public TV (WTVS), CMU Public Television (WCMU), WKAR-TV (WKAR), WNMU-TV Public TV 13 (WNMU), WDSE - WRPT (WDSE), WGTE TV (WGTE), Lakeland Public Television (KAWE), KMOS-TV - Channels 6.1, 6.2 and 6.3 (KMOS), MontanaPBS (KUSM), KRWG/Channel 22 (KRWG), KACV (KACV), KCOS/Channel 13 (KCOS), WCNY/Channel 24 (WCNY), WNED (WNED), WPBS (WPBS), WSKG Public TV (WSKG), WXXI (WXXI), WPSU (WPSU), WVIA Public Media Studios (WVIA), WTVI (WTVI), Western Reserve PBS (WNEO), WVIZ/PBS ideastream (WVIZ), KCTS 9 (KCTS), Basin PBS (KPBT), KUHT / Channel 8 (KUHT), KLRN (KLRN), KLRU (KLRU), WTJX Channel 12 (WTJX), WCVE PBS (WCVE), KBTC Public Television (KBTC)
  - **Periscope**: Periscope
  - **PhilharmonieDeParis**: Philharmonie de Paris
  - **Phoenix**
index ab7f3aec42ff7807f03095ba269bc5f989541870..428556213239651a6994cedf22c78d62d81e0434 100644 (file)
@@ -99,6 +99,11 @@ class DailymotionIE(DailymotionBaseInfoExtractor):
         {
             'url': 'http://www.dailymotion.com/video/xhza0o',
             'only_matching': True,
+        },
+        # with subtitles
+        {
+            'url': 'http://www.dailymotion.com/video/x20su5f_the-power-of-nightmares-1-the-rise-of-the-politics-of-fear-bbc-2004_news',
+            'only_matching': True,
         }
     ]
 
@@ -122,7 +127,9 @@ class DailymotionIE(DailymotionBaseInfoExtractor):
             webpage, 'comment count', fatal=False))
 
         player_v5 = self._search_regex(
-            [r'buildPlayer\(({.+?})\);', r'playerV5\s*=\s*dmp\.create\([^,]+?,\s*({.+?})\);'],
+            [r'buildPlayer\(({.+?})\);\n',  # See https://github.com/rg3/youtube-dl/issues/7826
+             r'playerV5\s*=\s*dmp\.create\([^,]+?,\s*({.+?})\);',
+             r'buildPlayer\(({.+?})\);'],
             webpage, 'player v5', default=None)
         if player_v5:
             player = self._parse_json(player_v5, video_id)
@@ -172,11 +179,13 @@ class DailymotionIE(DailymotionBaseInfoExtractor):
             uploader_id = metadata.get('owner', {}).get('id')
 
             subtitles = {}
-            for subtitle_lang, subtitle in metadata.get('subtitles', {}).get('data', {}).items():
-                subtitles[subtitle_lang] = [{
-                    'ext': determine_ext(subtitle_url),
-                    'url': subtitle_url,
-                } for subtitle_url in subtitle.get('urls', [])]
+            subtitles_data = metadata.get('subtitles', {}).get('data', {})
+            if subtitles_data and isinstance(subtitles_data, dict):
+                for subtitle_lang, subtitle in subtitles_data.items():
+                    subtitles[subtitle_lang] = [{
+                        'ext': determine_ext(subtitle_url),
+                        'url': subtitle_url,
+                    } for subtitle_url in subtitle.get('urls', [])]
 
             return {
                 'id': video_id,
index d71d7eb7611f915862b1505849a9b4971b89c939..604a0dd222a175a762a56735b2244b7391485c3e 100644 (file)
@@ -16,164 +16,165 @@ from ..utils import (
 
 class PBSIE(InfoExtractor):
     _STATIONS = (
-        ('aptv.org', 'APT - Alabama Public Television (WBIQ)'),  # http://aptv.org/
-        ('gpb.org', 'GPB/Georgia Public Broadcasting (WGTV)'),  # http://www.gpb.org/
-        ('mpbonline.org', 'Mississippi Public Broadcasting (WMPN)'),  # http://www.mpbonline.org
-        ('wnpt.org', 'Nashville Public Television (WNPT)'),  # http://www.wnpt.org
-        ('wfsu.org', 'WFSU-TV (WFSU)'),  # http://wfsu.org/
-        ('wsre.org', 'WSRE (WSRE)'),  # http://www.wsre.org
-        ('wtcitv.org', 'WTCI (WTCI)'),  # http://www.wtcitv.org
-        ('pba.org', 'WPBA/Channel 30 (WPBA)'),  # http://pba.org/
-        ('alaskapublic.org', 'Alaska Public Media (KAKM)'),  # http://alaskapublic.org/kakm
-        ('kuac.org', 'KUAC (KUAC)'),  # http://kuac.org/kuac-tv/
-        ('ktoo.org', '360 North (KTOO)'),  # http://www.ktoo.org/
-        ('azpm.org', 'KUAT 6 (KUAT)'),  # http://www.azpm.org/
-        ('azpbs.org', 'Arizona PBS (KAET)'),  # http://www.azpbs.org
-        ('newmexicopbs.org', 'KNME-TV/Channel 5 (KNME)'),  # http://www.newmexicopbs.org/
-        ('vegaspbs.org', 'Vegas PBS (KLVX)'),  # http://vegaspbs.org/
-        ('aetn.org', 'AETN/ARKANSAS ETV NETWORK (KETS)'),  # http://www.aetn.org/
-        ('ket.org', 'KET (WKLE)'),  # http://www.ket.org/
-        ('wkno.org', 'WKNO/Channel 10 (WKNO)'),  # http://www.wkno.org/
-        ('lpb.org', 'LPB/LOUISIANA PUBLIC BROADCASTING (WLPB)'),  # http://www.lpb.org/
-        ('oeta.tv', 'OETA (KETA)'),  # http://www.oeta.tv
-        ('optv.org', 'Ozarks Public Television (KOZK)'),  # http://www.optv.org/
-        ('wsiu.org', 'WSIU Public Broadcasting (WSIU)'),  # http://www.wsiu.org/
-        ('keet.org', 'KEET TV (KEET)'),  # http://www.keet.org
-        ('kixe.org', 'KIXE/Channel 9 (KIXE)'),  # http://kixe.org/
-        ('kpbs.org', 'KPBS San Diego (KPBS)'),  # http://www.kpbs.org/
-        ('kqed.org', 'KQED (KQED)'),  # http://www.kqed.org
-        ('kvie.org', 'KVIE Public Television (KVIE)'),  # http://www.kvie.org
-        ('pbssocal.org', 'PBS SoCal/KOCE (KOCE)'),  # http://www.pbssocal.org/
-        ('valleypbs.org', 'ValleyPBS (KVPT)'),  # http://www.valleypbs.org/
-        ('cptv.org', 'CONNECTICUT PUBLIC TELEVISION (WEDH)'),  # http://cptv.org
-        ('knpb.org', 'KNPB Channel 5 (KNPB)'),  # http://www.knpb.org/
-        ('soptv.org', 'SOPTV (KSYS)'),  # http://www.soptv.org
-        ('klcs.org', 'KLCS/Channel 58 (KLCS)'),  # http://www.klcs.org
-        ('krcb.org', 'KRCB Television & Radio (KRCB)'),  # http://www.krcb.org
-        ('kvcr.org', 'KVCR TV/DT/FM :: Vision for the Future (KVCR)'),  # http://kvcr.org
-        ('rmpbs.org', 'Rocky Mountain PBS (KRMA)'),  # http://www.rmpbs.org
-        ('kenw.org', 'KENW-TV3 (KENW)'),  # http://www.kenw.org
-        ('kued.org', 'KUED Channel 7 (KUED)'),  # http://www.kued.org
-        ('wyomingpbs.org', 'Wyoming PBS (KCWC)'),  # http://www.wyomingpbs.org
-        ('cpt12.org', 'Colorado Public Television / KBDI 12 (KBDI)'),  # http://www.cpt12.org/
-        ('kbyutv.org', 'KBYU-TV (KBYU)'),  # http://www.kbyutv.org/
-        ('thirteen.org', 'Thirteen/WNET New York (WNET)'),  # http://www.thirteen.org
-        ('wgbh.org', 'WGBH/Channel 2 (WGBH)'),  # http://wgbh.org
-        ('wgby.org', 'WGBY (WGBY)'),  # http://www.wgby.org
-        ('njtvonline.org', 'NJTV Public Media NJ (WNJT)'),  # http://www.njtvonline.org/
-        ('ripbs.org', 'Rhode Island PBS (WSBE)'),  # http://www.ripbs.org/home/
-        ('wliw.org', 'WLIW21 (WLIW)'),  # http://www.wliw.org/
-        ('mpt.org', 'mpt/Maryland Public Television (WMPB)'),  # http://www.mpt.org
-        ('weta.org', 'WETA Television and Radio (WETA)'),  # http://www.weta.org
-        ('whyy.org', 'WHYY (WHYY)'),  # http://www.whyy.org
-        ('wlvt.org', 'PBS 39 (WLVT)'),  # http://www.wlvt.org/
-        ('wvpt.net', 'WVPT - Your Source for PBS and More! (WVPT)'),  # http://www.wvpt.net
-        ('whut.org', 'Howard University Television (WHUT)'),  # http://www.whut.org
-        ('wedu.org', 'WEDU PBS (WEDU)'),  # http://www.wedu.org
-        ('wgcu.org', 'WGCU Public Media (WGCU)'),  # http://www.wgcu.org/
-        ('wjct.org', 'WJCT Public Broadcasting (WJCT)'),  # http://www.wjct.org
-        ('wpbt2.org', 'WPBT2 (WPBT)'),  # http://www.wpbt2.org
-        ('wucftv.org', 'WUCF TV (WUCF)'),  # http://wucftv.org
-        ('wuft.org', 'WUFT/Channel 5 (WUFT)'),  # http://www.wuft.org
-        ('wxel.org', 'WXEL/Channel 42 (WXEL)'),  # http://www.wxel.org/home/
-        ('wlrn.org', 'WLRN/Channel 17 (WLRN)'),  # http://www.wlrn.org/
-        ('wusf.org', 'WUSF Public Broadcasting (WUSF)'),  # http://wusf.org/
-        ('scetv.org', 'ETV (WRLK)'),  # http://www.scetv.org
-        ('unctv.org', 'UNC-TV (WUNC)'),  # http://www.unctv.org/
-        ('pbsguam.org', 'PBS Guam (KGTF)'),  # http://www.pbsguam.org/
-        ('pbshawaii.org', 'PBS Hawaii - Oceanic Cable Channel 10 (KHET)'),  # http://www.pbshawaii.org/
-        ('idahoptv.org', 'Idaho Public Television (KAID)'),  # http://idahoptv.org
-        ('ksps.org', 'KSPS (KSPS)'),  # http://www.ksps.org/home/
-        ('opb.org', 'OPB (KOPB)'),  # http://www.opb.org
-        ('kwsu.org', 'KWSU/Channel 10 & KTNW/Channel 31 (KWSU)'),  # http://www.kwsu.org
-        ('illinois.edu', 'WILL-TV (WILL)'),  # http://will.illinois.edu/
-        ('wsec.tv', 'Network Knowledge - WSEC/Springfield (WSEC)'),  # http://www.wsec.tv
-        ('wttw.com', 'WTTW11 (WTTW)'),  # http://www.wttw.com/
-        ('wtvp.org', 'WTVP & WTVP.org, Public Media for Central Illinois (WTVP)'),  # http://www.wtvp.org/
-        ('iptv.org', 'Iowa Public Television/IPTV (KDIN)'),  # http://www.iptv.org/
-        ('ninenet.org', 'Nine Network (KETC)'),  # http://www.ninenet.org
-        ('wfwa.org', 'PBS39 Fort Wayne (WFWA)'),  # http://wfwa.org/
-        ('wfyi.org', 'WFYI Indianapolis (WFYI)'),  # http://www.wfyi.org
-        ('mptv.org', 'Milwaukee Public Television (WMVS)'),  # http://www.mptv.org
-        ('wnin.org', 'WNIN (WNIN)'),  # http://www.wnin.org/
-        ('wnit.org', 'WNIT Public Television (WNIT)'),  # http://www.wnit.org/
-        ('wpt.org', 'WPT (WPNE)'),  # http://www.wpt.org/
-        ('wvut.org', 'WVUT/Channel 22 (WVUT)'),  # http://wvut.org/
-        ('weiu.net', 'WEIU/Channel 51 (WEIU)'),  # http://www.weiu.net
-        ('wqpt.org', 'WQPT-TV (WQPT)'),  # http://www.wqpt.org
-        ('wycc.org', 'WYCC PBS Chicago (WYCC)'),  # http://www.wycc.org
-        ('lakeshorepublicmedia.org', 'Lakeshore Public Television (WYIN)'),  # http://lakeshorepublicmedia.org/
-        ('wipb.org', 'WIPB-TV (WIPB)'),  # http://wipb.org
-        ('indianapublicmedia.org', 'WTIU (WTIU)'),  # http://indianapublicmedia.org/tv/
-        ('cetconnect.org', 'CET  (WCET)'),  # http://www.cetconnect.org
-        ('thinktv.org', 'ThinkTVNetwork (WPTD)'),  # http://www.thinktv.org
-        ('wbgu.org', 'WBGU-TV (WBGU)'),  # http://wbgu.org
-        ('wgvu.org', 'WGVU TV (WGVU)'),  # http://www.wgvu.org/
-        ('netnebraska.org', 'NET1 (KUON)'),  # http://netnebraska.org
-        ('pioneer.org', 'Pioneer Public Television (KWCM)'),  # http://www.pioneer.org
-        ('sdpb.org', 'SDPB Television (KUSD)'),  # http://www.sdpb.org
-        ('tpt.org', 'TPT (KTCA)'),  # http://www.tpt.org
-        ('ksmq.org', 'KSMQ (KSMQ)'),  # http://www.ksmq.org/
-        ('kpts.org', 'KPTS/Channel 8 (KPTS)'),  # http://www.kpts.org/
-        ('ktwu.org', 'KTWU/Channel 11 (KTWU)'),  # http://ktwu.org
-        ('shptv.org', 'Smoky Hills Public Television (KOOD)'),  # http://www.shptv.org
-        ('kcpt.org', 'KCPT Kansas City Public Television (KCPT)'),  # http://kcpt.org/
-        ('blueridgepbs.org', 'Blue Ridge PBS (WBRA)'),  # http://www.blueridgepbs.org/
-        ('easttennesseepbs.org', 'East Tennessee PBS (WSJK)'),  # http://easttennesseepbs.org
-        ('wcte.org', 'WCTE-TV (WCTE)'),  # http://www.wcte.org
-        ('wljt.org', 'WLJT, Channel 11 (WLJT)'),  # http://wljt.org/
-        ('wosu.org', 'WOSU TV (WOSU)'),  # http://wosu.org/
-        ('woub.org', 'WOUB/WOUC (WOUB)'),  # http://woub.org/tv/index.php?section=5
-        ('wvpublic.org', 'WVPB (WVPB)'),  # http://wvpublic.org/
-        ('wkyupbs.org', 'WKYU-PBS (WKYU)'),  # http://www.wkyupbs.org
-        ('wyes.org', 'WYES-TV/New Orleans (WYES)'),  # http://www.wyes.org
-        ('kera.org', 'KERA 13 (KERA)'),  # http://www.kera.org/
-        ('mpbn.net', 'MPBN (WCBB)'),  # http://www.mpbn.net/
-        ('mountainlake.org', 'Mountain Lake PBS (WCFE)'),  # http://www.mountainlake.org/
-        ('nhptv.org', 'NHPTV (WENH)'),  # http://nhptv.org/
-        ('vpt.org', 'Vermont PBS (WETK)'),  # http://www.vpt.org
-        ('witf.org', 'witf (WITF)'),  # http://www.witf.org
-        ('wqed.org', 'WQED Multimedia (WQED)'),  # http://www.wqed.org/
-        ('wmht.org', 'WMHT Educational Telecommunications (WMHT)'),  # http://www.wmht.org/home/
-        ('deltabroadcasting.org', 'Q-TV (WDCQ)'),  # http://www.deltabroadcasting.org
-        ('dptv.org', 'WTVS Detroit Public TV (WTVS)'),  # http://www.dptv.org/
-        ('wcmu.org', 'CMU Public Television (WCMU)'),  # http://www.wcmu.org
-        ('wkar.org', 'WKAR-TV (WKAR)'),  # http://wkar.org/
-        ('nmu.edu', 'WNMU-TV Public TV 13 (WNMU)'),  # http://wnmutv.nmu.edu
-        ('wdse.org', 'WDSE - WRPT (WDSE)'),  # http://www.wdse.org/
-        ('wgte.org', 'WGTE TV (WGTE)'),  # http://www.wgte.org
-        ('lakelandptv.org', 'Lakeland Public Television (KAWE)'),  # http://www.lakelandptv.org
-        ('prairiepublic.org', 'PRAIRIE PUBLIC (KFME)'),  # http://www.prairiepublic.org/
-        ('kmos.org', 'KMOS-TV - Channels 6.1, 6.2 and 6.3 (KMOS)'),  # http://www.kmos.org/
-        ('montanapbs.org', 'MontanaPBS (KUSM)'),  # http://montanapbs.org
-        ('krwg.org', 'KRWG/Channel 22 (KRWG)'),  # http://www.krwg.org
-        ('panhandlepbs.org', 'KACV (KACV)'),  # http://www.panhandlepbs.org/home/
-        ('kcostv.org', 'KCOS/Channel 13 (KCOS)'),  # www.kcostv.org
-        ('wcny.org', 'WCNY/Channel 24 (WCNY)'),  # http://www.wcny.org
-        ('wned.org', 'WNED (WNED)'),  # http://www.wned.org/
-        ('wpbstv.org', 'WPBS (WPBS)'),  # http://www.wpbstv.org
-        ('wskg.org', 'WSKG Public TV (WSKG)'),  # http://wskg.org
-        ('wxxi.org', 'WXXI (WXXI)'),  # http://wxxi.org
-        ('wpsu.org', 'WPSU (WPSU)'),  # http://www.wpsu.org
-        ('wqln.org', 'WQLN/Channel 54 (WQLN)'),  # http://www.wqln.org
-        ('wvia.org', 'WVIA Public Media Studios (WVIA)'),  # http://www.wvia.org/
-        ('wtvi.org', 'WTVI (WTVI)'),  # http://www.wtvi.org/
-        ('whro.org', 'WHRO (WHRO)'),  # http://whro.org
-        ('westernreservepublicmedia.org', 'Western Reserve PBS (WNEO)'),  # http://www.WesternReservePublicMedia.org/
-        ('wviz.org', 'WVIZ/PBS ideastream (WVIZ)'),  # http://www.wviz.org/
-        ('kcts9.org', 'KCTS 9 (KCTS)'),  # http://kcts9.org/
-        ('basinpbs.org', 'Basin PBS (KPBT)'),  # http://www.basinpbs.org
-        ('houstonpublicmedia.org', 'KUHT / Channel 8 (KUHT)'),  # http://www.houstonpublicmedia.org/
-        ('tamu.edu', 'KAMU - TV (KAMU)'),  # http://KAMU.tamu.edu
-        ('kedt.org', 'KEDT/Channel 16 (KEDT)'),  # http://www.kedt.org
-        ('klrn.org', 'KLRN (KLRN)'),  # http://www.klrn.org
-        ('klru.org', 'KLRU (KLRU)'),  # http://www.klru.org
-        ('kmbh.org', 'KMBH-TV (KMBH)'),  # http://www.kmbh.org
-        ('knct.org', 'KNCT (KNCT)'),  # http://www.knct.org
-        ('ktxt.org', 'KTTZ-TV (KTXT)'),  # http://www.ktxt.org
-        ('wtjx.org', 'WTJX Channel 12 (WTJX)'),  # http://www.wtjx.org/
-        ('ideastations.org', 'WCVE PBS (WCVE)'),  # http://ideastations.org/
-        ('kbtc.org', 'KBTC Public Television (KBTC)'),  # http://kbtc.org
+        ('video.pbs.org', 'PBS: Public Broadcasting Service'),  # http://www.pbs.org/
+        ('video.aptv.org', 'APT - Alabama Public Television (WBIQ)'),  # http://aptv.org/
+        ('video.gpb.org', 'GPB/Georgia Public Broadcasting (WGTV)'),  # http://www.gpb.org/
+        ('video.mpbonline.org', 'Mississippi Public Broadcasting (WMPN)'),  # http://www.mpbonline.org
+        ('video.wnpt.org', 'Nashville Public Television (WNPT)'),  # http://www.wnpt.org
+        ('video.wfsu.org', 'WFSU-TV (WFSU)'),  # http://wfsu.org/
+        ('video.wsre.org', 'WSRE (WSRE)'),  # http://www.wsre.org
+        ('video.wtcitv.org', 'WTCI (WTCI)'),  # http://www.wtcitv.org
+        ('video.pba.org', 'WPBA/Channel 30 (WPBA)'),  # http://pba.org/
+        ('video.alaskapublic.org', 'Alaska Public Media (KAKM)'),  # http://alaskapublic.org/kakm
+        # ('kuac.org', 'KUAC (KUAC)'),  # http://kuac.org/kuac-tv/
+        # ('ktoo.org', '360 North (KTOO)'),  # http://www.ktoo.org/
+        # ('azpm.org', 'KUAT 6 (KUAT)'),  # http://www.azpm.org/
+        ('video.azpbs.org', 'Arizona PBS (KAET)'),  # http://www.azpbs.org
+        ('portal.knme.org', 'KNME-TV/Channel 5 (KNME)'),  # http://www.newmexicopbs.org/
+        ('video.vegaspbs.org', 'Vegas PBS (KLVX)'),  # http://vegaspbs.org/
+        ('watch.aetn.org', 'AETN/ARKANSAS ETV NETWORK (KETS)'),  # http://www.aetn.org/
+        ('video.ket.org', 'KET (WKLE)'),  # http://www.ket.org/
+        ('video.wkno.org', 'WKNO/Channel 10 (WKNO)'),  # http://www.wkno.org/
+        ('video.lpb.org', 'LPB/LOUISIANA PUBLIC BROADCASTING (WLPB)'),  # http://www.lpb.org/
+        ('videos.oeta.tv', 'OETA (KETA)'),  # http://www.oeta.tv
+        ('video.optv.org', 'Ozarks Public Television (KOZK)'),  # http://www.optv.org/
+        ('watch.wsiu.org', 'WSIU Public Broadcasting (WSIU)'),  # http://www.wsiu.org/
+        ('video.keet.org', 'KEET TV (KEET)'),  # http://www.keet.org
+        ('pbs.kixe.org', 'KIXE/Channel 9 (KIXE)'),  # http://kixe.org/
+        ('video.kpbs.org', 'KPBS San Diego (KPBS)'),  # http://www.kpbs.org/
+        ('video.kqed.org', 'KQED (KQED)'),  # http://www.kqed.org
+        ('vids.kvie.org', 'KVIE Public Television (KVIE)'),  # http://www.kvie.org
+        ('video.pbssocal.org', 'PBS SoCal/KOCE (KOCE)'),  # http://www.pbssocal.org/
+        ('video.valleypbs.org', 'ValleyPBS (KVPT)'),  # http://www.valleypbs.org/
+        ('video.cptv.org', 'CONNECTICUT PUBLIC TELEVISION (WEDH)'),  # http://cptv.org
+        ('watch.knpb.org', 'KNPB Channel 5 (KNPB)'),  # http://www.knpb.org/
+        ('video.soptv.org', 'SOPTV (KSYS)'),  # http://www.soptv.org
+        # ('klcs.org', 'KLCS/Channel 58 (KLCS)'),  # http://www.klcs.org
+        # ('krcb.org', 'KRCB Television & Radio (KRCB)'),  # http://www.krcb.org
+        # ('kvcr.org', 'KVCR TV/DT/FM :: Vision for the Future (KVCR)'),  # http://kvcr.org
+        ('video.rmpbs.org', 'Rocky Mountain PBS (KRMA)'),  # http://www.rmpbs.org
+        ('video.kenw.org', 'KENW-TV3 (KENW)'),  # http://www.kenw.org
+        ('video.kued.org', 'KUED Channel 7 (KUED)'),  # http://www.kued.org
+        ('video.wyomingpbs.org', 'Wyoming PBS (KCWC)'),  # http://www.wyomingpbs.org
+        ('video.cpt12.org', 'Colorado Public Television / KBDI 12 (KBDI)'),  # http://www.cpt12.org/
+        ('video.kbyueleven.org', 'KBYU-TV (KBYU)'),  # http://www.kbyutv.org/
+        ('video.thirteen.org', 'Thirteen/WNET New York (WNET)'),  # http://www.thirteen.org
+        ('video.wgbh.org', 'WGBH/Channel 2 (WGBH)'),  # http://wgbh.org
+        ('video.wgby.org', 'WGBY (WGBY)'),  # http://www.wgby.org
+        ('watch.njtvonline.org', 'NJTV Public Media NJ (WNJT)'),  # http://www.njtvonline.org/
+        # ('ripbs.org', 'Rhode Island PBS (WSBE)'),  # http://www.ripbs.org/home/
+        ('watch.wliw.org', 'WLIW21 (WLIW)'),  # http://www.wliw.org/
+        ('video.mpt.tv', 'mpt/Maryland Public Television (WMPB)'),  # http://www.mpt.org
+        ('watch.weta.org', 'WETA Television and Radio (WETA)'),  # http://www.weta.org
+        ('video.whyy.org', 'WHYY (WHYY)'),  # http://www.whyy.org
+        ('video.wlvt.org', 'PBS 39 (WLVT)'),  # http://www.wlvt.org/
+        ('video.wvpt.net', 'WVPT - Your Source for PBS and More! (WVPT)'),  # http://www.wvpt.net
+        ('video.whut.org', 'Howard University Television (WHUT)'),  # http://www.whut.org
+        ('video.wedu.org', 'WEDU PBS (WEDU)'),  # http://www.wedu.org
+        ('video.wgcu.org', 'WGCU Public Media (WGCU)'),  # http://www.wgcu.org/
+        # ('wjct.org', 'WJCT Public Broadcasting (WJCT)'),  # http://www.wjct.org
+        ('video.wpbt2.org', 'WPBT2 (WPBT)'),  # http://www.wpbt2.org
+        ('video.wucftv.org', 'WUCF TV (WUCF)'),  # http://wucftv.org
+        ('video.wuft.org', 'WUFT/Channel 5 (WUFT)'),  # http://www.wuft.org
+        ('watch.wxel.org', 'WXEL/Channel 42 (WXEL)'),  # http://www.wxel.org/home/
+        ('video.wlrn.org', 'WLRN/Channel 17 (WLRN)'),  # http://www.wlrn.org/
+        ('video.wusf.usf.edu', 'WUSF Public Broadcasting (WUSF)'),  # http://wusf.org/
+        ('video.scetv.org', 'ETV (WRLK)'),  # http://www.scetv.org
+        ('video.unctv.org', 'UNC-TV (WUNC)'),  # http://www.unctv.org/
+        # ('pbsguam.org', 'PBS Guam (KGTF)'),  # http://www.pbsguam.org/
+        ('video.pbshawaii.org', 'PBS Hawaii - Oceanic Cable Channel 10 (KHET)'),  # http://www.pbshawaii.org/
+        ('video.idahoptv.org', 'Idaho Public Television (KAID)'),  # http://idahoptv.org
+        ('video.ksps.org', 'KSPS (KSPS)'),  # http://www.ksps.org/home/
+        ('watch.opb.org', 'OPB (KOPB)'),  # http://www.opb.org
+        ('watch.nwptv.org', 'KWSU/Channel 10 & KTNW/Channel 31 (KWSU)'),  # http://www.kwsu.org
+        ('video.will.illinois.edu', 'WILL-TV (WILL)'),  # http://will.illinois.edu/
+        ('video.networkknowledge.tv', 'Network Knowledge - WSEC/Springfield (WSEC)'),  # http://www.wsec.tv
+        ('video.wttw.com', 'WTTW11 (WTTW)'),  # http://www.wttw.com/
+        # ('wtvp.org', 'WTVP & WTVP.org, Public Media for Central Illinois (WTVP)'),  # http://www.wtvp.org/
+        ('video.iptv.org', 'Iowa Public Television/IPTV (KDIN)'),  # http://www.iptv.org/
+        ('video.ninenet.org', 'Nine Network (KETC)'),  # http://www.ninenet.org
+        ('video.wfwa.org', 'PBS39 Fort Wayne (WFWA)'),  # http://wfwa.org/
+        ('video.wfyi.org', 'WFYI Indianapolis (WFYI)'),  # http://www.wfyi.org
+        ('video.mptv.org', 'Milwaukee Public Television (WMVS)'),  # http://www.mptv.org
+        ('video.wnin.org', 'WNIN (WNIN)'),  # http://www.wnin.org/
+        ('video.wnit.org', 'WNIT Public Television (WNIT)'),  # http://www.wnit.org/
+        ('video.wpt.org', 'WPT (WPNE)'),  # http://www.wpt.org/
+        ('video.wvut.org', 'WVUT/Channel 22 (WVUT)'),  # http://wvut.org/
+        ('video.weiu.net', 'WEIU/Channel 51 (WEIU)'),  # http://www.weiu.net
+        ('video.wqpt.org', 'WQPT-TV (WQPT)'),  # http://www.wqpt.org
+        ('video.wycc.org', 'WYCC PBS Chicago (WYCC)'),  # http://www.wycc.org
+        # ('lakeshorepublicmedia.org', 'Lakeshore Public Television (WYIN)'),  # http://lakeshorepublicmedia.org/
+        ('video.wipb.org', 'WIPB-TV (WIPB)'),  # http://wipb.org
+        ('video.indianapublicmedia.org', 'WTIU (WTIU)'),  # http://indianapublicmedia.org/tv/
+        ('watch.cetconnect.org', 'CET  (WCET)'),  # http://www.cetconnect.org
+        ('video.thinktv.org', 'ThinkTVNetwork (WPTD)'),  # http://www.thinktv.org
+        ('video.wbgu.org', 'WBGU-TV (WBGU)'),  # http://wbgu.org
+        ('video.wgvu.org', 'WGVU TV (WGVU)'),  # http://www.wgvu.org/
+        ('video.netnebraska.org', 'NET1 (KUON)'),  # http://netnebraska.org
+        ('video.pioneer.org', 'Pioneer Public Television (KWCM)'),  # http://www.pioneer.org
+        ('watch.sdpb.org', 'SDPB Television (KUSD)'),  # http://www.sdpb.org
+        ('video.tpt.org', 'TPT (KTCA)'),  # http://www.tpt.org
+        ('watch.ksmq.org', 'KSMQ (KSMQ)'),  # http://www.ksmq.org/
+        ('watch.kpts.org', 'KPTS/Channel 8 (KPTS)'),  # http://www.kpts.org/
+        ('watch.ktwu.org', 'KTWU/Channel 11 (KTWU)'),  # http://ktwu.org
+        # ('shptv.org', 'Smoky Hills Public Television (KOOD)'),  # http://www.shptv.org
+        # ('kcpt.org', 'KCPT Kansas City Public Television (KCPT)'),  # http://kcpt.org/
+        # ('blueridgepbs.org', 'Blue Ridge PBS (WBRA)'),  # http://www.blueridgepbs.org/
+        ('watch.easttennesseepbs.org', 'East Tennessee PBS (WSJK)'),  # http://easttennesseepbs.org
+        ('video.wcte.tv', 'WCTE-TV (WCTE)'),  # http://www.wcte.org
+        ('video.wljt.org', 'WLJT, Channel 11 (WLJT)'),  # http://wljt.org/
+        ('video.wosu.org', 'WOSU TV (WOSU)'),  # http://wosu.org/
+        ('video.woub.org', 'WOUB/WOUC (WOUB)'),  # http://woub.org/tv/index.php?section=5
+        ('video.wvpublic.org', 'WVPB (WVPB)'),  # http://wvpublic.org/
+        ('video.wkyupbs.org', 'WKYU-PBS (WKYU)'),  # http://www.wkyupbs.org
+        # ('wyes.org', 'WYES-TV/New Orleans (WYES)'),  # http://www.wyes.org
+        ('video.kera.org', 'KERA 13 (KERA)'),  # http://www.kera.org/
+        ('video.mpbn.net', 'MPBN (WCBB)'),  # http://www.mpbn.net/
+        ('video.mountainlake.org', 'Mountain Lake PBS (WCFE)'),  # http://www.mountainlake.org/
+        ('video.nhptv.org', 'NHPTV (WENH)'),  # http://nhptv.org/
+        ('video.vpt.org', 'Vermont PBS (WETK)'),  # http://www.vpt.org
+        ('video.witf.org', 'witf (WITF)'),  # http://www.witf.org
+        ('watch.wqed.org', 'WQED Multimedia (WQED)'),  # http://www.wqed.org/
+        ('video.wmht.org', 'WMHT Educational Telecommunications (WMHT)'),  # http://www.wmht.org/home/
+        ('video.deltabroadcasting.org', 'Q-TV (WDCQ)'),  # http://www.deltabroadcasting.org
+        ('video.dptv.org', 'WTVS Detroit Public TV (WTVS)'),  # http://www.dptv.org/
+        ('video.wcmu.org', 'CMU Public Television (WCMU)'),  # http://www.wcmu.org
+        ('video.wkar.org', 'WKAR-TV (WKAR)'),  # http://wkar.org/
+        ('wnmuvideo.nmu.edu', 'WNMU-TV Public TV 13 (WNMU)'),  # http://wnmutv.nmu.edu
+        ('video.wdse.org', 'WDSE - WRPT (WDSE)'),  # http://www.wdse.org/
+        ('video.wgte.org', 'WGTE TV (WGTE)'),  # http://www.wgte.org
+        ('video.lptv.org', 'Lakeland Public Television (KAWE)'),  # http://www.lakelandptv.org
+        # ('prairiepublic.org', 'PRAIRIE PUBLIC (KFME)'),  # http://www.prairiepublic.org/
+        ('video.kmos.org', 'KMOS-TV - Channels 6.1, 6.2 and 6.3 (KMOS)'),  # http://www.kmos.org/
+        ('watch.montanapbs.org', 'MontanaPBS (KUSM)'),  # http://montanapbs.org
+        ('video.krwg.org', 'KRWG/Channel 22 (KRWG)'),  # http://www.krwg.org
+        ('video.kacvtv.org', 'KACV (KACV)'),  # http://www.panhandlepbs.org/home/
+        ('video.kcostv.org', 'KCOS/Channel 13 (KCOS)'),  # www.kcostv.org
+        ('video.wcny.org', 'WCNY/Channel 24 (WCNY)'),  # http://www.wcny.org
+        ('video.wned.org', 'WNED (WNED)'),  # http://www.wned.org/
+        ('watch.wpbstv.org', 'WPBS (WPBS)'),  # http://www.wpbstv.org
+        ('video.wskg.org', 'WSKG Public TV (WSKG)'),  # http://wskg.org
+        ('video.wxxi.org', 'WXXI (WXXI)'),  # http://wxxi.org
+        ('video.wpsu.org', 'WPSU (WPSU)'),  # http://www.wpsu.org
+        # ('wqln.org', 'WQLN/Channel 54 (WQLN)'),  # http://www.wqln.org
+        ('on-demand.wvia.org', 'WVIA Public Media Studios (WVIA)'),  # http://www.wvia.org/
+        ('video.wtvi.org', 'WTVI (WTVI)'),  # http://www.wtvi.org/
+        # ('whro.org', 'WHRO (WHRO)'),  # http://whro.org
+        ('video.westernreservepublicmedia.org', 'Western Reserve PBS (WNEO)'),  # http://www.WesternReservePublicMedia.org/
+        ('video.ideastream.org', 'WVIZ/PBS ideastream (WVIZ)'),  # http://www.wviz.org/
+        ('video.kcts9.org', 'KCTS 9 (KCTS)'),  # http://kcts9.org/
+        ('video.basinpbs.org', 'Basin PBS (KPBT)'),  # http://www.basinpbs.org
+        ('video.houstonpbs.org', 'KUHT / Channel 8 (KUHT)'),  # http://www.houstonpublicmedia.org/
+        # ('tamu.edu', 'KAMU - TV (KAMU)'),  # http://KAMU.tamu.edu
+        # ('kedt.org', 'KEDT/Channel 16 (KEDT)'),  # http://www.kedt.org
+        ('video.klrn.org', 'KLRN (KLRN)'),  # http://www.klrn.org
+        ('video.klru.tv', 'KLRU (KLRU)'),  # http://www.klru.org
+        # ('kmbh.org', 'KMBH-TV (KMBH)'),  # http://www.kmbh.org
+        # ('knct.org', 'KNCT (KNCT)'),  # http://www.knct.org
+        # ('ktxt.org', 'KTTZ-TV (KTXT)'),  # http://www.ktxt.org
+        ('video.wtjx.org', 'WTJX Channel 12 (WTJX)'),  # http://www.wtjx.org/
+        ('video.ideastations.org', 'WCVE PBS (WCVE)'),  # http://ideastations.org/
+        ('video.kbtc.org', 'KBTC Public Television (KBTC)'),  # http://kbtc.org
     )
 
     IE_NAME = 'pbs'
@@ -182,13 +183,13 @@ class PBSIE(InfoExtractor):
     _VALID_URL = r'''(?x)https?://
         (?:
            # Direct video URL
-           (?:videos?|watch)\.(?:%s)/(?:viralplayer|video)/(?P<id>[0-9]+)/? |
+           (?:%s)/(?:viralplayer|video)/(?P<id>[0-9]+)/? |
            # Article with embedded player (or direct video)
            (?:www\.)?pbs\.org/(?:[^/]+/){2,5}(?P<presumptive_id>[^/]+?)(?:\.html)?/?(?:$|[?\#]) |
            # Player
            (?:video|player)\.pbs\.org/(?:widget/)?partnerplayer/(?P<player_id>[^/]+)/
         )
-    ''' % '|'.join(list(zip(*_STATIONS))[0])
+    ''' % '|'.join(re.escape(p) for p in list(zip(*_STATIONS))[0])
 
     _TESTS = [
         {
index 0f55710069b6941d1241a1e70b6d482febf7d4a0..6cd748b48cb896af4e5d010d4d50f142b1ecd9f2 100644 (file)
@@ -1,3 +1,3 @@
 from __future__ import unicode_literals
 
-__version__ = '2015.12.09'
+__version__ = '2015.12.10'