Jump to content
allanlee

RS: No audio track recorded with some specific channels

Recommended Posts

allanlee

Encountered a problem for quite some time:

 

Using DVBSky T680C with CAM to view/record Cable TV.

 

For some specific channels / transponders, RS is recording only the video track although "all audio tracks" ticked. (see sample2)

 

The only temporary solution for me is to tick "whole transponder" in order to include audio tracks. (see sample3) However this will result in very huge recording files and some problem with downstream processing.

 

At the meantime, I noticed that playing the same channel in DVBViewer do have audio, and the timeshift file has audio too (see sample4)

 

I've dumped ~40s of that whole original transponder with TransEdit for your investigation (see sample1). All channels in that transponder have this problem with RS.

 

All samples could be downloaded from here and support file attached.

 

Thank you very much in advance.

support.zip

Edited by allanlee

Share this post


Link to post
Griga
For some specific channels / transponders, RS is recording only the video track although "all audio tracks" ticked. (see sample2)

 

Your uploads made it possible to detect the reason. The AC3 audio track is not broadcasted in an ISO compliant way. The PES start code in the audio data packets should be 00 00 01 BD but is 00 00 01 C0, which is correct for MP2 and AAC, but not for AC3. You can see it in the TransEdit Hex Viewer at the beginning of the orange part (which is the PES header).

 

Zwischenablage01.png

 

The recorder checks the PES start code carefully in order to find out whether the stream is decryped correctly and recording it can start, because usually it takes some time until the CI/CAM delivers unencrypted data after tuning. However, in your case the expected start code for AC3 audio never arrives. It doesn't matter in whole transponder recordings, because in this case the recorder simply records everything that arrives without checking wrong and right.

 

We already encountered this kind of bug some years ago on BBC HD - see here - and I provided a tool for fixing it in recordings, because some players don't play AC3 with a wrong start code. Unfortunately there is no way to work around it before the data gets recorded. Nevertheless I will think about it...

 

If you want to rework the whole transponder file after it has been recorded and make it a normal recording you can do the following:

 

(1) Let the BBC HD Fixer tool correct the wrong start codes in the file (you will have to enter the Audio PID in question).

 

(2) Let the TSPlayer Tool from the download area -> tools section extract the desired video/audio data into another TS file. More about it in the manual, particularly in the conversion chapter. The TSPlayer uses the recorder engine for re-recording. That's why the start codes must be fixed first.

Share this post


Link to post
Griga
Unfortunately there is no way to work around it before the data gets recorded.

 

...but a way to patch it. I've just found an old plugin that does something similar. I only had to rework it a bit. Here it is:

 

PatchAC3StartCode.zip

 

It has no UI, which would be useless anyway when used with the Recording Service. Perform the following steps:

 

(1) Create a Plugins1 sub-folder in C:\Program Files (x86)\DVBViewer\Plugins. Store the plugin in this sub-folder.

 

(2) Create additional Plugins2, Plugins3... sub-folders if the plugin will potentially be used for two, three... recordings at the same time. Copy the plugin to these sub-folders.

 

(3) Stop and re-start the Recording Service and try to record one of the channels in question.

 

The plugin checks if the currently tuned channel has an AC3 audio track. If yes it patches the PES start codes to 00 00 01 BD in any case before the recorder sees them. Please note that the plugin is not able to handle more than one AC3 audio track at a time. The AC3 track must be the main track of the channel (not one of the secondary tracks shown in the DVBViewer channel list).

 

I've tested it with the Recording Service and it worked in a simulation that used your whole transponder file as source for recording. However, it's a quick & dirty hack. There may be unknown side-effects, and I'm not sure if it really works for two recordings at the same time. You must try...

  • Like 1

Share this post


Link to post
allanlee

 

I've just found and old plugin that does something similar. I only had to rework it a bit. Here it is:

 

attachicon.gifPatchAC3StartCode.zip

 

 

It works!!!

 

So far no bug no side-effect observed. Will let you know here if found any in the future.

 

Many thanks for the patch plugin! ^_^

Share this post


Link to post
logifuse

I'm using this patch with the 1.33.02 recording service (thanks, BTW) & am thinking of upgrading to Media Server 2, is this patch still needed, & if so, will it work with the new version?

 

Thanks.

Share this post


Link to post
Griga
4 hours ago, logifuse said:

is this patch still needed

 

Yes, if the broadcaster is still using the wrong start code.

 

4 hours ago, logifuse said:

will it work with the new version?

 

Yes.

Share this post


Link to post
logifuse

Thank you for that. I'm hoping to try the upgrade later this week.

 

ABCHD in Australia is the problem channel for me. Without the patch, it will often record with no audio track.

Share this post


Link to post
This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • snorre
      By snorre
      DVBWiewer Recording Service Linux / Wine
       
       
      Hardware:
      Ubuntu 18.04 server 1GB RAM 1 Core FSTAB: mount NFS recordings  from NAS to /mnt/recordings Name: dvbsrv  
       
      Software:

      We need wine (32bit version), Xvfb (short for X virtual framebuffer) for
      running the recording service without screen, cabextract for extracting
      the needed DirectX file (ksproxy.ax) and nfs-common for mounting the
      recording share.
       
      dpkg --add-architecture i386 && apt update apt install wine32 xvfb cabextract nfs-common  
       
      Software Wine:
       
      We create a user which is running the Recording Service.
      In the users home we store the needed Windows software parts in the subdirectory "sw".
      SSH to the Ubuntu server as root or become root with "sudo su -".
       
      # create user w/o passwd adduser dvb su - dvb mkdir sw && cd sw wget http://download.microsoft.com/download/E/E/1/EE17FF74-6C45-4575-9CF4-7FC2597ACD18/directx_feb2010_redist.exe cabextract directx_feb2010_redist.exe -F dxnt.cab cabextract dxnt.cab -F ksproxy.ax  
      Files to be stored in /home/dvb/sw:
       
      Total Commander 32bit: tcmd922ax32.exe DVBViewer: DVBViewer_setup_6.1.4.exe Recording SVC: Recording_Service_setup_1.33.02.01.exe FFMPEG 32bit: ffmpeg-20190707-98b122c-win32-static.zip DVB Lic: xxxx.dvbvkey  
       
      Config from Windows DVBWiewer:
       
      This step is optional. You can configure the Recording Service without these.
      I copied the file from the Windows installation to keep my settings.
       
      Channel Logos: "c:\Program Files\DVBViewer\Images\Logos" Plugins: "c:\Program Files\DVBViewer\Plugins" Channels: "c:\Documents and Settings\All Users\Application Data\CMUV\DVBViewer\channels.dat" Allowed Networks: "c:\Documents and Settings\All Users\Application Data\CMUV\DVBViewer\Config\svcuserdata.xml" Rec-Server Config: "c:\Documents and Settings\All Users\Application Data\CMUV\DVBViewer\Config\service.xml" Tuner Config: "c:\Documents and Settings\All Users\Application Data\CMUV\DVBViewer\Config\svchardware.xml" SAT>IP Config: "c:\Documents and Settings\All Users\Application Data\CMUV\DVBViewer\Config\svcnetwork.xml"  
       
      Setup:
       
      Start Xming on Windows client. On Linux Desktop you usually already have a X server running. If using Putty, configure it to have X forwarding enabled. Putty (or ssh -X) to dvbsrv as root.  
      cp .Xauthority /home/dvb/ chown dvb:dvb /home/dvb/.Xauthority su - dvb cd sw  
      Initial Wine start wine cmd exit  
       
      Install Total Commander wine tcmd922ax32.exe - no shortcuts
       
       
      Install DVBViewer wine DVBViewer_setup_6.1.4.exe  - no shortcuts, no FW
       - OK on "Unable to execute file: powercfg.exe" - 10 times
       - Add Key File, Username and Passsword - Key file in Z:\home\dvb\sw
       - Cancel additional components install
       - do not wiew changelog_en.html and do not Launch DVBViewer
       
       
      Install Recording Service wine Recording_Service_setup_1.33.02.01.exe  - no shortcuts, no FW, no Download FFmpeg
       - OK on "Unable to execute file: powercfg.exe" - 10 times
       - do not wiew changelog_en_rs.html and do not Launch Configuration
       - Right click Recording Service System Tray Icon -> Disable Auto-Start Tray Control Program -> Exit
       
       
      Start Total Commander - These steps can also be done manually on Linux or Wine comandline "wine cmd" wine c:\\totalcmd\\totalcmd.exe &  - Configure
       - Copy z:\home\dvb\sw\ksproxy.ax -> c:\windows\system32
       - Open z:\home\dvb\sw\ffmpeg-20190707-98b122c-win32-static.zip
         + Copy z:\home\dvb\sw\ffmpeg-20190707-98b122c-win32-static.zip\ffmpeg-20190707-98b122c-win32-static\bin\ffmpeg.exe -> "c:\Program Files\DVBViewer"
       - Copy Plugins -> "c:\Program Files\DVBViewer\Plugins"
       - Copy Logos -> "c:\Program Files\DVBViewer\Images\Logos"
       - Copy z:\home\dvb\sw\channels.dat -> c:\ProgramData\CMUV\DVBViewer
       - Copy XML config files -> c:\ProgramData\CMUV\DVBViewer\Config
       
       
      Configure Recording Service wine "c:\Program Files\DVBViewer\svcoptions.exe"  - Recorder: Directories: Z:\mnt\recordings
         + Recordings: Disable Create NTFS filestorage data
       - Web/UPnP:
         Port 8080
         Disable: Prevent PC sleep
       
       
       
      Run As systemd service:

      /etc/systemd/system/DVBViewer.service
      [Unit] Description=Run DVBViewer Recording Service in Wine [Service] User=dvb ExecStart=/usr/bin/xvfb-run /usr/bin/wine "c:\Program Files\DVBViewer\DVBVservice.exe" [Install] WantedBy=multi-user.target
      /etc/systemd/system/DVBViewer-port.service
      [Unit] Description=Redirect port 80 to 8080 for DVBViewer Recording Service [Service] Type=oneshot ExecStart=/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 [Install] WantedBy=multi-user.target
       
      systemctl enable DVBViewer-port.service systemctl enable DVBViewer.service systemctl start DVBViewer-port.service systemctl start DVBViewer.service  
       
      Start Wine programs as root:
       
      Totalcmd: cp /root/.Xauthority /home/dvb/ && su - dvb -c 'wine "c:\totalcmd\totalcmd.exe"' & DVBViewer Opts: systemctl stop DVBViewer && \ cp /root/.Xauthority /home/dvb/ && \ su - dvb -c 'wine "c:\Program Files\DVBViewer\svcoptions.exe"' && \ systemctl start DVBViewer
    • c.paul
      By c.paul
      Hallo,
      wollte meinen DVBViewer samt Recording-Service mal wieder updaten.
      Leider finde ich auf der Mitgliederseite dir Rubrik für den Recording-Service nicht.
      Danke für Eure Hilfe
      Grüße
      Christian
    • bounguine
      By bounguine
      There's a question I cannot answer myself.
      I have two physical servers in one subnet with recording services installed (ports are changed to be different) .
       
      DVBViewer on server 1 sees channels from local cards without recording service and channels from recording service on server 1 and 2.
      DVBViewer on server 2 sees channels from local cards without recording service and channels from recording service on server 2. But not from recording service on server 1.
      Logs show no tries of connection.
       
      Why?
    • Nucleorion
      By Nucleorion
      Hi,
      I change to windows 10, and now DVBViewer Recording Service icon not appear where clock area. They work fine but I don't know if is record or not. Is possible fix it?
    • gaghalfrunt
      By gaghalfrunt
      Hallo.
       
      Ich habe in letzter Zeit immer häufiger Aufnahmen per Recording Service, die als fehlerfrei protokolliert werden (->.log), die sich nach dem Demuxen mit ProjectX als nicht fehlerfrei erweisen. Wiedergabe der TS-Datei stockt auch an den entsprechenden Stellen.
       
      Empfang ist DVD-C mit Cinergy HTC USB XS (Treiber: 5.9.1202.0). Keine Änderungen der Hardware. Keine Aktivitäten am PC während der Aufnahme.
       
      Versuchsweise habe ich mal auf eine ältere RS-Version (1.30.1.0) gewechselt - leider ohne Erfolg.
       
      Hier die entsprechenden Logs vom RS:
       
      bzw. von ProjectX:
      support.zip
×
×
  • Create New...