Opened 15 years ago

Closed 11 years ago

#7118 closed Bug Report - General (Fixed)

Mythtranscode lossless mpeg2 removes audio

Reported by: otto at kolsi dot fi Owned by: beirdo
Priority: minor Milestone: 0.25
Component: MythTV - Mythtranscode Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: yes

Description

For some DVB recordings, mythtranscode with --mpeg2 lossless transcoding removes all audio tracks.

Logs show that "invalid" audio streams are skipped, although those are valid audio tracks. Below there are couple of logs with one and two audio tracks removed. It looks like "invalid" audio streams are (wrongly) detected to have 0 channels.

I've uploaded one sample to http://rapidshare.com/files/283153720/audio.mpg.html and can provide more samples if needed.

2009-09-21 22:29:05.046 Input #0, mpegts, from '/tmp/test.mpg':
2009-09-21 22:29:05.046   Duration: N/A, bitrate: N/A
2009-09-21 22:29:05.046     Stream #0.0[0x201]: Video: mpeg2video, 90k tbn
2009-09-21 22:29:05.046     Stream #0.1[0x294]: Audio: mp3, 0 channels, s16
2009-09-21 22:29:05.046     Stream #0.2[0x295]: Audio: mp3, 0 channels, s16
2009-09-21 22:29:05.046     Stream #0.3[0x7eb]: Subtitle: dvbsub
2009-09-21 22:29:05.046     Stream #0.4[0x911]: Data: 0x0101
2009-09-21 22:29:05.046 Skipping invalid audio stream: 1
2009-09-21 22:29:05.046 Skipping invalid audio stream: 2
2009-09-21 22:29:05.046 Skipping unsupported codec 3 on stream 3
2009-09-21 22:29:05.046 Skipping unsupported codec 2 on stream 4
2009-09-21 22:29:05.060 720x576 P:1080000 13:48:36:009 #2 fl:2IT_0 pos: 376
2009-09-21 22:29:05.060 Found 1st valid video frame
2009-09-21 22:29:05.060 #0 PTS:16:45:14.891 Delta: 0.0ms queue: 1
2009-09-21 22:29:05.061 ptsIncrement: 3600 Frame #: 2 PTS-adjust: 16:45:14.711
2009-09-21 22:29:05.061 #0 fl:2BT_0 pos: 31772
...
2009-09-21 22:31:31.257 Input #0, mpegts, from '/tmp/audio.mpg':
2009-09-21 22:31:31.258   Duration: 00:00:22.45, start: 89483.030544, bitrate: 3563 kb/s
2009-09-21 22:31:31.258     Stream #0.0[0x204]: Video: mpeg2video, 90k tbn
2009-09-21 22:31:31.258     Stream #0.1[0x2b2]: Audio: mp3, 0 channels, s16
2009-09-21 22:31:31.258     Stream #0.2[0xfbb]: Subtitle: dvbsub
2009-09-21 22:31:31.258     Stream #0.3[0x911]: Data: 0x0101
2009-09-21 22:31:31.258 Skipping invalid audio stream: 1
2009-09-21 22:31:31.258 Skipping unsupported codec 3 on stream 2
2009-09-21 22:31:31.258 Skipping unsupported codec 2 on stream 3
2009-09-21 22:31:31.263 720x576 P:1080000 07:25:04:021 #2 fl:2IT_0 pos: 376
2009-09-21 22:31:31.263 Found 1st valid video frame
2009-09-21 22:31:31.263 #0 PTS:24:51:23.040 Delta: 0.0ms queue: 1
2009-09-21 22:31:31.263 ptsIncrement: 3600 Frame #: 2 PTS-adjust: 24:51:22.860
2009-09-21 22:31:31.263 #0 fl:2BT_0 pos: 59784
...

Attachments (1)

mythbackend_log.txt (17.4 KB) - added by anonymous 13 years ago.
Mythbackend log for recording and transcoding

Download all attachments as: .zip

Change History (9)

comment:1 Changed 14 years ago by robertm

Owner: changed from Isaac Richards to Janne Grunau
Status: newassigned

Changed 13 years ago by anonymous

Attachment: mythbackend_log.txt added

Mythbackend log for recording and transcoding

comment:2 in reply to:  description Changed 13 years ago by Kora.Karakom@…

Has anyone had time to check this? I just destroyed audio from five recordings from Finnish TV station YLE while lossless transcoding to save space with the cut-listing... :-(

I added a log of the recording and the transcoding. Recordings seem to error, but they play nicely with audio (before transcoding).

The correct behavior IMHO would be: If the transcoder does not detect a single audio track, it should either

  1. Error and keep the existing recording
  2. Transcode with all the streams, if that is possible.

Any other solution would also be OK, as long as it does not eat my audio :-)

comment:3 Changed 13 years ago by beirdo

Owner: changed from Janne Grunau to beirdo
Version: headTrunk Head

comment:4 Changed 13 years ago by beirdo

Status: assignedinfoneeded

Could you get me a sample source video that gets messed up by the transcode? Something in the realm of 100MB or so max would be great.

comment:5 Changed 13 years ago by otto@…

I did manage to find the original sample file and now it can be transcoded without losing the audio.

This is only one sample but ticket can be closed and if someone still has problems (e.g. with Finnish YLE channels known to be problematic), this can be re-opened.

comment:6 Changed 13 years ago by Raymond Wagner

Milestone: unknown0.25
Resolution: Fixed
Status: infoneededclosed
Type: defectBug Report - General

User reports bug no longer exists.

comment:7 Changed 11 years ago by oli.henning@…

Resolution: Fixed
Status: closednew

I'm sorry, but i observed this problem too.

I'ts a DVB-C recoding in Switzerland, UPC-Cablecom. The Channel is "ORF 1" with SD-Quality. Recording (nearly) every day the show "Two and a half men" (yea, cool series :-)). This show comes nearly every day on this channel at 19:15 - this is 7:15pm for our US-guys :-)

I never had problems with this "removing audio"-issue before. I do not see it on other channels and also do no see it on this channel ("ORF 1") with other shows. But nearly every recording on _this_ channel at _this_ time has a lost audio after lossless mpeg2-transcoding.

Unfortunately i have no not-transcoded file at the moment (this should be a TS-Stream-File). The transcoding deletes them. But i will take one and publish it so one can do some analyzes.

Thanks a lot for the great work on MythTV. I love it. Greeting from switzerland.

Jun 12 21:47:48 pvr-server mythtranscode[21493]: C thread_unknown mythcommandlineparser.cpp:2534 (ConfigureLogging) mythtranscode version: fixes/0.25 [v0.25.3-45-ged3b7d1] www.mythtv.org
Jun 12 21:47:48 pvr-server mythtranscode[21493]: C thread_unknown mythcommandlineparser.cpp:2536 (ConfigureLogging) Qt version: compile: 4.8.1, runtime: 4.8.1
Jun 12 21:47:48 pvr-server mythtranscode[21493]: N thread_unknown mythcommandlineparser.cpp:2538 (ConfigureLogging) Enabled verbose msgs:  general
Jun 12 21:47:48 pvr-server mythtranscode[21493]: N thread_unknown logging.cpp:1176 (logStart) Setting Log Level to LOG_INFO
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I thread_unknown logging.cpp:229 (FileLogger) Added logging to the console
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I thread_unknown logging.cpp:369 (SyslogLogger) Added syslogging to facility local7
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I thread_unknown logging.cpp:425 (DatabaseLogger) Added database logging to table logging
Jun 12 21:47:48 pvr-server mythtranscode[21493]: N thread_unknown logging.cpp:1215 (logStart) Setting up SIGHUP handler
Jun 12 21:47:48 pvr-server mythtranscode[21493]: N thread_unknown mythdirs.cpp:51 (InitializeMythDirs) Using runtime prefix = /usr
Jun 12 21:47:48 pvr-server mythtranscode[21493]: N thread_unknown mythdirs.cpp:64 (InitializeMythDirs) Using configuration directory = /home/mythtv/.mythtv
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext mythcorecontext.cpp:227 (Init) Assumed character encoding: de_CH.UTF-8
Jun 12 21:47:48 pvr-server mythtranscode[21493]: N CoreContext mythcontext.cpp:477 (LoadDatabaseSettings) Empty LocalHostName.
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext mythcontext.cpp:481 (LoadDatabaseSettings) Using localhost value of pvr-server
Jun 12 21:47:48 pvr-server mythtranscode[21493]: N CoreContext mythcorecontext.cpp:1270 (InitLocale) Setting QT default locale to de_CH
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext mythcorecontext.cpp:1303 (SaveLocaleDefaults) Current locale de_CH
Jun 12 21:47:48 pvr-server mythtranscode[21493]: E CoreContext mythlocale.cpp:108 (LoadDefaultsFromXML) No locale defaults file for de_CH, skipping
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext mythtranslation.cpp:66 (load) Loading de translation for module mythfrontend
Jun 12 21:47:48 pvr-server mythtranscode[21493]: N CoreContext main.cpp:540 (main) Transcoding from /mnt/oliveraStore/mythtvRecordings/2109_20130612190800.mpg to /mnt/oliveraStore/mythtvRecordings/2109_20130612190800.mpg.tmp
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext avformatdecoder.cpp:2104 (ScanStreams) AFD: Opened codec 0xa0fe960, id(MPEG2VIDEO) type(Video)
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext avformatdecoder.cpp:1962 (ScanStreams) AFD: codec MP2 has 2 channels
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext avformatdecoder.cpp:2104 (ScanStreams) AFD: Opened codec 0xa1007b0, id(MP2) type(Audio)
Jun 12 21:47:48 pvr-server mythtranscode[21493]: N CoreContext audioplayer.cpp:167 (ReinitAudio) AudioPlayer: Enabling Audio
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext transcode.cpp:924 (TranscodeFile) Honoring the cutlist while transcoding
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext transcode.cpp:957 (TranscodeFile) Cutlist        : 0-15735,44921-89860
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext transcode.cpp:959 (TranscodeFile) Original Length: 89860 frames
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext transcode.cpp:961 (TranscodeFile) New Length     : 29186 frames
Jun 12 21:47:48 pvr-server mythtranscode[21493]: N CoreContext transcode.cpp:748 (GetProfile) Transcode: Looking for autodetect profile: Automatisch erkennen aus 576i
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I ProgramInfoUpdater mythcorecontext.cpp:371 (ConnectCommandSocket) MythCoreContext: Connecting to backend server: 192.168.1.6:6543 (try 1 of 1)
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I ProgramInfoUpdater mythcorecontext.cpp:1178 (CheckProtoVersion) Using protocol version 72
Jun 12 21:47:48 pvr-server mythtranscode[21493]: E CoreContext recordingprofile.cpp:164 (addSelection) SampleRate: Attempted to add a rate 32000 Hz, which is not in the list of allowed rates.
Jun 12 21:47:48 pvr-server mythtranscode[21493]: N CoreContext transcode.cpp:773 (GetProfile) Transcode: Using autodetect profile: MPEG2
Jun 12 21:47:48 pvr-server mythtranscode[21493]: N CoreContext transcode.cpp:1216 (TranscodeFile) Switching to MPEG-2 transcoder.
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:737 (InitAV) Opening /mnt/oliveraStore/mythtvRecordings/2109_20130612190800.mpg
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:76 (my_av_print) Input #0, mpegts, from '/mnt/oliveraStore/mythtvRecordings/2109_20130612190800.mpg':
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:76 (my_av_print)   Duration: N/A, bitrate: N/A
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:76 (my_av_print)     Stream #0.0[0x90]: Video: mpeg2video, 90k tbn
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:76 (my_av_print)     Stream #0.1[0x91](ger): Audio: mp3, 0 channels
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:76 (my_av_print)     Stream #0.2[0x9b](ger): Audio: ac3, 0 channels
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:76 (my_av_print)     Stream #0.3[0xae](ger): Subtitle: [0][0][0][0] / 0x0000
Jun 12 21:47:48 pvr-server mythtranscode[21493]: E CoreContext mpeg2fix.cpp:782 (InitAV) Skipping invalid audio stream: 1
Jun 12 21:47:48 pvr-server mythtranscode[21493]: E CoreContext mpeg2fix.cpp:782 (InitAV) Skipping invalid audio stream: 2
Jun 12 21:47:48 pvr-server mythtranscode[21493]: E CoreContext mpeg2fix.cpp:800 (InitAV) Skipping unsupported codec 3 on stream 3
Jun 12 21:47:48 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:1923 (Start) #0 PTS:17:34:57.880 Delta: 0.0ms queue: 1
Jun 12 21:47:52 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:2123 (Start) Del map found 0 at 15735 (15735)
Jun 12 21:47:52 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:1676 (ConvertToI) Converting frame #0 from B to I
Jun 12 21:47:52 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:1676 (ConvertToI) Converting frame #1 from B to I
Jun 12 21:47:52 pvr-server mythtranscode[21493]: I MPEG2Replex replex/multiplex.c:828 (init_multiplex) Mux rate: 3.65 Mbit/s
Jun 12 21:47:54 pvr-server mythtranscode[21448]: I CoreContext mythcontext.cpp:1115 (~MythContext) Waiting for threads to exit.
Jun 12 21:47:55 pvr-server mythtranscode[21493]: N CoreContext mpeg2fix.cpp:1631 (DecodeToFrame) Frame 9 > 8.  Corruption likely at pos: 312301276
Jun 12 21:47:55 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:1720 (InsertFrame) Inserting 2 I-Frames after #8
Jun 12 21:48:21 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:2123 (Start) Del map found 1 at 44921 (44921)
Jun 12 21:48:22 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:1676 (ConvertToI) Converting frame #0 from B to I
Jun 12 21:48:22 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:1676 (ConvertToI) Converting frame #1 from B to I
Jun 12 21:48:23 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:2623 (BuildKeyframeIndex) Generating Keyframe Index
Jun 12 21:48:23 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:737 (InitAV) Opening /mnt/oliveraStore/mythtvRecordings/2109_20130612190800.mpg.tmp
Jun 12 21:48:23 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:76 (my_av_print) Input #0, mpeg, from '/mnt/oliveraStore/mythtvRecordings/2109_20130612190800.mpg.tmp':
Jun 12 21:48:23 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:76 (my_av_print)   Duration: 00:19:27.52, start: 0.280000, bitrate: 3837 kb/s
Jun 12 21:48:23 pvr-server mythtranscode[21493]: I CoreContext mpeg2fix.cpp:76 (my_av_print)     Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 3587 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Jun 12 21:48:23 pvr-server mythtranscode[21493]: N CoreContext mpeg2fix.cpp:2655 (BuildKeyframeIndex) Transcode Completed
Jun 12 21:48:24 pvr-server mythtranscode[21493]: N CoreContext main.cpp:657 (main) Transcoding /mnt/oliveraStore/mythtvRecordings/2109_20130612190800.mpg done
Jun 12 21:48:24 pvr-server mythtranscode[21493]: N CoreContext main.cpp:775 (WaitToDelete) Transcode: delete old file: waiting while program is in use.
Jun 12 21:48:24 pvr-server mythtranscode[21493]: N CoreContext main.cpp:807 (WaitToDelete) Transcode: program is no longer in use.
Jun 12 21:48:24 pvr-server mythtranscode[21493]: N CoreContext main.cpp:706 (transUnlink) Requesting delete for file 'myth://Default@192.168.1.6:6543/2109_20130612190800.mpg.old'.
Jun 12 21:48:24 pvr-server mythtranscode[21493]: N CoreContext main.cpp:706 (transUnlink) Requesting delete for file 'myth://Default@192.168.1.6:6543/2109_20130612190800.mpg.png'.
Jun 12 21:48:25 pvr-server mythtranscode[21493]: I CoreContext mythcontext.cpp:1115 (~MythContext) Waiting for threads to exit.

comment:8 Changed 11 years ago by Karl Egly

Resolution: Fixed
Status: newclosed
Ticket locked: set

Oli, this ticket was closed almost two years ago, please open a fresh one. Also 0.25/fixes is rather old, with no changes in the last 11 months. Please retest on 0.26/fixes (which also uses a newer version of the ffmpeg libraries).

Please note, the original ticket was about streams from YLE (Finland) and your issue is with ORF (Austria) on cable. I would like to keep them separate as mixing different original network has led to cases where it was not clear if all issues in a ticket have been solved which is very confusing.

Note: See TracTickets for help on using tickets.