|
SageTV Github Development Discussion related to SageTV Open Source Development. Use this forum for development topics about the Open Source versions of SageTV, hosted on Github. |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
Audio missing on old MPEG2 Recordings with HD300
Okay, this is a weird one, and I'm not sure where to look. I apologize in advance, because this is going to be a twisty story...
I have managed to hack v9 into compiling / running natively on my FreeNAS server in a FreeBSD jail. I've managed to get almost everything I need working, except I have a couple of annoying problems. Also, I should note that I've moved this installation from a Win7 machine. First, my HD300 doesn't play any audio for my older recordings. Those recordings are from an HDHR, and are MPEG2-PS's (See below). Now.. The thing that is vexing me... I can play this file just fine in my Placeshifter client on my Mac. And... I can play live TV recordings just fine. They use the same MPEG2-PS format. And other recordings that have been converted into MPEG4 seem to play fine on the HD300. Weird. Any advice on how to chase down this gremlin? Code:
SageV9% ffprobe /var/media/tv/LesMisrables25thAnniversaryConcertattheO2-2717442-0.mpg ffprobe version 2.8.1 Copyright (c) 2007-2015 the FFmpeg developers built with FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512 configuration: --prefix=/usr/local --mandir=/usr/local/man --datadir=/usr/local/share/ffmpeg --pkgconfigdir=/usr/local/libdata/pkgconfig --enable-shared --enable-gpl --enable-postproc --enable-avfilter --enable-avresample --enable-pthreads --disable-libstagefright-h264 --disable-libutvideo --disable-libsoxr --cc=clang --extra-cflags='-msse -I/usr/local/include/vorbis -I/usr/local/include' --extra-ldflags='-L/usr/local/lib ' --extra-libs=-lpthread --enable-memalign-hack --enable-libaacplus --disable-indev=alsa --disable-outdev=alsa --disable-libopencore-amrnb --disable-libopencore-amrwb --enable-libass --disable-libcdio --disable-libcelt --disable-debug --enable-htmlpages --enable-libfaac --enable-libfdk-aac --disable-ffserver --enable-fontconfig --enable-libfreetype --enable-frei0r --disable-libgsm --enable-iconv --disable-indev=jack --disable-libmp3lame --enable-libbluray --disable-libv4l2 --disable-indev=v4l2 --disable-outdev=v4l2 --enable-mmx --disable-libmodplug --disable-openal --disable-indev=openal --enable-libopencv --enable-libopenh264 --enable-libopenjpeg --disable-libopus --disable-libpulse --disable-indev=pulse --disable-outdev=pulse --disable-librtmp --enable-libschroedinger --disable-ffplay --disable-outdev=sdl --disable-libsmbclient --disable-libspeex --enable-sse --enable-libtheora --disable-vaapi --disable-vdpau --enable-libvorbis --disable-libvo-aacenc --disable-libvo-amrwbenc --enable-libvpx --disable-x11grab --enable-libx264 --enable-libx265 --enable-libxvid --disable-gnutls --enable-openssl --enable-version3 --enable-nonfree libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, mpeg, from '/var/media/tv/LesMisrables25thAnniversaryConcertattheO2-2717442-0.mpg': Duration: 03:59:57.12, start: 0.891889, bitrate: 12090 kb/s Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], Closed Captions, max. 65000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s Stream #0:2[0x81]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s |
#2
|
||||
|
||||
This may be a little obvious, but have you tried pushing the audio button on the HD300 remote to switch audio streams?
|
#3
|
|||
|
|||
Quote:
Alas, I had already tried that, and no love. |
#4
|
|||
|
|||
There's been another report of a similar audio playback issue with Sage9:
http://forums.sagetv.com/forums/show...5&postcount=11 I've confirmed that the issue seems to follow MpegDeMux.ax (not sure what the equivalent file under *nix is). As an experiment, I dug out my VM which has VS2005 and re-compiled the Windows binaries under VS2005. These binaries exhibit the same audio playback problem with Carey's clip (above). This leads me to conclude that this playback issue has existed prior to migrating from vs2005 to vs2015. The next question in my mind is... when did the problem get introduced? Does the initial commit to github have the problem, or was it introduced by a subsequent commit? The answer will require pulling code way back at Time-0 and building it (for Windows, this means using vs2005). I'd be interested in trying to play your video if you have a way to get me the file.
__________________
System #1: Win7-64, I7-920, 8 GB mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HDHR-US (1st gen white) tuners. HD-200. System #2: Win7-64, I7-920, 8 GB mem, 4TB HD. Java 1.8.0_131. Sage v9.1.6.747. ClearQAM: 2x HDHR3-US tuners. HD-200. System #3: Win7-64, I7-920, 12 GB mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HVR2250; Spectrum Cable via HDPVR & USB-UIRT. 3x HD-200. |
#5
|
|||
|
|||
Quote:
Code:
Tue 11/17 8:31:30.007 [VideoFrame-0023a50001c3@34a54f81] MiniPlayer is using Push mode playback Tue 11/17 8:31:30.007 [VideoFrame-0023a50001c3@34a54f81] MiniPlayer is using the MPEG2 pusher Tue 11/17 8:31:30.007 [VideoFrame-0023a50001c3@34a54f81] Mpeg2Reader is detecting timestamp boundaries in the file... Tue 11/17 8:31:30.007 [VideoFrame-0023a50001c3@34a54f81] IFrame alignment=true Tue 11/17 8:31:30.007 [VideoFrame-0023a50001c3@34a54f81] Mpeg2Reader about to determine the firstPTS in the file... Tue 11/17 8:31:30.007 [VideoFrame-0023a50001c3@34a54f81] MPEG2 file pack size=96 Tue 11/17 8:31:30.007 [VideoFrame-0023a50001c3@34a54f81] MPEG2 file has inconsistent pack sizes prev=96 curr=438 Tue 11/17 8:31:30.008 [VideoFrame-0023a50001c3@34a54f81] Mpeg2Reader has found the firstPTS, now determining the duration of the file... Tue 11/17 8:31:30.008 [VideoFrame-0023a50001c3@34a54f81] Opened MPEG-2 PS file: /var/media/tv/BattleBots-S01E02-9422954-0.mpg firstPTS=24591 durationMsec=3658852 Tue 11/17 8:31:30.008 [VideoFrame-0023a50001c3@34a54f81] Mpeg2Reader seeking to pos=0 Tue 11/17 8:31:30.008 [VideoFrame-0023a50001c3@34a54f81] openURL0(push:f=MPEG2-PS;dur=3658080;br=9600000;[bf=aud;f=AC3;br=384000;index=0;tag=80;sr=48000;ch=6;][bf=vid;f=MPEG2-Video;br=19392000;index=1;tag=e0;fps=59.94006;fpsn=60000;fpsd=1001;ar=1.7777778;arn=16;ard=9;w=1280;h=720;cs=yuv420p;]) Tue 11/17 8:31:30.207 [VideoFrame-0023a50001c3@34a54f81] Setting audio stream for playback to be ID=0x8000 Tue 11/17 8:31:30.208 [VideoFrame-0023a50001c3@34a54f81] Setting default subpicture track to be disabled for MPEG2-PS Tue 11/17 8:31:30.260 [VideoFrame-0023a50001c3@34a54f81] Sigma video dim=java.awt.Dimension[width=720,height=480] Tue 11/17 8:31:30.260 [VideoFrame-0023a50001c3@34a54f81] pausePush0() Tue 11/17 8:31:30.261 [VideoFrame-0023a50001c3@34a54f81] setMute0() Tue 11/17 8:31:30.262 [VideoFrame-0023a50001c3@34a54f81] getDuration : 3658852 Tue 11/17 8:31:30.262 [VideoFrame-0023a50001c3@34a54f81] VideoFrame.timeSelected2(Sun 6/28 21:00:01.920, true) currFile=MediaFile[id=9915630 A[9915631,9666599,"BattleBots (2015)",0@0628.21:00,61,T V] mask=TV host=SageV9 encodedBy= format=MPEG2-PS 1:00:58 9600 kbps [#0 Audio[AC3 48000 Hz 6 channels 384 kbps idx=0 id=80]#1 Video[MPEG2-Video 59.94006 fps 1280x720 16:9 19392 kbps progressive id=e0]{SeriesInfoID=0, ScrapedBy=Phoenix, MediaType=TV, ScrapedDate=1447688361286, MediaProviderDataID=294206, MediaTitle=BattleBots (2015), MediaProviderID=tvdb}] /var/media/tv/BattleBots-S01E02-9422954-0.mpg, Seg0[Sun 6/28 21:00:01.920-Sun 6/28 22:01:00.000]] realDur=3658852 Tue 11/17 8:31:30.262 [VideoFrame-0023a50001c3@34a54f81] seeking numpushbuffers=0 seekTime=0 Tue 11/17 8:31:30.262 [VideoFrame-0023a50001c3@34a54f81] Mpeg2Reader seeking to pos=0 Tue 11/17 8:31:30.262 [VideoFrame-0023a50001c3@34a54f81] flushPush0() Tue 11/17 8:31:30.285 [VideoFrame-0023a50001c3@34a54f81] Creating new push thread Tue 11/17 8:31:30.285 [VideoFrame-0023a50001c3@34a54f81] Channel Change Time=1447767090285 NOTE: Not valid if this was not a direct channel change! Tue 11/17 8:31:30.288 [VideoFrame-0023a50001c3@34a54f81] VF processing job null nPlayin=true Tue 11/17 8:31:30.288 [VideoFrame-0023a50001c3@34a54f81] isRec=false rd=3658852 base=0 eos=false Tue 11/17 8:31:30.288 [VideoFrame-0023a50001c3@34a54f81] VF thread is now waiting for 1:00:58.602 Tue 11/17 8:31:30.330 [ActiveRender-0023a50001c3@242834f4] VideoFrame got registration of a subtitle UI component: sage.ZCCLabel[loc=java.awt.Point[x=191,y=543] size=java.awt.Dimension[width=893,height=143]] Tue 11/17 8:31:30.330 [ActiveRender-0023a50001c3@242834f4] VideoFrame got registration of a cc UI component: sage.ZCCLabel[loc=java.awt.Point[x=127,y=71] size=java.awt.Dimension[width=1021,height=572]] Tue 11/17 8:31:31.345 [VideoFrame-0023a50001c3@34a54f81] VF processing job VFJob[TimeSet r=0.0 t=1435539677200 file=null ifn=null] nPlayin=true Tue 11/17 8:31:31.345 [VideoFrame-0023a50001c3@34a54f81] VF processing on UI Thread VFJob[TimeSet r=0.0 t=1435539677200 file=null ifn=null] Tue 11/17 8:31:31.345 [VideoFrame-0023a50001c3@34a54f81] VideoFrame.timeSelected(Sun 6/28 21:01:17.200, true) currFile=MediaFile[id=9915630 A[9915631,9666599,"BattleBots (2015)",0@0628.21:00,61,T V] mask=TV host=SageV9 encodedBy= format=MPEG2-PS 1:00:58 9600 kbps [#0 Audio[AC3 48000 Hz 6 channels 384 kbps idx=0 id=80]#1 Video[MPEG2-Video 59.94006 fps 1280x720 16:9 19392 kbps progressive id=e0]{SeriesInfoID=0, ScrapedBy=Phoenix, MediaType=TV, ScrapedDate=1447688361286, MediaProviderDataID=294206, MediaTitle=BattleBots (2015), MediaProviderID=tvdb}] /var/media/tv/BattleBots-S01E02-9422954-0.mpg, Seg0[Sun 6/28 21:00:01.920-Sun 6/28 22:01:00.000]] Tue 11/17 8:31:31.345 [VideoFrame-0023a50001c3@34a54f81] VideoFrame.timeSelected2(Sun 6/28 21:01:17.200, true) currFile=MediaFile[id=9915630 A[9915631,9666599,"BattleBots (2015)",0@0628.21:00,61,T V] mask=TV host=SageV9 encodedBy= format=MPEG2-PS 1:00:58 9600 kbps [#0 Audio[AC3 48000 Hz 6 channels 384 kbps idx=0 id=80]#1 Video[MPEG2-Video 59.94006 fps 1280x720 16:9 19392 kbps progressive id=e0]{SeriesInfoID=0, ScrapedBy=Phoenix, MediaType=TV, ScrapedDate=1447688361286, MediaProviderDataID=294206, MediaTitle=BattleBots (2015), MediaProviderID=tvdb}] /var/media/tv/BattleBots-S01E02-9422954-0.mpg, Seg0[Sun 6/28 21:00:01.920-Sun 6/28 22:01:00.000]] realDur=3658852 Tue 11/17 8:31:31.346 [VideoFrame-0023a50001c3@34a54f81] seeking numpushbuffers=83 seekTime=75296 Tue 11/17 8:31:31.346 [VideoFrame-0023a50001c3@34a54f81] MPEG2 seek targetPts=6801231 length=4390673156 durationMsec=3658852 parsedPTS=1033378 lastPos=10846592 firstPTS=24591 mux_rate=384253 estimBitrate=1200009 Tue 11/17 8:31:31.346 [VideoFrame-0023a50001c3@34a54f81] Mpeg2Reader seeking to pos=87795850 time=0:01:15.296 Tue 11/17 8:31:31.346 [VideoFrame-0023a50001c3@34a54f81] flushPush0() Tue 11/17 8:31:31.373 [VideoFrame-0023a50001c3@34a54f81] VF processing job null nPlayin=true Tue 11/17 8:31:31.373 [VideoFrame-0023a50001c3@34a54f81] isRec=false rd=3658852 base=75296 eos=false Tue 11/17 8:31:31.373 [VideoFrame-0023a50001c3@34a54f81] VF thread is now waiting for 0:59:43.306 Tue 11/17 8:31:33.064 [VideoFrame-0023a50001c3@34a54f81] VF processing job VFJob[CloseMF r=0.0 t=0 file=null ifn=null] nPlayin=true Tue 11/17 8:31:33.064 [VideoFrame-0023a50001c3@34a54f81] VF processing on UI Thread VFJob[CloseMF r=0.0 t=0 file=null ifn=null] Tue 11/17 8:31:33.064 [VideoFrame-0023a50001c3@34a54f81] Added:Watched[id=9923420 Airing=A[9915631,9666599,"BattleBots (2015)",0@0628.21:00,61,T V], WatchStart=Sun 6/28 21:00:01.920, WatchEnd=Sun 6/28 21:01:17.990, RealStart=Tue 11/17 8:31:29.906, RealEnd=Tue 11/17 8:31:33.064] Tue 11/17 8:31:33.064 [VideoFrame-0023a50001c3@34a54f81] VF logFileWatch doneAir=A[9915631,9666599,"BattleBots (2015)",0@0628.21:00,61,T V] theTime=Sun 6/28 21:01:17.990 recTime=Sun 6/28 21:00:01.920 Tue 11/17 8:31:33.065 [VideoFrame-0023a50001c3@34a54f81] stopPush0() |
#6
|
|||
|
|||
I just built a version of MpegDeMux.ax under vs2005, using github source code pulled from Jeff's initial Github commit. Carey's video clip plays correctly using this .ax file (SageTv.exe and HD200)
On the other hand, using MpegDeMux.ax that was built under vs2005, from a tree I pulled on approx 9/27/2015, Carey's video clip plays without audio, (SageTv.exe and HD200). Looks like a commit prior to 9/27 has caused a regression issue. Someone will need to take a closer look at the commits leading up to that time.
__________________
System #1: Win7-64, I7-920, 8 GB mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HDHR-US (1st gen white) tuners. HD-200. System #2: Win7-64, I7-920, 8 GB mem, 4TB HD. Java 1.8.0_131. Sage v9.1.6.747. ClearQAM: 2x HDHR3-US tuners. HD-200. System #3: Win7-64, I7-920, 12 GB mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HVR2250; Spectrum Cable via HDPVR & USB-UIRT. 3x HD-200. Last edited by JustFred; 11-17-2015 at 09:50 PM. Reason: corrected date |
#7
|
||||
|
||||
https://github.com/google/sagetv/com...ax/MpegDeMux-3
It would appear that you made the changes leading up to the 29th
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#8
|
|||
|
|||
Thought the build I tested was just before my commit. Will dig further.
__________________
System #1: Win7-64, I7-920, 8 GB mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HDHR-US (1st gen white) tuners. HD-200. System #2: Win7-64, I7-920, 8 GB mem, 4TB HD. Java 1.8.0_131. Sage v9.1.6.747. ClearQAM: 2x HDHR3-US tuners. HD-200. System #3: Win7-64, I7-920, 12 GB mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HVR2250; Spectrum Cable via HDPVR & USB-UIRT. 3x HD-200. Last edited by JustFred; 11-18-2015 at 09:05 AM. |
#9
|
||||
|
||||
The MpegDeMux.ax file is never invoked for playback on an HD300...so that's not related to the OPs problem.
What seemed very off to me in the log file is the stream ID it's using...which is 0x80. It should really be something like 0xbd80 instead (to indicate its' the 0xBD stream in the MPEG-PS which corresponds to the private stream, which is used for AC3, and then the 0x80 tag refers to which AC3 stream within there). What will probably fix this is if you go into Detailed Setup->Advanced->Rescan Existing Library Files. Then when that's done, see if it fixes the problem. If it doesn't, then try stopping SageTV completely, setting this in the Sage.properties file: force_full_content_reindex=true then startup SageTV again on the server and see if then it'll playback fine on the HD300. Let me know how that goes.
__________________
Jeffrey Kardatzke Founder of SageTV |
#10
|
|||
|
|||
Ah ha...
Just discovered this...
On my Win7 SageTV: Code:
Tue 11/17 17:09:20.019 [VideoFrame-0023a50001c3@1798a3c] openURL0(push:f=MPEG2-PS;dur=3658786;br=2808100;[bf=vid;f=MPEG2-Video;index=0;main=yes;tag=e0;fps=59.94006;fpsn=60000;fpsd=1001;ar=1.777778;arn=16;ard=9;w=1280;h=720;cs=yuv420p;][bf=aud;f=AC3;br=384000;index=1;main=yes;tag=bd-80010000;sr=48000;ch=6;lang=eng;]) Tue 11/17 17:09:20.312 [VideoFrame-0023a50001c3@1798a3c] Setting audio stream for playback to be ID=0xbd80 Tue 11/17 17:09:20.313 [VideoFrame-0023a50001c3@1798a3c] Setting default subpicture track to be disabled for MPEG2-PS Tue 11/17 17:09:20.377 [VideoFrame-0023a50001c3@1798a3c] Sigma video dim=java.awt.Dimension[width=720,height=480] Code:
Tue 11/17 16:45:20.773 [VideoFrame-0023a50001c3@2ab0b564] openURL0(push:f=MPEG2-PS;dur=3658080;br=9600000;[bf=aud;f=AC3;br=384000;index=0;tag=80;sr=48000;ch=6;][bf=vid;f=MPEG2-Video;br=19392000;index=1;tag=e0;fps=59.94006;fpsn=60000;fpsd=1001;ar=1.7777778;arn=16;ard=9;w=1280;h=720;cs=yuv420p;]) Tue 11/17 16:45:21.050 [VideoFrame-0023a50001c3@2ab0b564] Setting audio stream for playback to be ID=0x8000 Tue 11/17 16:45:21.051 [VideoFrame-0023a50001c3@2ab0b564] Setting default subpicture track to be disabled for MPEG2-PS Tue 11/17 16:45:21.126 [VideoFrame-0023a50001c3@2ab0b564] Sigma video dim=java.awt.Dimension[width=720,height=480] |
#11
|
|||
|
|||
Well, tried both suggestions, and neither is working.
Later this evening, I'm going to try to figure out if it's a problem with detection, or if it's a problem with playback (I'm guessing detection). Maybe it's a problem with the ffmpeg that I'm using? |
#12
|
|||
|
|||
Hmm... Why is ffmpeg reporting 0x80?
Code:
./ffmpeg -dumpmetadata -v 2 -i /var/media/tv/BattleBots-S01E02-9422954-0.mpg FFmpeg version git-9853d6d, Copyright (c) 2000-2008 Fabrice Bellard, et al. configuration: --disable-ffserver --disable-ffplay --enable-gpl --enable-pthreads --enable-avfilter --enable-nonfree --enable-libfaac --enable-libx264 --enable-libxvid --disable-devices --disable-demuxer=msnwc_tcp --enable-libfaad --extra-cflags=-I. -I/usr/home/ptoal/SageTV/sagetv/third_party/codecs/faad2/include -I/usr/home/ptoal/SageTV/sagetv/third_party/codecs/faac/include -I/usr/home/ptoal/SageTV/sagetv/third_party/codecs/x264 -I/usr/home/ptoal/SageTV/sagetv/third_party/codecs/xvidcore/src --extra-ldflags=-L/usr/home/ptoal/SageTV/sagetv/third_party/codecs/faac/libfaac/.libs -L/usr/home/ptoal/SageTV/sagetv/third_party/codecs/faad2/libfaad/.libs -L/usr/home/ptoal/SageTV/sagetv/third_party/codecs/x264 -L/usr/home/ptoal/SageTV/sagetv/third_party/codecs/xvidcore/build/generic/=build libavutil version: 49.6.0 libavcodec version: 51.50.1 libavformat version: 52.7.0 libavdevice version: 52.0.0 libavfilter version: 0.0.0 built on Nov 16 2015 14:18:11, gcc: 4.2.1 20070831 patched [FreeBSD] Input #0, mpeg, from '/var/media/tv/BattleBots-S01E02-9422954-0.mpg': Duration: 01:00:58.8, start: 0.273233, bitrate: 9600 kb/s Stream #0.0[0x80], 1/90000: Audio: ac3, 48000 Hz, 5:1, 384 kb/s Stream #0.1[0x1e0], 1/90000: Video: mpeg2video, yuv420p, 1280x720, 1001/60000, AR: 16:9, progressive, 19392 kb/s, 59.94 fps(r) Must supply at least one output file |
#13
|
|||
|
|||
Ok... I'm slowly working my way through this...
It looks like the older files I have, which were probably recorded with an original HDHR Dual have the id=80. Here's a recently recorded file from an HDHR Prime: Code:
VideoFrame.timeSelected2(Tue 11/17 19:30:00.273, true) currFile=MediaFile[id=9925216 A[9881919,9881812,"The Big Bang Theory",44784@1117.19:30, 30,T] mask=TV host=SageV9 encodedBy=HDHomeRun 1040fbda Tuner 0 CFTODT format=MPEG2-PS 0:00:00 2725 kbps [#0 Video[MPEG2-Video 29.97003 fps 1920x1080 16:9 interlaced id=e0]#1 Audio[AC3 48000 Hz 6 chann els 384 kbps MAIN idx=1 id=bd-80010000 eng]#2 Audio[AC3 48000 Hz 2 channels 192 kbps idx=2 id=bd-81010000 eng]{SeriesInfoID=0, MediaType=TV, ScrapedBy=Phoenix, UserRating=76, ScrapedDate=1447808401099 , MediaProviderDataID=80379, MediaTitle=The Big Bang Theory, MediaProviderID=tvdb}] /var/media/tv/TheBigBangTheory-S02E18-TheWorkSongNanocluster-9881919-0.mpg, Seg0 What I don't understand is why my Windows based Sagev7 plays these back with the correct id (0xbd80), but the Sagev9 that I have plays them back with just id=0x80. I've been poking at the MiniPlayer.java code, especially this bit, starting at line 1349: Code:
sage.media.format.AudioFormat af = cf.getAudioFormat(); int audioStreamType = (using6ChAudioTranscode && serverSideTranscoding && !usingRemuxer) ? 0xbd80 : 0xc000; int ac3indexOffset = (af != null && usingRemuxer) ? af.getOrderIndex() : 0; // If we're transcoding then the original audio stream doesn't matter, just use 0xc0 // unless we're using the remuxer.... Code:
sage.media.format.AudioFormat af = cf.getAudioFormat(); int audioStreamType = (using6ChAudioTranscode && serverSideTranscoding && !usingRemuxer) ? 0xbd80 : 0xc000; int ac3indexOffset = (af != null && usingRemuxer) ? af.getOrderIndex() : 0; // If we're transcoding then the original audio stream doesn't matter, just use 0xc0 // unless we're using the remuxer.... if (Sage.DBG) { System.out.println("AudioFormat: " + af); System.out.println("audioStreamType: 0x" + Integer.toString(audioStreamType, 16) + " ac3indexOffset: " + ac3indexOffset); System.out.println("useOriginalAudioTrack: " + useOriginalAudioTrack + " serverSideTranscoding: " + serverSideTranscoding + " transcoded: " + transcoded); System.out.println("streamID: " + af.getId()); } if (af != null && (useOriginalAudioTrack || ((!serverSideTranscoding && !transcoded))/* || (mpegSrc != null && mpegSrc.getTranscoder() instanceof RemuxTranscodeEngine)*/)) { Code:
Opened MPEG-2 PS file: /var/media/tv/BattleBots-S01E02-9422954-0.mpg firstPTS=24591 durationMsec=3658852 Mpeg2Reader seeking to pos=0 openURL0(push:f=MPEG2-PS;dur=3658080;br=9600000;[bf=aud;f=AC3;br=384000;index=0;tag=80;sr=48000;ch=6;][bf=vid;f=MPEG2-Video;br=19392000;index= 1;tag=e0;fps=59.94006;fpsn=60000;fpsd=1001;ar=1.7777778;arn=16;ard=9;w=1280;h=720;cs=yuv420p;]) AudioFormat: Audio[AC3 48000 Hz 6 channels 384 kbps idx=0 id=80] audioStreamType: 0xc000 ac3indexOffset: 0 useOriginalAudioTrack: true serverSideTranscoding: false transcoded: false streamID: 80 Setting audio stream for playback to be ID=0x8000 Setting default subpicture track to be disabled for MPEG2-PS Sigma video dim=java.awt.Dimension[width=720,height=480] |
#14
|
|||
|
|||
Oh, weird... Win7/Sagev7 reports the following for an old file:
Code:
Tue 11/17 17:09:20.019 [VideoFrame-0023a50001c3@1798a3c] Opened MPEG-2 PS file: \\nas\Recordings\SageRecordings\BattleBots-S01E02-9422954-0.mpg firstPTS=24591 durationMsec=3658852^M Tue 11/17 17:09:20.019 [VideoFrame-0023a50001c3@1798a3c] Mpeg2Reader seeking to pos=0^M Tue 11/17 17:09:20.019 [VideoFrame-0023a50001c3@1798a3c] openURL0(push:f=MPEG2-PS;dur=3658786;br=2808100;[bf=vid;f=MPEG2-Video;index=0;main=yes;tag=e0;fps=59.94006;fpsn=60000;fpsd=1001;ar=1.777778;arn=16;ard=9;w=1280;h=720;cs=yuv420p;][bf=aud;f=AC3;br=384000;index=1;main=yes;tag=bd-80010000;sr=48000;ch=6;lang=eng;])^M How does that id tag get populated in the first place? |
#15
|
|||
|
|||
ptoal's playback issue may need a different fix than Carey's (in the other thread), but I wanted to follow up here on my earlier comment re: broken MpegDeMux.ax
Correction to my date: The audio playback failure exists in a branch prior to my vs2005 commit on 9/28. Binaries built using commit f7d1851d99f67e073cdf6b0d978a82e053b532cc (committed 9/26) have the audio playback problem too. Although the problem is tied to MpegDeMux.ax, that dll is built by linking to NativeCore.lib. By building the .ax file using various vintages of the .lib, I found the problem is actually in NativeCore.lib. added: The commit responsible for the regression is: https://github.com/google/sagetv/com...4ed5d268eedabc MpegDeMux.ax built from this tree fails. MpegDeMux.ax built from the prior commit works correctly. The problem with MpegDeMux.ax affects playback on both SageTv.exe and my HD200.
__________________
System #1: Win7-64, I7-920, 8 GB mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HDHR-US (1st gen white) tuners. HD-200. System #2: Win7-64, I7-920, 8 GB mem, 4TB HD. Java 1.8.0_131. Sage v9.1.6.747. ClearQAM: 2x HDHR3-US tuners. HD-200. System #3: Win7-64, I7-920, 12 GB mem, 4TB HD. Java-64 1.8.0_141. Sage-64 v9.2.1 ATSC: 2x HVR2250; Spectrum Cable via HDPVR & USB-UIRT. 3x HD-200. Last edited by JustFred; 11-19-2015 at 09:38 AM. Reason: tracked down the exact commit |
#16
|
|||
|
|||
@JustFred: Definitely a different issue.
The issue I'm having is due to a mis-detected PID for the audio stream. No idea why I'm getting 0x80 on these older MPEG2-PS's on Sagev9 on FreeBSD, but I get FB-80 on the same stream on Windows/Sagev7 I am still digging backwards through the code to try to figure out where this ID is actually sourced. I love SageTV, but this spaghetti code is making my head hurt. Maybe once I get my system back up running again, I'll take the time to do some refactoring of the code. A lot of complex logic has been jammed into some of these methods, and I think that peeling some of it out into more "single purpose" methods could help a lot for readability. |
#17
|
||||
|
||||
That ID number is coming from native format detection code we have...which is libMPEGParser. This gets invoked through sage.media.format.MPEGParser.getMediaAVInf0(). When you set the redetect flags I mentioned; it should have called that on every recording again and then updated their formats...so if that's not returning back the proper tag, then a bug must have been introduced into there somehow.
I did a diff of the SageTV7 MiniPlayer.java vs. the V9 one, and nothing changed in there which would affect this.
__________________
Jeffrey Kardatzke Founder of SageTV |
#18
|
|||
|
|||
Quote:
Now I need to decide if I want to fix the parsing from ffmpeg's output, or fix the internal format parser. |
#19
|
|||
|
|||
Added some print statements to try to figure out where SageTV was crashing. It looks like this statement in FormatParser.java
String myFormatData = MPEGParser.getMediaAVInf0(f.toString(), Math.min(f.length(), MPEG_PARSER_SEARCH_LENGTH), sage.MMC.getInstance().isRecording(f) || sage.FileDownloader.isDownloading(f), -1); Weird thing is that the crash happens without any stacktrace output. Is the stacktrace somehow disabled, or is it because of the native call? |
#20
|
|||
|
|||
I know it's bad form to answer oneself, but I've been making slow progress.
Thanks to truss, I can see that my problem is: write(2,"./libNativeCore.so: Undefined symbol "lseek64"",46) = 46 (0x2e) So I'm off to try to mess with #defines and make it work. In the meantime, though, I'm still confused why that error didn't print out to stderr? |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
MPEG2 w/PCM audio? | awhenry | SageTV Media Extender | 4 | 03-11-2013 11:54 AM |
Playback of Transport Stream MPEG2 Recordings | reggie14 | SageTV Software | 5 | 02-13-2009 05:30 PM |
Does Sage support mpeg2 audio only? | dbdan | SageTV Software | 1 | 11-17-2006 11:01 AM |
DVD & MPEG2 decoder audio | korben_dallas | General Discussion | 2 | 11-27-2004 07:29 PM |
MPEG2 Audio Error in PlayBack | Frank | Hardware Support | 5 | 08-19-2004 06:38 PM |