Page 1 of 1

No audio from bilingual ISDB-T stream (Japanese DTV)

Posted: 24 Sep 2012 17:44
by quequotion
See this thread over on the Ubuntu forum for background.

I was watching tv today, using VLC, when the sound suddenly cut out at the start of a certain program. The program is a Korean soap opera which is broadcast with bilingual, Japanese and Korean, audio. Japanese digital TV is a bit of a hassle in any software player since broadcasters may use different encodings on different channels or even different encodings for a show and commercial breaks on the same channel, etc. A restart usually solves the problem if encoding has been switched, but I found that restarting the player did not restore audio during the soap opera. Restarting during a commercial break did restore audio, until the end of the commercial break when sound cut out again.

I tried starting the stream from the terminal and came across this message:

Code: Select all

Multiple blocks per frame in ADTS not supported
A quick google turned up an old ticket and an even older forum thread. Neither is exactly the issue I'm having, but they could be the same issue as all have the same problem with AAC audio. The main difference for me is that I'm not watching a re-encoded stream, but streaming directly from a digital tv card--the video comes as-is, encoded by the broadcaster.*

Mplayer is able to play the stream with both languages simultaneously, Japanese on the left channel and Korean on the right channel. This is analogous to the pre-digital era of Japanese TV, when bilingual broadcasts were in stereo with Japanese on the left and the native language on the right. Televisions could be set to monaural Japanese, monaural native language, or stereo bilingual. I'm not entirely sure how this works internally in the digital era. There are no controls on the card nor in the driver to select which audio stream comes through, so it has to be done by the video player or encoder. That is to say, it seems the multiple blocks per frame are being used to provide two distinct audio streams.

I have saved 20 seconds of this stream, which is obviously copyrighted material. I would like to post it here, or possibly in the bug tracker, as a "Fair Use" excerpt, which I believe justified because:

1. It is for analysis and research toward the improvement and development of a player for the encoded stream.
2. It is broadcast freely over-the-air from a local television station.**
3. It is only 20 seconds.
4. This particular type of encoding is rare and I do not have the knowledge to create a similarly encoded stream.
5. Capturing a sample of this stream requires particular hardware and can only be done in Japan.

For now, I will wait for authorization from moderation. Until then, here is the ouput of:

Code: Select all

mplayer -frames 0 -vo null -ao null -identify bilingual.ts

Code: Select all

MPlayer SVN-r34707-4.6 (C) 2000-2012 MPlayer Team mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing bilingual.ts. libavformat version 54.0.0 (internal) TS file format detected. PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) VIDEO MPEG2(pid=273) AUDIO AAC(pid=274) NO SUBS (yet)! PROGRAM N. 61456 ID_VIDEO_ID=273 ID_AUDIO_ID=274 PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) ID_AUDIO_ID=643 PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) PROGRAM_ID=0 (0x00), PMT_PID: 16(0x10) PROGRAM_ID=61456 (0xF010), PMT_PID: 257(0x101) PROGRAM_ID=61457 (0xF011), PMT_PID: 258(0x102) PROGRAM_ID=61840 (0xF190), PMT_PID: 8136(0x1FC8) PROGRAM_ID=61591 (0xF097), PMT_PID: 2032(0x7F0) VIDEO: MPEG2 1440x1080 (aspect 3) 29.970 fps 20000.0 kbps (2500.0 kbyte/s) Load subtitles in ./ ID_FILENAME=bilingual.ts ID_DEMUXER=mpegts ID_VIDEO_FORMAT=0x10000002 ID_VIDEO_BITRATE=20000000 ID_VIDEO_WIDTH=1440 ID_VIDEO_HEIGHT=1080 ID_VIDEO_FPS=29.970 ID_VIDEO_ASPECT=0.0000 ID_AUDIO_FORMAT=MP4A ID_AUDIO_BITRATE=0 ID_AUDIO_RATE=0 ID_AUDIO_NCH=0 ID_START_TIME=6560.32 ID_LENGTH=15.81 ID_SEEKABLE=1 ID_CHAPTERS=0 ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family libavcodec version 54.0.0 (internal) Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2) ========================================================================== ID_VIDEO_CODEC=ffmpeg2 ========================================================================== Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders AUDIO: 48000 Hz, 2 ch, s16le, 0.0 kbit/0.00% (ratio: 0->192000) ID_AUDIO_BITRATE=0 ID_AUDIO_RATE=48000 ID_AUDIO_NCH=2 Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio)) ========================================================================== AO: [null] 48000Hz 2ch s16le (2 bytes per sample) ID_AUDIO_CODEC=ffaac
My vlc version is:

Code: Select all

VLC media player 2.0.4 Twoflower (revision 2.0.3+git20120914+r389) VLC version 2.0.4 Twoflower (2.0.3+git20120914+r389) Compiled by buildd on lawrencium.ppa (Sep 15 2012 13:04:43) Compiler: gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
My libav version (from avplay) is:

Code: Select all

0.8.3-4:0.8.3-0ubuntu0.12.04.1, Copyright (c) 2003-2012 the Libav developers built on Jun 12 2012 16:52:09 with gcc 4.6.3
*Well, almost as is, see below.
**As in free beer, not freedom. All air, cable, and satellite television broadcasts in Japan are encrypted. Decrypting these broadcasts is not illegal, nor is their encryption mandated by law, but the monopoly that licenses its decryption hardware to select manufactures and provides customers a restrictive end-user license agreement, which they are not required to sign or acknowledge, is supported by all the major media and broadcasting corporations, including the semi-public national broadcasting corporation (which is like PBS and the FCC all in one, for those in the US), and frowns on unlicensed devices and software capable of decryption--to the best of my knowledge. Excuse the long sentence; suffice to say that decryption is legal, but heartily disliked by the bigwigs of broadcasting in Japan, AFAIK. VLC has nothing to do with this decryption, which is done by software that strips the encryption from the digital stream but does not otherwise alter the audio or visual encoding.

*EDIT* Luckily it wasn't necessary to provide sample video as the issue is known and nkoriyama's patches resolve it.

Re: No audio from bilingual ISDB-T stream (Japanese DTV)

Posted: 24 Sep 2012 17:44
by quequotion
Oh, by the way, I'm new here.

Hello!

Re: No audio from bilingual ISDB-T stream (Japanese DTV)

Posted: 24 Sep 2012 17:51
by Jean-Baptiste Kempf
You need to contact nkoriyama

Re: No audio from bilingual ISDB-T stream (Japanese DTV)

Posted: 24 Sep 2012 19:17
by nkoriyama
@quequotion
As you said, current VLC has a problem.
I have a patch for this problem and some patches (subtitles, now playing, etc) for ISDB.

Patches for vlc-2.0.git and vlc.git are here.
If you want to fix only audio issue, use
0025-fix-for-aac-channel-transition.patch (in the full-patch-vlc-2.0-*.tar.bz2)
or
0026-fix-for-aac-channel-transition.patch (in the full-patch-vlc-2.1-*.tar.bz2)

With this patch, VLC can play the sound from dual mono (bilingual) stream and also the file attached on ticket 3015 comment 9.

Pre-built binary for Ubuntu 12.04 64bit, Windows 32/64bit, OS X 64bit are here.

These links are on the SkyDrive, so you may need Microsoft account to see the files.

Re: No audio from bilingual ISDB-T stream (Japanese DTV)

Posted: 24 Sep 2012 20:13
by quequotion
@Jean-Baptiste
Thank you for the tip!

@nkoriyama
Thank you! I took the easy route and installed the 2.10 binary. This works very well.

Re: No audio from bilingual ISDB-T stream (Japanese DTV)

Posted: 25 Sep 2012 00:38
by Jean-Baptiste Kempf
@quequotion
As you said, current VLC has a problem.
I have a patch for this problem and some patches (subtitles, now playing, etc) for ISDB.

Patches for vlc-2.0.git and vlc.git are here.
If you want to fix only audio issue, use
0025-fix-for-aac-channel-transition.patch (in the full-patch-vlc-2.0-*.tar.bz2)
or
0026-fix-for-aac-channel-transition.patch (in the full-patch-vlc-2.1-*.tar.bz2)

With this patch, VLC can play the sound from dual mono (bilingual) stream and also the file attached on ticket 3015 comment 9.

Pre-built binary for Ubuntu 12.04 64bit, Windows 32/64bit, OS X 64bit are here.

These links are on the SkyDrive, so you may need Microsoft account to see the files.
We need to merge :)

Re: No audio from bilingual ISDB-T stream (Japanese DTV)

Posted: 18 Oct 2013 18:39
by quequotion
We need to merge :)
Has this happened? I am still using VLC from nkoriyama's SkyDrive and I'd like to get back in line with the mainstream if it's handling this issue.

Re: No audio from bilingual ISDB-T stream (Japanese DTV)

Posted: 21 Oct 2013 10:09
by Jean-Baptiste Kempf
No, it has not.