View Full Version : Firewire HD recording support available?
InsaneGeek
01-05-2006, 09:39 AM
I'm a comcast user with the Moto 6412, wondering if it's available out of the box, or something that an experienced Linux user could put it in if he wanted to; or something end users couldn't hack in and would be required to be added by sage developers.
I record it now over firewire on my Fedora Linux system using mythtv but I'm not fully satisfied with the experience, and looking for something different.
JasonJoel
01-05-2006, 09:47 AM
It can be done in the Windows version of Sage (there is a thread in the hardware news group).
Since the Linux version of Sage is not available directly to end users (OEM only), I don't think anyone has ever tried to get it to work in Linux.
Jason
Opus4
01-05-2006, 09:58 AM
Since the Linux version of Sage is not available directly to end users (OEM only)An aside: It you weren't allowed to buy it, it wouldn't have been listed in the SageTV store. "OEM" does not mean it is for manufacturers only.
- Andy
_Demo_
01-05-2006, 10:19 AM
I'm a comcast user with the Moto 6412, wondering if it's available out of the box, or something that an experienced Linux user could put it in if he wanted to; or something end users couldn't hack in and would be required to be added by sage developers.
I record it now over firewire on my Fedora Linux system using mythtv but I'm not fully satisfied with the experience, and looking for something different.
There is unsupported experimental support for firewire recording but it is disabled by default. You would need to change linux/enable_firewire_capture=false in Sage.properties.
_Demo_
InsaneGeek
01-05-2006, 11:48 AM
There is unsupported experimental support for firewire recording but it is disabled by default. You would need to change linux/enable_firewire_capture=false in Sage.properties.
_Demo_
Thank you very much, I'll give the Windows demo a try for look/feel and you just might have a new Linux customer on your hands.
On a side note I'm assuming that there's a good possibility that it will run under 64bit Linux, provided I have the proper 32bit libraries (knowing that it's not supported)
JasonJoel
01-05-2006, 12:05 PM
Oops, I'm behind the times here it appears! Sorry for the mis-information.
Jason
An aside: It you weren't allowed to buy it, it wouldn't have been listed in the SageTV store. "OEM" does not mean it is for manufacturers only.
- Andy
heffe2001
01-05-2006, 02:06 PM
There is unsupported experimental support for firewire recording but it is disabled by default. You would need to change linux/enable_firewire_capture=false in Sage.properties.
_Demo_
Does it also support firewire channel changes, so you can run it without using a blaster? (I believe MythTV does this, so if you can use an external program to tune channels with the linux version, I would think it would be able to be done fairly easily.
_Demo_
01-05-2006, 02:19 PM
Does it also support firewire channel changes, so you can run it without using a blaster? (I believe MythTV does this, so if you can use an external program to tune channels with the linux version, I would think it would be able to be done fairly easily.
Yes, but like I said the firewire input is experimental so it might not work depending on the device.
_Demo_
phenixdragon
01-13-2006, 09:52 PM
So would you only need to change that properties file and Sagve should work to use firewire? I'm just curious if anyone has gotten to work and everything that they did. I am very intersted in going to Linux but I may not due to Windows just having so many more options to choice from.
Thanks!
InsaneGeek
01-14-2006, 09:33 PM
So would you only need to change that properties file and Sagve should work to use firewire? I'm just curious if anyone has gotten to work and everything that they did. I am very intersted in going to Linux but I may not due to Windows just having so many more options to choice from.
Went ahead, charged forward with hope and unfortunately I'm not having much success. I am guessing that a critical library was left out of the distribution that unfortunately I won't be able to recreate. Doing a strace shows that it dumps out looking for the library file "libFirewireCapture.so". As a last resort I even tried emerging in the libavc1394 and linking the /usr/lib/*1394.so files back to the missing lib file (as I expected it didn't work). Before it will work I think it's going to require that file from the sagetv developers.
# strace -f ./startsage 2>&1 | grep Firewire
[pid 21344] stat64("/opt/sun-jre-bin-1.5.0.05/lib/i386/libFirewireCapture.so", 0xbfd86158) = -1 ENOENT (No such file or directory)
[pid 21344] stat64("/opt/sun-jre-bin-1.5.0.05/lib/i386/client/libFirewireCapture.so", 0xbfd86158) = -1 ENOENT (No such file or directory)
[pid 21344] stat64("/opt/sun-jre-bin-1.5.0.05/lib/i386/libFirewireCapture.so", 0xbfd86158) = -1 ENOENT (No such file or directory)
[pid 21344] stat64("/opt/sun-jre-bin-1.5.0.05/../lib/i386/libFirewireCapture.so", 0xbfd86158) = -1 ENOENT (No such file or directory)
[pid 21344] stat64("./libFirewireCapture.so", 0xbfd86158) = -1 ENOENT (No such file or directory)
[pid 21344] stat64("lib/libFirewireCapture.so", 0xbfd86158) = -1 ENOENT (No such file or directory)
[pid 21344] write(2, "\tat sage.LinuxFirewireCaptureMan"..., 59) = 59
[pid 21344] write(2, "\tat sage.LinuxFirewireCaptureMan"..., 59) = 59
[pid 21345] write(1, "MAIN THREW AN EXCEPTION: java.la"..., 1768
MAIN THREW AN EXCEPTION: java.lang.UnsatisfiedLinkError: no FirewireCapture in java.library.path
java.lang.UnsatisfiedLinkError: no FirewireCapture in java.library.path
at sage.LinuxFirewireCaptureManager.<init>(Unknown Source)
Exception in thread "main" java.lang.UnsatisfiedLinkError: no FirewireCapture in java.library.path
at sage.LinuxFirewireCaptureManager.<init>(Unknown Source)
phenixdragon
01-14-2006, 11:50 PM
I just hope they get it working soon because I would love to run Sage in Linux because of how little overhead it has. I am very glad they have their own installer with a version of Linux. I would like to see a list of all compatible hardware and for it all to be included in the installer also, if it is not. Right now I can't justify spending $80 on software I would only play with. If FireWire was running then I would would but until then I can't. And I hope there is a easy of creating plugins for Sage for Linux.
_Demo_
01-15-2006, 09:16 AM
Here is the missing file. I haven't tested it in a few months and it might not work depending on the device.
_Demo_
InsaneGeek
01-16-2006, 11:13 PM
Here is the missing file. I haven't tested it in a few months and it might not work depending on the device.
_Demo_
Thank you very much. I've got to do some more tweeking but I have it working successfully for video (audio I'm having a more general problem with, just got to find the time to tweek).
FYI for the others here, I downloaded the file to the /opt/sagetv/app directory, then emerged in the required shared libraries.
emerge libavc1394
ACCEPT_KEYWORDS="~x86" emerge libiec61883
Have some choppiness every once in a while but think it's probably in the mpeg stream that the cable box handles more gracefully.
tpboyce
12-09-2009, 06:17 PM
I am trying to play with this a little. I have an SA4250 that uses a different tuning sequence. Is there any chance of getting this updated, or the source to be able to modify it?
_Demo_
12-09-2009, 06:31 PM
I am trying to play with this a little. I have an SA4250 that uses a different tuning sequence. Is there any chance of getting this updated, or the source to be able to modify it?
Do you mean the channel doesn't change? I had tried it on a SA4250 a while ago and it used to work.
_Demo_
tpboyce
12-09-2009, 09:25 PM
It is tries to change to 202, but then goes into a loop changing to channel 0, presumably when it does not tune. There is an alternate version of the 4250 that requires a select to be pressed.
From Mythchanger for the original 4250 firmware:
case SA4250HDC:
AVCcmd[0] = SA3250HD_CMD0 | AVC1394_SA3250_OPERAND_KEY_PRESS;
AVCcmd[1] = COMMON_CMD1 | (stbchn << 8);
AVCcmd[2] = COMMON_CMD2;
break;
And here is the alternate firmware:
case SA4250HDC_alt:
AVCcmd[0] = COMMON_CMD0;
AVCcmd[1] = COMMON_CMD1 | (stbchn << 8);
AVCcmd[2] = 0x00;
My box requires the alternate code.
Here is a snipped from the log file...
Wed 12/9 22:27:25.258 [AsyncWatch@11bd50e] Change in record to another show. Entering device record mode. - NOW
Wed 12/9 22:27:25.259 [AsyncWatch@11bd50e] Seeker.startRecord(Firewire GUID 0022cee6 5c480000 FA[A[227803,0,"Rock and Roll Hall of Fame Live",0@1209.19:09,5256000]], currTime=Wed 12/9 22:27:25.257) currRecor
d=null switch=false
Wed 12/9 22:27:25.259 [AsyncWatch@11bd50e] Setting up MMC video for recording new show & tuning channel conn=Firewire GUID 0022cee6 5c480000 Digital TV Tuner
Wed 12/9 22:27:25.259 [AsyncWatch@11bd50e] Using quality setting "Great" for recording
Wed 12/9 22:27:25.259 [AsyncWatch@11bd50e] Seeker resetting the encoder because it'll pass the max duration
Wed 12/9 22:27:25.259 [AsyncWatch@11bd50e] MediaFile startSegment enc=Firewire GUID 0022cee6 5c480000 WTTWDT MediaFile[id=227803 FA[A[227803,0,"Rock and Roll Hall of Fame Live",0@1209.19:09,5256000]] host=sa
getv encodedBy=Firewire GUID 0022cee6 5c480000 Digital TV Tuner format=MPEG2-PS 0:00:00 0 kbps [] /var/media/tv/FirewireGUID0022cee65c480000DigitalTVTuner-0.mpgbuf, Seg0[Wed 12/9 22:26:51.291-Wed 12/9 22:26:
51.649]]
Wed 12/9 22:27:25.260 [FinalRender-00254bbe1094@4f778e] Loading RawImage of size 500x29 for /opt/sagetv/server/STVs/SageTV3/Themes/Standard SDTV/ProgressBar5.png
Wed 12/9 22:27:25.260 [FinalRender-00254bbe1094@4f778e] Loading 0x0 image from file /opt/sagetv/server/STVs/SageTV3/Themes/Standard SDTV/ProgressBar5.png
Wed 12/9 22:27:25.346 [AsyncWatch@11bd50e] Seeker channel string=205
Wed 12/9 22:27:25.397 [AsyncWatch@11bd50e] startEncoding for Firewire capture device file=/var/media/tv/FirewireGUID0022cee65c480000DigitalTVTuner-0.mpgbuf chan=205
Wed 12/9 22:27:25.397 [AsyncWatch@11bd50e] Firewire setChannel0
Wed 12/9 22:27:25.398 [AsyncWatch@11bd50e] Firewire set channel 0.
Wed 12/9 22:27:25.399 [AsyncWatch@11bd50e] power response 09FFB270
Wed 12/9 22:27:25.401 [AsyncWatch@11bd50e] 67 push response 09487C67
Wed 12/9 22:27:25.404 [AsyncWatch@11bd50e] 67 release response 09487CE7
Wed 12/9 22:27:25.404 [AsyncWatch@11bd50e] Firewire updateColors0 b=0 c=0 h=0 s=0
Wed 12/9 22:27:25.404 [AsyncWatch@11bd50e] Firewire setChannel0
Wed 12/9 22:27:25.404 [AsyncWatch@11bd50e] Firewire set channel 205.
Wed 12/9 22:27:25.406 [AsyncWatch@11bd50e] power response 09FFB270
Wed 12/9 22:27:25.409 [AsyncWatch@11bd50e] 67 push response 09487C67
Wed 12/9 22:27:25.411 [AsyncWatch@11bd50e] 67 release response 09487CE7
Wed 12/9 22:27:25.411 [AsyncWatch@11bd50e] Firewire SetEncoding
Wed 12/9 22:27:25.411 [AsyncWatch@11bd50e] Firewire setup encoding.
Wed 12/9 22:27:25.422 [Firewire-Encoder0@5c5ff9] Starting Firewire capture thread
Wed 12/9 22:27:25.423 [AsyncWatch@11bd50e] VF.submitJob(VFJob[WatchMF r=0.0 t=0 file=MediaFile[id=227803 FA[A[227803,0,"Rock and Roll Hall of Fame Live",0@1209.19:09,5256000]] host=sagetv encodedBy=Firewire
GUID 0022cee6 5c480000 Digital TV Tuner format=MPEG2-PS 0:00:00 0 kbps [] /var/media/tv/FirewireGUID0022cee65c480000DigitalTVTuner-0.mpgbuf, Seg0[Wed 12/9 22:27:25.257-Wed 12/31 18:00:00.000]] ifn=null])
Wed 12/9 22:27:25.436 [VideoFrame-00254bbe1094@1661f7b] VF processing job VFJob[WatchMF r=0.0 t=0 file=MediaFile[id=227803 FA[A[227803,0,"Rock and Roll Hall of Fame Live",0@1209.19:09,5256000]] host=sagetv e
ncodedBy=Firewire GUID 0022cee6 5c480000 Digital TV Tuner format=MPEG2-PS 0:00:00 0 kbps [] /var/media/tv/FirewireGUID0022cee65c480000DigitalTVTuner-0.mpgbuf, Seg0[Wed 12/9 22:27:25.257-Wed 12/31 18:00:00.00
0]] ifn=null] nPlayin=false
Wed 12/9 22:27:25.436 [VideoFrame-00254bbe1094@1661f7b] VF processing on UI Thread VFJob[WatchMF r=0.0 t=0 file=MediaFile[id=227803 FA[A[227803,0,"Rock and Roll Hall of Fame Live",0@1209.19:09,5256000]] host
=sagetv encodedBy=Firewire GUID 0022cee6 5c480000 Digital TV Tuner format=MPEG2-PS 0:00:00 0 kbps [] /var/media/tv/FirewireGUID0022cee65c480000DigitalTVTuner-0.mpgbuf, Seg0[Wed 12/9 22:27:25.257-Wed 12/31 18
:00:00.000]] ifn=null]
Wed 12/9 22:27:25.439 [AsyncWatch@11bd50e] Firewire setChannel0
Wed 12/9 22:27:25.439 [AsyncWatch@11bd50e] Firewire set channel 0.
Wed 12/9 22:27:25.440 [AsyncWatch@11bd50e] power response 09FFB270
Wed 12/9 22:27:25.443 [AsyncWatch@11bd50e] 67 push response 09487C67
Wed 12/9 22:27:25.445 [AsyncWatch@11bd50e] 67 release response 09487CE7
Wed 12/9 22:27:25.446 [AsyncWatch@11bd50e] Firewire updateColors0 b=0 c=0 h=0 s=0
Wed 12/9 22:27:25.468 [VideoFrame-00254bbe1094@1661f7b] VideoFrame creating new media player for file:MediaFile[id=227803 FA[A[227803,0,"Rock and Roll Hall of Fame Live",0@1209.19:09,5256000]] host=sagetv en
codedBy=Firewire GUID 0022cee6 5c480000 Digital TV Tuner format=MPEG2-PS 0:00:00 0 kbps [] /var/media/tv/FirewireGUID0022cee65c480000DigitalTVTuner-0.mpgbuf, Seg0[Wed 12/9 22:27:25.257-Wed 12/31 18:00:00.000
]]
Wed 12/9 22:27:25.494 [VideoFrame-00254bbe1094@1661f7b] VF processing job VFJob[LoadMF r=0.0 t=0 file=MediaFile[id=227803 FA[A[227803,0,"Rock and Roll Hall of Fame Live",0@1209.19:09,5256000]] host=sagetv en
codedBy=Firewire GUID 0022cee6 5c480000 Digital TV Tuner format=MPEG2-PS 0:00:00 0 kbps [] /var/media/tv/FirewireGUID0022cee65c480000DigitalTVTuner-0.mpgbuf, Seg0[Wed 12/9 22:27:25.257-Wed 12/31 18:00:00.000
]] ifn=null] nPlayin=false
Wed 12/9 22:27:25.494 [VideoFrame-00254bbe1094@1661f7b] VF network encoder playback detected: false
Wed 12/9 22:27:25.495 [ReProcessHook@11bd50e] Firewire setChannel0
Wed 12/9 22:27:25.495 [ReProcessHook@11bd50e] Firewire set channel 0.
Wed 12/9 22:27:25.496 [ReProcessHook@11bd50e] power response 09FFB270
Wed 12/9 22:27:25.499 [ReProcessHook@11bd50e] 67 push response 09487C67
Wed 12/9 22:27:25.500 [VideoFrame-00254bbe1094@1661f7b] VF waiting for data to appear in new file...liveWait=2757
Wed 12/9 22:27:25.501 [VideoFrame-00254bbe1094@1661f7b] VF thread is now waiting for 0:00:00.200
Wed 12/9 22:27:25.501 [ReProcessHook@11bd50e] 67 release response 09487CE7
Wed 12/9 22:27:25.501 [ReProcessHook@11bd50e] Firewire updateColors0 b=0 c=0 h=0 s=0
Wed 12/9 22:27:25.506 [ReProcessHook@11bd50e] Firewire setChannel0
Wed 12/9 22:27:25.507 [ReProcessHook@11bd50e] Firewire set channel 0.
Wed 12/9 22:27:25.516 [ReProcessHook@11bd50e] power response 09FFB270
_Demo_
12-10-2009, 01:17 PM
It is tries to change to 202, but then goes into a loop changing to channel 0, presumably when it does not tune. There is an alternate version of the 4250 that requires a select to be pressed.
Most likely there is something else wrong with your settings (maybe Sage.properties) since there is no code to check for failure. I don't know exactly why it tries to set channel 0, I have not tested firewire in a long time. Does it initially tune to the channel you selected before doing all those 0?
_Demo_
tpboyce
12-10-2009, 10:55 PM
Due to logistics, I am not able to see the tuner right when it changes. I am going to try to do that this weekend. What I have been able to confirm is that plugreport shows that there is an additional p2p connection when sage is trying to capture the video. After stopping the channel setup, I am unable to do a test-mpeg2 command. If I use the mythchanger utility to change the channel, I am able to capture a video file using test-mpeg2. Something in the initialization of the firewire by sage is making it go wonky, possibly the tuning, possibly something else. I know that there are two firmware versions of the 4250, and I know I have the alternate version that is not common. I would really like to get this going. My first test video clip seems very nice, and would eliminate the complexity of the HD-PVR.
tpboyce
12-11-2009, 11:26 PM
Looking at the logs closer, it definately looks like it is trying to tune to channel 0 and is doing it frequently. I have another box that I am going to try. This one may not use an alternate version. I suppose I could try windows, but really want to avoid that. All of my channels come back as clear with the tester provided with MythTV.
tpboyce
12-13-2009, 09:42 PM
In another post, a user noted that their Windows Firewire changing stopped working when Wide Open West (my provider as well) updated their firmware. It looks like this was done around May of 2008, so if the code was not updated since then, this could be the key. I would love to get this working on Linux Sage. I could try WHS, but I am trying to move away from this.
_Demo_
12-14-2009, 09:18 AM
Are you able to test the firewire tuning plugin without using the firewire capture source to see if channel change will work that way?
_Demo_
tpboyce
12-14-2009, 10:00 AM
Where would I find that? I have used the GenericTuner to change channels using the Mythchanger script and forcing it to the alternative 4250.
_Demo_
12-14-2009, 12:37 PM
I have attached the file.
_Demo_
tpboyce
12-14-2009, 08:50 PM
Well, the tuner plugin works very well. Still trying to get to the bottom of the firewire capture. Is there additional information I can provide, or are there other settings in the Sage.properties that might interact with this?
_Demo_
12-15-2009, 08:45 AM
I have attached a version of the firewire capture which doesn't tune to the channels directly. (so you can use with the other tuning plugin or an external one).
_Demo_
tpboyce
12-20-2009, 10:27 PM
OK, things have gone strange on me again. Before I was able to consistantly grab using test-mpeg2, now it does nothing. Channel change works like a dream.
Out of curiosity, those of you that have, or had Linux firewire working, what version of Linux are you running?
Tom
vBulletin® v3.7.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.