1 .\" $NetBSD: fwctl.8,v 1.7 2009/04/08 14:33:12 joerg Exp $
3 .\" Copyright (c) 2005 KIYOHARA Takashi
4 .\" All rights reserved.
6 .\" Copyright (c) 2002 Hidetoshi Shimokawa
7 .\" All rights reserved.
9 .\" Redistribution and use in source and binary forms, with or without
10 .\" modification, are permitted provided that the following conditions
12 .\" 1. Redistributions of source code must retain the above copyright
13 .\" notice, this list of conditions and the following disclaimer.
14 .\" 2. Redistributions in binary form must reproduce the above copyright
15 .\" notice, this list of conditions and the following disclaimer in the
16 .\" documentation and/or other materials provided with the distribution.
18 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 .\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
22 .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24 .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26 .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
27 .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 .\" POSSIBILITY OF SUCH DAMAGE.
30 .\" $FreeBSD: src/usr.sbin/fwcontrol/fwcontrol.8,v 1.21 2007/10/31 05:59:17 brueffer Exp $
37 .Nd IEEE1394 control utility
47 .Op Fl m Ar EUI64 | hostname
56 utility is designed to provide a way for users to access and control
62 will output a list of devices that are/were connected to the bus.
64 The following options are available:
65 .Bl -tag -width XmXEUI64XhostnameXX -offset indent
69 register on all supported nodes.
71 Show the configuration ROM on the node.
73 Hex dump of the configuration ROM.
79 Load hex dump file of the configuration ROM and parse it.
80 .It Fl M Ar modeExplicitly specify either
84 mode for the incoming stream.
85 Only meaningful in case of and must precede the
88 If not specified, the program will try to guess.
89 If you get an error complaining about
94 .It Fl m Ar EUI64 | hostname
95 Set default fwmem target.
96 Hostname will be converted to EUI64.
98 Send a link-on PHY packet to the node.
102 Receive DV or MPEG TS stream and dump it to a file.
103 Use Ctrl-C to stop receiving.
104 Some DV cameras seem not to send the stream if a bus manager exits.
105 If you cannot get the stream, try the following commands:
106 .Bd -literal -offset indent
107 sysctl hw.ieee1394if.try_bmr=0
111 The resulting file contains raw DV data excluding isochronous header
113 It can be handled by the
114 .Pa pkgsrc/multimedia/libdv
116 The resulting MPEG TS stream can be played and sent over a network using
118 .Pa ( pkgsrc/multimedia/vlc ) .
119 The stream can be piped directly to
126 Send a DV file as isochronous stream.
130 register on the node.
132 Show the topology map.
134 Specify the IEEE1394 bus number to be operated on.
141 Each DV frame has a fixed size and it is easy to edit the frame order.
143 .Dl "fwctl -R original.dv"
145 Receive a DV stream with DV camera attached.
147 .Dl "dd if=original.dv of=first.dv bs=120000 count=30"
149 Get first 30 frames (NTSC).
151 .Dl "dd if=original.dv of=second.dv bs=120000 skip=30 count=30"
153 Get second 30 frames (NTSC).
155 .Dl "cat second.dv first.dv | fwctl -S /dev/stdin"
157 Swap first and second 30 frames and send them to DV recorder.
164 .Dl "fwcontrol -R file.m2t"
166 Receive an MPEG TS stream from a camera producing MPEG transport stream.
167 This has been tested with SONY HDR-FX1E camera that produces HD
168 MPEG-2 stream at 25 Mbps bandwidth.
170 To send the stream from the camera over the network using TCP (which
171 supprisingly works better with vlc), you can use
172 .Dl "fwcontrol -R - | nc 192.168.10.11 9000"
174 .Pa pkgsrc/net/netcat
175 and to receive the stream, use
176 .Dl nc -l -p 9000 | vlc -
178 To netcast via UDP, you need to use
179 .Pa pkgsrc/misc/buffer ,
180 since vlc is not fast enough to read UDP packets from
181 buffers and thus it experiences dropouts when run directly.
182 The sending side can use
183 .Dl "fwcontrol -R - | nc 192.168.10.11 9000"
184 and to receive the stream, use
185 .Dl nc -l -u -p 9000 | buffer -s 10k -b 1000 -m 20m -p 5 | vlc -
187 For more information on how to work with
189 see its documentation.
200 command first appeared in
206 under its present name.
208 .An Hidetoshi Shimokawa Aq simokawa@FreeBSD.org
209 .An Petr Holub Aq hopet@ics.muni.cz
211 .An KIYOHARA Takashi Aq kiyohara@NetBSD.org
213 This utility is still under development and provided for debugging
215 Especially MPEG TS reception support is very rudimental and supports only
216 high-bandwidth MPEG-2 streams (fn field in CIP header equals 3).