Bug 27373 - С версии 2.0 перестал понимать m3u-файлы
Summary: С версии 2.0 перестал понимать m3u-файлы
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: vlc (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-28 00:42 MSK by Vitaly Lipatov
Modified: 2012-05-30 21:10 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2012-05-28 00:42:35 MSK
После обновления vlc до версии 2.0 выяснилось, что
$ vlc http://server/file.m3u больше не воспринимается как список каналов и в в плейлисте появляется просто как один медиа-ресурс, который никак не открывается.

Причины обнаружить не удалось.
Comment 1 Sergey Bolshakov 2012-05-28 01:18:17 MSK
прямо сейчас вижу обратное.
что видно в curl -v http://server/file.m3u >/dev/null ?
что в самОм m3u ?
что происходит при попытке проиграть непосредственно один из каналов ?
Comment 2 Vitaly Lipatov 2012-05-28 18:10:29 MSK
(В ответ на комментарий №1)
> прямо сейчас вижу обратное.
> что видно в curl -v http://server/file.m3u >/dev/null ?
$ curl -v http://westhome.spb.ru/files/westcall_tv.m3u >/dev/null
* About to connect() to westhome.spb.ru port 80 (#0)
*   Trying 84.52.81.75...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* connected
* Connected to westhome.spb.ru (84.52.81.75) port 80 (#0)
> GET /files/westcall_tv.m3u HTTP/1.1
> User-Agent: curl/7.24.0-DEV (x86_64-alt-linux-gnu) libcurl/7.24.0-DEV OpenSSL/1.0.0j zlib/1.2.5 libidn/1.24 libssh2/1.3.0_DEV
> Host: westhome.spb.ru
> Accept: */*
> 
< HTTP/1.1 200 OK
< Server: nginx
< Date: Mon, 28 May 2012 14:08:42 GMT
< Content-Type: audio/x-mpegurl
< Connection: keep-alive
< Last-Modified: Mon, 04 Oct 2010 07:58:41 GMT
< ETag: "12b8001e-8c6-491c5e99fee40"
< Accept-Ranges: bytes
< Content-Length: 2246
< 
{ [data not shown]
100  2246  100  2246    0     0   185k      0 --:--:-- --:--:-- --:--:--  313k
* Connection #0 to host westhome.spb.ru left intact
* Closing connection #0


> что в самОм m3u ?
$ curl http://westhome.spb.ru/files/westcall_tv.m3u
#EXTM3U
#EXTINF:0,Первый канал Петербург	
udp://@233.99.64.1:1234
#EXTINF:0,Телеканал "Россия" Петербург	
udp://@233.99.64.2:1234
#EXTINF:0,5 Канал Петербург
udp://@233.99.64.7:1234
#EXTINF:0,Культура Петербург	
udp://@233.99.64.11:1234
#EXTINF:0,НТВ Петербург	
udp://@233.99.64.4:1234
#EXTINF:0,Рен-ТВ Петербург	
udp://@233.99.64.5:1234
#EXTINF:0,СТО Петербург	
udp://@233.99.64.10:1234
....

> что происходит при попытке проиграть непосредственно один из каналов ?
Всё играет.

Если подозрения к формату файла, просьба проверить у себя http://westhome.spb.ru/files/westcall_tv.m3u, хоть будет куда копать.
Comment 3 Sergey Bolshakov 2012-05-28 18:53:14 MSK
поскольку это multicast, я этого всего не увижу.
можно поиграть в угадайку: что будет, если переименовать этот файлик в file.m3u8
и скормить vlc ? (внутри должен быть utf-8, если вдруг не)
Comment 4 Vitaly Lipatov 2012-05-28 19:09:02 MSK
(В ответ на комментарий №3)
> поскольку это multicast, я этого всего не увижу.
Речь идёт о том, что не открывается список. При чём тут multicast?
Воспроизводить ничего не надо.

> можно поиграть в угадайку: что будет, если переименовать этот файлик в
> file.m3u8
> и скормить vlc ? (внутри должен быть utf-8, если вдруг не)
Хм... Если скачать файлик и открывать его, то всё работает.
А если указывать URL, то не открывает.

Другими знаками:
Так - не работает:
$ vlc http://westhome.spb.ru/files/westcall_tv.m3u

Так - работает:
$ wget http://westhome.spb.ru/files/westcall_tv.m3u
$ vlc westcall_tv.m3u
Comment 5 Sergey Bolshakov 2012-05-28 19:56:47 MSK
в начале westcall_tv.m3u мусор, что не даёт его распознать как valid utf-8.
видимо, для случая m3u over http это критично.
Comment 6 Sergey Bolshakov 2012-05-28 20:07:44 MSK
хотя нет.
Comment 7 Sergey Bolshakov 2012-05-28 20:27:58 MSK
в общем, в начале плейлиста стоит BOM (byte order mark) и портит всю малину.
если перекодировать туда-обратно и убрать его, то всё работает.
я подумаю, что с этим сделать.
Comment 8 Vitaly Lipatov 2012-05-29 18:29:43 MSK
Это виндовая фишка, на которой что-то в линуксе в разных местах спотыкаются.
Но уже здорово, что проблема выявлена, и обходной путь есть.

На всякий случай повторюсь, что до 2.0 эти файлы нормально воспринимались (хотя остаётся доля вероятности, что в этот же момент файл на сайте стали по-другому формировать.
Comment 9 Repository Robot 2012-05-30 00:28:45 MSK
vlc-2.0.1-alt2 -> sisyphus:

* Tue May 29 2012 Sergey Bolshakov <sbolshakov@altlinux> 2.0.1-alt2
- treat m3u playlist with BOM at start as utf8-encoded (closes: #27373)
Comment 10 Vitaly Lipatov 2012-05-30 21:10:36 MSK
Спасибо, работает!