Probem while transmitting video on internet ???? dying for helpppppppp

hi,
i m using JMStudio from transmittion and JMStudio for receiving over the INTERNET but they cannot transmit and receive over the INTERNET can any one help me???
what can i do and from Where i can find RTP server for free.Help me please.
thanks inadvance

Here's a little progam that you can run on your 2 machines (server and client) to know their IP addresses :
public class IPAddress {
public static void main (String[] args) {
try {
System.out.println(java.net.InetAddress.getLocalHost().getHostAddress());
} catch (Exception e) {}
This IP addresses are used to indentify machines, so the IP address of server will be used for AVReceive2 and the IP address of client will be used for AVTransmit2. You can choose the port number ramdomly but it must be > 1024 and not already reserved by another internet service. This port number must be the same for AVReceive2 and AVtransmit2.
Note that you've to run the programs on 2 differents machines if you don't want to modify the AVTransmit2 code (to permit the use of another port for AVReceive2).
Good luck !

Similar Messages

  • Transmitting video over internet

    Hi ,
    iam developing an video conferencing application.
    iam able to transmit video using RTP in the LAN but not in the internet.
    what should i do to transmit the video over internet?.which ipaddress i need to use?
    please help me.

    hay guys,
    the problem of video streaming through internet is solved.....
    can any one have idea about converting H.263 format back to jpeg
    thanks in advance
    krishna

  • Capturing video to a file while transmitting it over the network

    I have tried several ways to do this but non of them have worked. On the JMF Programmers Guide its stated that one could do something like this: creating a processor from a DataSource, and the taking two Datasources from the processor, one is used to transmitt the video over the network, and the other is used to save the data to a file(through a DataSink).
    One of the ways I've tried is to clone de DataSource before creating the Processor. I've also tried to clone the Data source after creating and realizing the processor. The other way I've tried is by using the JMFSolution "Video Capture Utility with Monitoring", found at the jmf's homepage, which intercepts the data carried from the capture data source to the Processor.
    Non of these have worked, and I always get Exceptions about not finding a DataSink for the DataSource I use. For example:
    "javax.media.NoDataSinkException: Cannot find a DataSink for: com.sun.media.multiplexer.RawBufferMux$RawBufferDataSource@d9850" ;
    "javax.media.NoDataSinkException: Cannot find a DataSink for: com.sun.media.vfw.PushBufferDataSource@1e45"
    I've search the Web triying to find something clear about capturing video to a file while transmitting it over the network, but nothing seems to work.
    I would appreciate a piece of an advice on this.

    you can try modifing de Capture example from JMF Solutions.
    change this function:
    public int startCapture() {
         int result = -1;
         enableComponents(false);
         buttonStart.setLabel("Pause");
         buttonEnd.setEnabled(true);
         startMonitoring();
         try {
    processor.start();
    DataSource clone = Manager.createCloneableDataSource(datasource);
         MediaLocator ml2 = new MediaLocator("file://capture.mov");
    System.out.println("Content Type " + clone.getContentType());
    datasink = Manager.createDataSink(processor.getDataOutput(), ml2);
         datasink.open();
    datasink.addDataSinkListener(this);
         datasink.start();
    result = 0;
         } catch (Exception e) {
         System.err.println("DataSink Exception " + e);
    result= -1;
    Regards.
    Fernando

  • View video from webcam while transmitting

    Hi everyone, when I try to use AVTransmit3.java and Clone.java (example from sun) to see video from webcam while transmitting, an error occur:
    {color:#ff0000}+java.lang.NullPointerException+
    at com.sun.media.codec.video.colorspace.RGBConverter.process(RGBConverter.java:352)
    at com.sun.media.BasicFilterModule.process(BasicFilterModule.java:322)
    at com.sun.media.BasicModule.connectorPushed(BasicModule.java:69)
    at com.sun.media.BasicOutputConnector.writeReport(BasicOutputConnector.java:120)
    at com.sun.media.SourceThread.process(BasicSourceModule.java:655)
    at com.sun.media.util.LoopThread.run(LoopThread.java:135){color}
    So I'm only able to see in local my captured video, but cannot transmit.
    I try to debug JMStudio to find how to do this(monitoring transmitted video), but I'm not able to debug it.
    In method private String createProcessor() of AVTransmit3.java I added
    //----------------------------------------------------Start
                clone = Manager.createCloneableDataSource(ds);
                if (clone == null) {
                    System.err.println("Cannot clone the given DataSource");
                    System.exit(0);
                Clone cloneV = new Clone();
                if (!cloneV.open(clone))
                    System.exit(0);             
    //----------------------------------------------------End       
         return null;
        }This is the clone.java from sun
    /* Clone.java
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    *import java.awt.*;
    import javax.media.*;
    import javax.media.protocol.DataSource;
    public class Clone extends Frame implements ControllerListener {
        Player p;
        Object waitSync = new Object();
        boolean stateTransitionOK = true;
         * Given a DataSource, create a player and use that player
         * as a player to playback the media.
        public boolean open(DataSource ds) {
         System.err.println("create player for: " + ds.getContentType());
         try {
             p = Manager.createPlayer(ds);
         } catch (Exception e) {
             System.err.println("Failed to create a player from the given DataSource: " + e);
             return false;
         p.addControllerListener(this);
         // Realize the player.
         p.prefetch();
         if (!waitForState(p.Prefetched)) {
             System.err.println("Failed to realize the player.");
             return false;
         // Display the visual & control component if there's one.
         setLayout(new BorderLayout());
    //     Component cc;
         Component vc;
         if ((vc = p.getVisualComponent()) != null) {
                vc.setSize(176, 144);
             add("Center", vc);
    //     if ((cc = p.getControlPanelComponent()) != null) {
    //         add("South", cc);
         // Start the player.
         p.start();
            this.setSize(176, 144);
         setVisible(true);
         return true;
        public void addNotify() {
         super.addNotify();
         pack();
         * Block until the player has transitioned to the given state.
         * Return false if the transition failed.
        boolean waitForState(int state) {
         synchronized (waitSync) {
             try {
              while (p.getState() < state && stateTransitionOK)
                  waitSync.wait();
             } catch (Exception e) {}
         return stateTransitionOK;
         * Controller Listener.
        public void controllerUpdate(ControllerEvent evt) {
         if (evt instanceof ConfigureCompleteEvent ||
             evt instanceof RealizeCompleteEvent ||
             evt instanceof PrefetchCompleteEvent) {
             synchronized (waitSync) {
              stateTransitionOK = true;
              waitSync.notifyAll();
         } else if (evt instanceof ResourceUnavailableEvent) {
             synchronized (waitSync) {
              stateTransitionOK = false;
              waitSync.notifyAll();
         } else if (evt instanceof EndOfMediaEvent) {
             p.close();
             //System.exit(0);
         } else if (evt instanceof SizeChangeEvent) {
    }Please can you tell me what is wrong?
    thank you in advance

    I post all the class I use in this project.
    Copy and create your own project (SERVER side)
    Then on other pc (CLIENT side) run JMStudio and open RTP transmission: you will receive data but on server you will have a black window.
    I've modified only AVtransmit3.java -> look at Main() and modify dest-ip and port.
    JFrameMain is a class with a button to close the application.
    * @(#)AVTransmit3.java     1.2 01/03/13
    * Copyright (c) 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
    * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
    * modify and redistribute this software in source and binary code form,
    * provided that i) this copyright notice and license appear on all copies of
    * the software; and ii) Licensee does not utilize the software in a manner
    * which is disparaging to Sun.
    * This software is provided "AS IS," without a warranty of any kind. ALL
    * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
    * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
    * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
    * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
    * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
    * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
    * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
    * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
    * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
    * POSSIBILITY OF SUCH DAMAGES.
    * This software is not designed or intended for use in on-line control of
    * aircraft, air traffic, aircraft navigation or aircraft communications; or in
    * the design, construction, operation or maintenance of any nuclear
    * facility. Licensee represents and warrants that it will not use or
    * redistribute the Software for such purposes.
    import java.awt.*;
    import java.io.*;
    import java.net.InetAddress;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.media.*;
    import javax.media.protocol.*;
    import javax.media.protocol.DataSource;
    import javax.media.format.*;
    import javax.media.control.TrackControl;
    import javax.media.control.QualityControl;
    import javax.media.rtp.*;
    import javax.media.rtp.rtcp.*;
    import com.sun.media.rtp.*;
    import java.util.Vector;
    public class AVTransmit3 {
        // Input MediaLocator
        // Can be a file or http or capture source
        private MediaLocator locator;
        private String ipAddress;
        private int portBase;
        private Processor processor = null;
        private RTPManager rtpMgrs[];
        private DataSource dataOutput = null;
        private static boolean v = false;  
         private static DataSource ds = null;
            private static DataSource clone;
         private static DataSource cloned;       
        private String VFORMAT = "h263/rtp";   
        private String AFORMAT = "mpegaudio/rtp";   
        public AVTransmit3(MediaLocator locator,
                    String ipAddress,
                    String pb,
                    Format format) {
         this.locator = locator;
         this.ipAddress = ipAddress;
         Integer integer = Integer.valueOf(pb);
         if (integer != null)
             this.portBase = integer.intValue();
         * Starts the transmission. Returns null if transmission started ok.
         * Otherwise it returns a string with the reason why the setup failed.
        public synchronized String start() {
         String result;
         // Create a processor for the specified media locator
         // and program it to output JPEG/RTP
         result = createProcessor();
         if (result != null)
             return result;
         // Create an RTP session to transmit the output of the
         // processor to the specified IP address and port no.
         result = createTransmitter();
         if (result != null) {
             processor.close();
             processor = null;
             return result;
         // Start the transmission
         processor.start();
         return null;
         * Stops the transmission if already started
        public void stop() {
         synchronized (this) {
             if (processor != null) {
              processor.stop();
              processor.close();
              processor = null;
              for (int i = 0; i < rtpMgrs.length; i++) {
                  rtpMgrs.removeTargets( "Session ended.");
              rtpMgrs[i].dispose();
    private String createProcessor() {
         if (locator == null)
         return "Locator is null";
         try {
         ds = javax.media.Manager.createDataSource(locator);
         } catch (Exception e) {
         return "Couldn't create DataSource";
         // Try to create a processor to handle the input media locator
         try {
         processor = javax.media.Manager.createProcessor(ds);
         } catch (NoProcessorException npe) {
         return "Couldn't create processor";
         } catch (IOException ioe) {
         return "IOException creating processor";
         // Wait for it to configure
         boolean result = waitForState(processor, Processor.Configured);
         if (result == false)
         return "Couldn't configure processor";
         // Get the tracks from the processor
         TrackControl [] tracks = processor.getTrackControls();
         // Do we have atleast one track?
         if (tracks == null || tracks.length < 1)
         return "Couldn't find tracks in processor";
         // Set the output content descriptor to RAW_RTP
         // This will limit the supported formats reported from
         // Track.getSupportedFormats to only valid RTP formats.
         ContentDescriptor cd = new ContentDescriptor(ContentDescriptor.RAW_RTP);
         processor.setContentDescriptor(cd);
         Format supported[];
         Format chosen = null;
         boolean atLeastOneTrack = false;
         // Program the tracks.
         for (int i = 0; i < tracks.length; i++)
    AudioFormat aFormat = new AudioFormat(AFORMAT, 22050.00, 16, 1);
         Format format = tracks[i].getFormat();
         if (tracks[i].isEnabled())
              supported = tracks[i].getSupportedFormats();
              // We've set the output content to the RAW_RTP.
              // So all the supported formats should work with RTP.
              // We'll just pick the first one.
              if (supported.length > 0)
    for(int k = 0; k < supported.length; k++)
    if ((supported[k] instanceof VideoFormat) &&
    (supported[k].getEncoding().equalsIgnoreCase(VFORMAT)))
    // For video formats, we should double check the
    // sizes since not all formats work in all sizes.
    // Choose the H263rtp
    chosen = checkForVideoSizes(tracks[i].getFormat(), supported[k]);
    v = true;
    break;
    else if ((supported[k] instanceof AudioFormat) &&
    (supported[k].matches(aFormat)))
    // For audio formats
    // Choose the H263rtp
    // chosen = supported[3];
    chosen = supported[k];
    v = false;
    break;
              tracks[i].setFormat(chosen);
              System.err.println("Track " + i + " is set to transmit as:");
              System.err.println(" " + chosen);
              atLeastOneTrack = true;
              } else
              tracks[i].setEnabled(false);
         } else
              tracks[i].setEnabled(false);
         if (!atLeastOneTrack)
         return "Couldn't set any of the tracks to a valid RTP format";
         // Realize the processor. This will internally create a flow
         // graph and attempt to create an output datasource for JPEG/RTP
         // audio frames.
         result = waitForState(processor, Controller.Realized);
         if (result == false)
         return "Couldn't realize processor";
         // Set the JPEG quality to .5.
         setJPEGQuality(processor, 0.5f);
         // Get the output data source of the processor
         dataOutput = processor.getDataOutput();
         return null;
    * Use the RTPManager API to create sessions for each media
    * track of the processor.
    private String createTransmitter() {
         // Cheated. Should have checked the type.
         PushBufferDataSource pbds = (PushBufferDataSource)dataOutput;
         PushBufferStream pbss[] = pbds.getStreams();
         rtpMgrs = new RTPManager[pbss.length];
         SendStream sendStream;
         int port;
         SourceDescription srcDesList[];
         for (int i = 0; i < pbss.length; i++) {
         try {
              rtpMgrs[i] = RTPManager.newInstance();     
              port = portBase + 2*i;
              // Initialize the RTPManager with the RTPSocketAdapter
              rtpMgrs[i].initialize(new RTPSocketAdapter(
                             InetAddress.getByName(ipAddress),
                             port));
              System.err.println( "Created RTP session: " + ipAddress + " " + port);
              sendStream = rtpMgrs[i].createSendStream(dataOutput, i);          
              sendStream.start();
         } catch (Exception e) {
              return e.getMessage();
         return null;
    * For JPEG and H263, we know that they only work for particular
    * sizes. So we'll perform extra checking here to make sure they
    * are of the right sizes.
    Format checkForVideoSizes(Format original, Format supported) {
         int width, height;
         Dimension size = ((VideoFormat)original).getSize();
         Format jpegFmt = new Format(VideoFormat.JPEG_RTP);
         Format h263Fmt = new Format(VideoFormat.H263_RTP);
         if (supported.matches(jpegFmt)) {
         // For JPEG, make sure width and height are divisible by 8.
         width = (size.width % 8 == 0 ? size.width :
                        (int)(size.width / 8) * 8);
         height = (size.height % 8 == 0 ? size.height :
                        (int)(size.height / 8) * 8);
         } else if (supported.matches(h263Fmt)) {
         // For H.263, we only support some specific sizes.
         if (size.width < 128) {
              width = 128;
              height = 96;
         } else if (size.width < 176) {
              width = 176;
              height = 144;
         } else {
    ///mod          width = 352;
    width = 176;
    ///mod          height = 288;
    height = 144;
         } else {
         // We don't know this particular format. We'll just
         // leave it alone then.
         return supported;
         return (new VideoFormat(null,
                        new Dimension(width, height),
                        Format.NOT_SPECIFIED,
                        null,
                        Format.NOT_SPECIFIED)).intersects(supported);
    * Setting the encoding quality to the specified value on the JPEG encoder.
    * 0.5 is a good default.
    void setJPEGQuality(Player p, float val) {
         Control cs[] = p.getControls();
         QualityControl qc = null;
         VideoFormat jpegFmt = new VideoFormat(VideoFormat.JPEG);
         // Loop through the controls to find the Quality control for
         // the JPEG encoder.
         for (int i = 0; i < cs.length; i++) {
         if (cs[i] instanceof QualityControl &&
              cs[i] instanceof Owned) {
              Object owner = ((Owned)cs[i]).getOwner();
              // Check to see if the owner is a Codec.
              // Then check for the output format.
              if (owner instanceof Codec) {
              Format fmts[] = ((Codec)owner).getSupportedOutputFormats(null);
              for (int j = 0; j < fmts.length; j++) {
                   if (fmts[j].matches(jpegFmt)) {
                   qc = (QualityControl)cs[i];
                   qc.setQuality(val);
                   System.err.println("- Setting quality to " +
                             val + " on " + qc);
                   break;
              if (qc != null)
              break;
    * Convenience methods to handle processor's state changes.
    private Integer stateLock = new Integer(0);
    private boolean failed = false;
    Integer getStateLock() {
         return stateLock;
    void setFailed() {
         failed = true;
    private synchronized boolean waitForState(Processor p, int state) {
         p.addControllerListener(new StateListener());
         failed = false;
         // Call the required method on the processor
         if (state == Processor.Configured) {
         p.configure();
         } else if (state == Processor.Realized) {
         p.realize();
         // Wait until we get an event that confirms the
         // success of the method, or a failure event.
         // See StateListener inner class
         while (p.getState() < state && !failed) {
         synchronized (getStateLock()) {
              try {
              getStateLock().wait();
              } catch (InterruptedException ie) {
              return false;
         if (failed)
         return false;
         else
         return true;
    * Inner Classes
    class StateListener implements ControllerListener {
         public void controllerUpdate(ControllerEvent ce) {
         // If there was an error during configure or
         // realize, the processor will be closed
         if (ce instanceof ControllerClosedEvent)
              setFailed();
         // All controller events, send a notification
         // to the waiting thread in waitForState method.
         if (ce instanceof ControllerEvent) {
              synchronized (getStateLock()) {
              getStateLock().notifyAll();
    * Sample Usage for AVTransmit3 class
    public static void main(String [] args) {
         Format fmt = null;
         int i = 0;
    String title = "Video";
    AVTransmit3 at = new AVTransmit3(new MediaLocator("vfw://0"),
                             "192.168.0.5", "44350", fmt);
    //View GUI
    JFrameMain jfm = new JFrameMain(at);
    jfm.setVisible(true);
    jfm.setTitle(title);
    if(title.equals("Video"))
    jfm.setLocation(jfm.getX()+180, jfm.getY());
         // Start the transmission
         String result = at.start();
         // result will be non-null if there was an error. The return
         // value is a String describing the possible error. Print it.
         if (result != null) {
         System.err.println("Error : " + result);
         System.exit(0);
         System.err.println("Start transmission...");
    try {
    Thread.sleep(2000);
    } catch (InterruptedException ex) {
    Logger.getLogger(AVTransmit3.class.getName()).log(Level.SEVERE, null, ex);
    if(v)
    //----------------------------------------------------Start
    /* Get a clonable version of our datasource */
    clone = Manager.createCloneableDataSource(ds);
    /* Make sure we got a clonable version before we try to clone it */
    if (clone == null) {
    System.err.println("Cannot get a clonable version of the datasource");
    System.exit(0);
    /* Create the clone of our original datasource */
    DataSource dsClone = ((SourceCloneable)clone).createClone();
    /* Make our DS variable a clone too */
    ds = ((SourceCloneable)clone).createClone();
    /* Make sure the clone happened successfully */
    if (dsClone == null) {
    System.err.println("Could not clone our datasource");
    System.exit(0);
    /* Make sure the clone happened successfully */
    if (ds == null) {
    System.err.println("Could not clone our datasource");
    System.exit(0);
    /* Create a new Clone class */
    Clone cloneV = new Clone();
    /* Open our clone class with our datasource clone */
    if (! cloneV.open(dsClone))
    System.exit(0);
    //----------------------------------------------------End
    /* Clone.java
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    import java.awt.*;
    import javax.media.*;
    import javax.media.protocol.DataSource;
    public class Clone extends Frame implements ControllerListener {
    Player p;
    Object waitSync = new Object();
    boolean stateTransitionOK = true;
    * Given a DataSource, create a player and use that player
    * as a player to playback the media.
    public boolean open(DataSource ds) {
         System.err.println("create player for: " + ds.getContentType());
         try {
         p = Manager.createPlayer(ds);
         } catch (Exception e) {
         System.err.println("Failed to create a player from the given DataSource: " + e);
         return false;
         p.addControllerListener(this);
         // Realize the player.
         p.prefetch();
         if (!waitForState(p.Prefetched)) {
         System.err.println("Failed to realize the player.");
         return false;
         // Display the visual & control component if there's one.
         setLayout(new BorderLayout());
    //     Component cc;
         Component vc;
         if ((vc = p.getVisualComponent()) != null) {
    vc.setSize(176, 144);
         add("Center", vc);
    //     if ((cc = p.getControlPanelComponent()) != null) {
    //     add("South", cc);
         // Start the player.
         p.start();
    this.setSize(176, 144);
         setVisible(true);
         return true;
    public void addNotify() {
         super.addNotify();
         pack();
    * Block until the player has transitioned to the given state.
    * Return false if the transition failed.
    boolean waitForState(int state) {
         synchronized (waitSync) {
         try {
              while (p.getState() < state && stateTransitionOK)
              waitSync.wait();
         } catch (Exception e) {}
         return stateTransitionOK;
    * Controller Listener.
    public void controllerUpdate(ControllerEvent evt) {
         if (evt instanceof ConfigureCompleteEvent ||
         evt instanceof RealizeCompleteEvent ||
         evt instanceof PrefetchCompleteEvent) {
         synchronized (waitSync) {
              stateTransitionOK = true;
              waitSync.notifyAll();
         } else if (evt instanceof ResourceUnavailableEvent) {
         synchronized (waitSync) {
              stateTransitionOK = false;
              waitSync.notifyAll();
         } else if (evt instanceof EndOfMediaEvent) {
         p.close();
         //System.exit(0);
         } else if (evt instanceof SizeChangeEvent) {
    * JFrameMain.java
    * Created on 23 maggio 2008, 17.28
    * @author Giovanni
    public class JFrameMain extends javax.swing.JFrame {
    /** Creates new form JFrameMain */
    public JFrameMain(AVTransmit3 avt) {
    avTransmit = avt;
    initComponents();
    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
    jButtonFine = new javax.swing.JButton();
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setResizable(false);
    jButtonFine.setText("Fine Trasmissione");
    jButtonFine.addMouseListener(new java.awt.event.MouseAdapter() {
    public void mousePressed(java.awt.event.MouseEvent evt) {
    jButtonFineMousePressed(evt);
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addContainerGap()
    .addComponent(jButtonFine, javax.swing.GroupLayout.DEFAULT_SIZE, 124, Short.MAX_VALUE)
    .addContainerGap())
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addContainerGap()
    .addComponent(jButtonFine, javax.swing.GroupLayout.DEFAULT_SIZE, 32, Short.MAX_VALUE)
    .addContainerGap())
    setBounds(600, 110, 160, 90);
    }// </editor-fold>
    private void jButtonFineMousePressed(java.awt.event.MouseEvent evt) {                                        
    avTransmit.stop();
    System.exit(0);
    * @param args the command line arguments
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    // new JFrameMain().setVisible(true);
    // Variables declaration - do not modify
    private javax.swing.JButton jButtonFine;
    // End of variables declaration
    private AVTransmit3 avTransmit = null;
    * @(#)RTPSocketAdapter.java     1.2 01/03/13
    * Copyright (c) 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
    * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
    * modify and redistribute this software in source and binary code form,
    * provided that i) this copyright notice and license appear on all copies of
    * the software; and ii) Licensee does not utilize the software in a manner
    * which is disparaging to Sun.
    * This software is provided "AS IS," without a warranty of any kind. ALL
    * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
    * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
    * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
    * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
    * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
    * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
    * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
    * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
    * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
    * POSSIBILITY OF SUCH DAMAGES.
    * This software is not designed or intended for use in on-line control of
    * aircraft, air traffic, aircraft navigation or aircraft communications; or in
    * the design, construction, operation or maintenance of any nuclear
    * facility. Licensee represents and warrants that it will not use or
    * redistribute the Software for such purposes.
    import java.io.IOException;
    import java.net.InetAddress;
    import java.net.DatagramSocket;
    import java.net.MulticastSocket;
    import java.net.DatagramPacket;
    import java.net.SocketException;
    import javax.media.protocol.DataSource;
    import javax.media.protocol.PushSourceStream;
    import javax.media.protocol.ContentDescriptor;
    import javax.media.protocol.SourceTransferHandler;
    import javax.media.rtp.RTPConnector;
    import javax.media.rtp.OutputDataStream;
    * An implementation of RTPConnector based on UDP sockets.
    public class RTPSocketAdapter implements RTPConnector {
    DatagramSocket dataSock;
    DatagramSocket ctrlSock;
    InetAddress addr;
    int port;
    SockInputStream dataInStrm = null, ctrlInStrm = null;
    SockOutputStream dataOutStrm = null, ctrlOutStrm = null;
    public RTPSocketAdapter(InetAddress addr, int port) throws IOException {
         this(addr, port, 1);
    public RTPSocketAdapter(InetAddress addr, int port, int ttl) throws IOException {
         try {
         if (addr.isMulticastAddress()) {
              dataSock = new MulticastSocket(port);
              ctrlSock = new MulticastSocket(port+1);
              ((MulticastSocket)dataSock).joinGroup(addr);
              ((MulticastSocket)dataSock).setTimeToLive(ttl);
              ((MulticastSocket)ctrlSock).joinGroup(addr);
              ((MulticastSocket)ctrlSock).setTimeToLive(ttl);
         } else {
              dataSock = new DatagramSocket(port, InetAddress.getLocalHost());
              ctrlSock = new DatagramSocket(port+1, InetAddress.getLocalHost());
         } catch (SocketException e) {
         throw new IOException(e.getMessage());
         this.addr = addr;
         this.port = port;
    * Returns an input stream to receive the RTP data.
    public PushSourceStream getDataInputStream() throws IOException {
         if (dataInStrm == null) {
         dataInStrm = new SockInputStream(dataSock, addr, port);
         dataInStrm.start();
         return dataInStrm;
    * Returns an output stream to send the RTP data.
    public OutputDataStream getDataOutputStream() throws IOException {
         if (dataOutStrm == null)
         dataOutStrm = new SockOutputStream(dataSock, addr, port);
         return dataOutStrm;
    * Returns an input stream to receive the RTCP data.
    public PushSourceStream getControlInputStream() throws IOException {
         if (ctrlInStrm == null) {
         ctrlInStrm = new SockInputStream(ctrlSock, addr, port+1);
         ctrlInStrm.start();
         return ctrlInStrm;
    * Returns an output stream to send the RTCP data.
    public OutputDataStream getControlOutputStream() throws IOException {
         if (ctrlOutStrm == null)
         ctrlOutStrm = new SockOutputStream(ctrlSock, addr, port+1);
         return ctrlOutStrm;
    * Close all the RTP, RTCP streams.
    public void close() {
         if (dataInStrm != null)
         dataInStrm.kill();
         if (ctrlInStrm != null)
         ctrlInStrm.kill();
         dataSock.close();
         ctrlSock.close();
    * Set the receive buffer size of the RTP data channel.
    * This is only a hint to the implementation. The actual implementation
    * may not be able to do anything to this.
    public void setReceiveBufferSize( int size) throws IOException {
         dataSock.setReceiveBufferSize(size);
    * Get the receive buffer size set on the RTP data channel.
    * Return -1 if the receive buffer size is not applicable for
    * the implementation.
    public int getReceiveBufferSize() {
         try {
         return dataSock.getReceiveBufferSize();
         } catch (Exception e) {
         return -1;
    * Set the send buffer size of the RTP data channel.
    * This is only a hint to the implementation. The actual implementation
    * may not be able to do anything to this.
    public void setSendBufferSize( int size) throws IOException {
         dataSock.setSendBufferSize(size);
    * Get the send buffer size set on the RTP data channel.
    * Return -1 if the send buffer size is not applicable for
    * the implementation.
    public int getSendBufferSize() {
         try {
         return dataSock.getSendBufferSize();
         } catch (Exception e) {
         return -1;
    * Return the RTCP bandwidth fraction. This value is used to
    * initialize the RTPManager. Check RTPManager for more detauls.
    * Return -1 to use the default values.
    public double getRTCPBandwidthFraction() {
         return -1;
    * Return the RTCP sender bandwidth fraction. This value is used to
    * initialize the RTPManager. Check RTPManager for more detauls.
    * Return -1 to use the default values.
    public double getRTCPSenderBandwidthFraction() {
         return -1;
    * An inner class to implement an OutputDataStream based on UDP sockets.
    class SockOutputStream implements OutputDataStream {
         DatagramSocket sock;
         InetAddress addr;
         int port;
         public SockOutputStream(DatagramSocket sock, InetAddress addr, int port) {
         this.sock = sock;
         this.addr = addr;
         this.port = port;
         public int write(byte data[], int offset, int len) {
         try {
              sock.send(new DatagramPacket(data, offset, len, addr, port));
         } catch (Exception e) {
              return -1;
         return len;
    * An inner class to implement an PushSourceStream based on UDP sockets.
    class SockInputStream extends Thread implements PushSourceStream {
         DatagramSocket sock;
         InetAddress addr;
         int port;
         boolean done = false;
         boolean dataRead = false;
         SourceTransferHandler sth = null;
         public SockInputStream(DatagramSocket sock, InetAddress addr, int port) {
         this.sock = sock;
         this.addr = addr;
         this.port = port;
         public int read(byte buffer[], int offset, int length) {
         DatagramPacket p = new DatagramPacket(buffer, offset, length, addr, port);
         try {
              sock.receive(p);
         } catch (IOException e) {
              return -1;
         synchronized (this) {
              dataRead = true;
              notify();
         return p.getLength();
         public synchronized void start() {
         super.start();
         if (sth != null) {
              dataRead = true;
              notify();
         public synchronized void kill() {
         done = true;
         notify();
         public int getMinimumTransferSize() {
         return 2 * 1024;     // twice the MTU size, just to be safe.
         public synchronized void setTransferHandler(SourceTransferHandler sth) {
         this.sth = sth;
         dataRead = true;
         notify();
         // Not applicable.
         public ContentDescriptor getContentDescriptor() {
         return null;
         // Not applicable.
         public long getContentLength() {
         return LENGTH_UNKNOWN;
         // Not applicable.
         public boolean endOfStream() {
         return false;
         // Not applicable.
         public Object[] getControls() {
         return new Object[0];
         // Not applicable.
         public Object getControl(String type) {
         return null;
         * Loop and notify the transfer handler of new data.
         public void run() {
         while (!done) {
              synchronized (this) {
              while (!dataRead && !done) {
                   try {
                   wait();
                   } catch (InterruptedException e) { }
              dataRead = false;
              if (sth != null && !done) {
              sth.transferData(this);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          

  • HT202157 New apple is not asking for the WIFI password.Home sharing is not working,i am getting Error while streaming videos from Youtube.

    I got new Apple TV 10 days back,its not asking for the WIFI password.Home sharing is not working,i am getting Error while streaming videos from Youtube.
    I can only see pics and video saved in my iphone. No other options are working.The worst part is that its not asking wifi passoword.
    Not able to connect istores and itunes.
    I cannot do software update. Can anyone help in this content?

    Thanks Brian- I am not connecting it with iphone teethering. I am using it with my DSL wifi.
    I am using it with ethernet cable then its working fine.If i am trying to use it with WIFI then its giving error.
    I tried using Netwrok testing but its giving same error.

  • Having trouble with sound while watching video clips using Internet Explorer?

    sound & video pausing
    while watching video clips using Internet Explorer

    I answered your other thread.  Locking this duplicate one.

  • Can anyone please help me, I'm having problems with sound while watching video clips using flash player using Internet Explorer\

    Can anyone please help me, I'm having problems with sound while watching video clips using flash player & Internet Explorer

    There's a good chance that this is a known issue.  We'll have a Flash Player 18 beta later this week that should resolve this at http://www.adobe.com/go/flashplayerbeta/

  • I am transmitting data over internet and WiFi ,it's working fine with internet but when I choose WiFi for data transmission data is not being transmitted. What may be the possible issues of data transmission failure over WiFi?  Please help me.

    I am transmitting data over internet and WiFi ,it's working fine with Internet but when I choose WiFi for data transmission data is not being transmitted. What may be the possible issues of data transmission failure over WiFi?     Please help me....
    Thanks in Advance.
    Neeraj@iDev

    After a week's worth of debugging, I found the issue.
    The Java type returned from the call was defined as ArrayList.  Changing it to List resolved the problem.
    I'm not sure why ArrayList isn't a valid return type, I've been looking at the Adobe docs, and still can't see why this isn't valid.  And, why it works in Debug mode and not in Release build is even stranger.  Maybe someone can shed some light on the logic here to me.

  • Minimal internet speed for video chat?

    Hi!
    What is the minimal internet speed for using Video Chat?
    Regards, Soaman
    Leader of Ljubljana BlackBerry Developer Group
    BlackBerry Certified Builder for Native Application Development

    Hey soaman,
    The only information I can find regarding this is that you need to be connected to WiFi in order to use the video chat.  
    Here are a few notes from the user guide:
    I want to improve the chat quality:  You or the person you are having the Video Chat with may not have a sufficiently strong Wi-Fi signal. Try a different Wi-Fi network with a stronger connection, or move closer to the wireless access point.
    My chat was dropped: Try connecting to a different Wi-Fi network. You cannot switch Wi-Fi networks during a call.
    Hope this helps.
    -SR
    Come follow your BlackBerry Technical Team on twitter! @BlackBerryHelp
    Be sure to click Kudos! for those who have helped you.Click Solution? for posts that have solved your issue(s)!

  • Export settings in QT Pro for putting video onto Internet

    Hi,
    I'm new to Quicktime and the video arena so could use some advice. I have a couple of questions.
    1) What is the ideal codec setting for exporting AVI video when you want to put short clips on the WEB? I had thought it was H264 but I was experimenting with a 10 sec AVI clip (shot with a WEBCam in 320x240, 25fps, 49M) and found exporting to QT Movie using H264 (keeping size same etc) gave a 2.5M file and when hinted for streaming gave a 5M movie. When I exported to movie and streaming using MPEG4 codec both files were about 900K. My IE browser plays both the streamed and movie files as well; not very sure the difference between streaming and movie in this context??
    2) I've just purchased a 30G (5G) iPod with FW 2.1. Ideally I wanted it to show video on TV, and was interested in the 640x480 support thinking this would scale better to TV screen. Haven't used the iPod yet but was checking other discussions on this forum and it seems its not that easy in QT to export video in H264 @ 640x480 for playback on iPod. People tend to advise the export for iPod option which is 320x240 instead. iPod states support for 640x480 in H264 @1.5Mbs and MP4 @ 2.5M so what is the problem?
    QT 7.1.3 and iPod 30G (5G)   Windows XP Pro  

    Hi JonnyB132,
    Which formats have you tried? I would try H.264 first.
    Thanks,
    Kevin

  • Electrical power for iPod while watching videos...

    I was wondering if there was a way to leave my iPod connected to my MacBook while watching videos on my TV so that the iPod draws power from my MacBook and not the iPod battery. I don't have a universal dock, so I don't want to completely drain my battery while watching the videos on my TV.
    Windows XP

    pagalrobindra
    If you use an A/V cable from Apple or third party ( some thrird party cables require you to swich the yellow and red at TV) from iPod mini plug and get an Apple or third party power adaptor (which will work with your USB cable that came with the iPod) it should work fine.
    As to playing Video and Music from iPod and using the your MacBook as the power source I think that would also work, it may be better to frist eject the iPod but leave it attached.
    Why would you not just play stuff directly to TV from the MacBook and only use iPod when the laptop is not available?
    The best way to do what you want is to get thhe A/V kit from Apple or a third party A/V dock and cable. There are several listed on the Apple store on this site or at iLounge (http://forums.ipodlounge.com/).
    Rick
    iMac (15'' Flat Panel)   Mac OS X (10.4.7)   Blueberry iBook OS X (10.2.8), 5th Gen. iPod 30gig

  • FCE Freezes while importing video

    While importing video, FCE freezes, usually within 3-4 minutes of capture. I have to force quit. I am using Capture Now. I have no problem importing with iMovie. In fact I've been importing in to iMovie and then copying the clips into FCE to get around the freeze. I have my clips saved to a 500GB external drive and my camcorder is a Panasonic PVGS-300. I have imported into FCE many times before. This is the first time this has occurred and I haven't changed anything in my setup or added anything to the system. Any help would be greatly appreciated.
    Thank you.

    I'm having the same problem.
    Yesterday, I captured 45 minutes in 4 minute sections, and spent the morning editing.
    It got slower & slower & slower.
    I saved all, quit & browsed the internet for a while.
    The computer continued to whir for some time.
    I went back into FCE & it was back up to speed.
    I suspect imminent hard drive failure.
    Does anyone have an opinion on my diagnosis?

  • Premiere EL 11 importing video from Internet

    Hi,
    I have been struggling undestanding how to properly manage video I download from the Internet and use in Premiere Elements 11.
    Most of the time I download from youtube with "Youtube Downloader HD" hoping that this is a valid tool to use and a lot of times I end up with a ".flv" file. If you know of any better software please suggest. Unfortunately, Premiere El. does not import flv file (I hope very soon development team can add this file format too, if possible). So, I have to use another software I purchased called "WinX HD Video Converter Deluxe" to convert the file into avi. (I know that the first software already converts it into avi but wish to retain the original file format.)
    I have PAL as live in Europe and would prefer 16:9 over 4.3 if possible, considering that most of the modern TV display are wide screen
    1.This is the specs of the movie I downloaded from Youtube at 480p
    First thing I notice is that I should have 25fps for PAL rather than 29.970029.
    Question n. 01: when converting it into avi can I change frame per second into 25 or should I keep it as it is and in this case select 30fps?
    (I ask this question for when I will import it into Premiere EL.)
    Question n. 02: when I start a new project what do I select among the many selections (for PAL)? Can someone please provide me the full path from beginning "File/New/Project/Project Settings"?
    Question n. 03: as previously stated I selected in Youtube 480p (which should correspond to Progressive Scan 480P 640x480). Howcome in the property of the movie (I obtained it from the VLC Player while playing the movie) reports being 854x470? What should I do?
    Question n. 04: is AVI the best video format to convert for later on import into Premiere EL or not? If not, what do you advise me to select?
    Last Question: Please it is so important: can someone list me some valid links where to learn about all video format commonly used and how to master this initial portion of the Premiere EL project?
    This so that I will be able to manage and properly set correct project settings in future.
    Thank you,
    Spiro

    Adobe maintains that the formats that go into Premiere Elements are those which come out of a camera. FLV does not and so it is not supported. I remember seeing this as an official response to a similar question (Can't find that thread)
    To answer your questions to the best of my knowledge:
    1. Do not change the output frame rate to 25 from an external software. I say this because there are many algorithms that convert a 30 fps to 25 (Which frames are dropped, what happens to P-frames, bidirectional frames etc.). And Adobe will best understand an algorithm that is theirs. So keep the frame rate to 29.97 when converting to DV-AVI
    2. Convert the video to a project setting that Premiere Elements has. You want a Widescreen, so do a 16:9, 720x480, DV-AVI. This video when brought into Premiere Elements will switch the project automatically to the NTSC DV Widescreen
    3. I don't know this. There are too many things that could have gone wrong. The downloader could have encoded differently, the original file would have been this resolution but youtube chose to "categorize" this as 480P since it is the closest preset for them. VLC could be showing it wrong. Cconvert it to DV-AVI and you will surely see some borders but should not really be an issue once viewed in Full screen. I personally stop noticing them after a while and it is not a pain, for me.
    4. Use DV-AVI. Premiere Elements simply likes it

  • Sporadic Rotating Loss of Internet Connection for Just Some Devices

    Hi,
    We've been having a problem where one or two of our devices (phones, laptops, iPads, Apple TV) lose internet connection for 10-30 sec at a time, while the others are fine.
    As best as I can tell it's a full loss of connection, not just something running very slowly due to us pushing the bandwidth limits. I've experienced the latter elsewhere and this manifests very differently. It will instantly and fully disconnect a person from an online game or drop a skype call without the accompanying prolonged lag or distortion of bottlenecked bandwidth.
    It happens at all times of day, and does not seem related to our peak times of bandwidth usage, nor the general public's peak times of usage.
    We should have enough bandwidh for our usage, and usually we do. Our system is 25/25 Mbps and during our peak use at most we would probably have 1 laptop gaming, 1 HD video stream, and 2 non-HD streams. However, like I said before, the problem seems unrelated to overall bandwidth usage. The same problem occurs even at midnight when our local usage is minimal.
    Overall we have 6 laptops, 5 phones, an iPad, 2 microcell signal boosters, and Apple TV, in total connected to the FiOS. We have a property with tenants where the signal is distributed via 3 WiFi routers and one direct ethernet cable to my laptop, and one to the Apple TV.
    It happens on devices that are both connected through the WiFi (wife's laptop, phones, iPad) and ethernet (my laptop, Apple TV). It can happen with devices that are a few unobstructed feet from the WiFi router. However, it anecdotely seems to happen more on our phones than laptops. 
    My hunch is it is something outside our local network. This is because our equipment  and usage has basically remained unchanged over the last couple months. (We got one new microcell tower for a different carrier, one new wifi router, but overall same # of people and patterns of usage.) And yet the problem seems to be getting worse. Back in probably early November I don't remember this problem occuring at all. 
    My second best guess is there are more devices connected to the network than it can handle simultaneously, and it rotates which gets kicked off. Maybe this was occuring before but we didnt realize it.
    My third guess is it has to due with signal interference with the various WiFi routers and microcell boosters. However, this seems less likely since it also affects devices connected via ethernet cables. 
    Any thoughts or advice is much appreciated! Thanks!
    -Ned

    Ok, so in the mean time we decided to upgrade our service so I've only tried this solution now. 
    My problem though now is I can log into 192.168.1.1, then give my verizon admin password, and then set my channel preference. That seems fine for changing the main network input and wifi router (call it A). 
    However, we have another wifi router (call it B) which is fed from A via a cable. I cannot figure out how to change B's wifi channel. Therefore I worry if we have only switched A, since A feeds B (as well as the 2 microcells) they will all still be on the same channel and therefore still interfering with each other. 
    I have tried www.routerlogin.net (and .com) as written on my netgear router and I get "http://searchassist.verizon.com/" telling me "Sorry, We could not find www.routerlogin.net". I have also tried logging into wifi router B via all the 192.168.1.X addresses I see listed on the Verzion account when I log in via 192.168.1.1 (in total I tried all the 192.168.1.[1-24] options).
    Thanks for the help!

  • Do I need an internet connection for Apple TV?

    Hey I want to buy an Apple TV but before I do, I need to know does it require an internet connection to work? Or can it work without one?
    The advertisement or information Apple gives me seems like it doesn't need an internet connection, I'm under the impression that if I buy one all I need is to connect it to my television then connect wirelessly from my iPad to the Apple TV device. Then I can begin streaming content to my TV via the Apple TV product.
    However I came across a thing telling me I needed an internet connection in order for it to work, but where our televisions are, either the wireless internet is weak to nothing, and is unreliable from that distance, I want to be able to simply connect and play but now it seems Apple is misleading me on the capability of Apple TV.
    I want to stream YouTube from my iPad to Apple TV, putting my iPad in a stronger range area and connected to Apple TV stream it... Or more importantly play content I have already on my device i.e. Video podcasts like IGN's Daily Fix, and stream it directly through the Apple TV onto my TV.
    Please list all relevant information and requirements and capability I would have with Apple TV? I'm no where near an Apple store so I'll have to buy online so I want to make sure the product will work like they say it's suppose to.

    I have the same issue and couldn't find an answer either. The problem is that the Apple TV requires an internet connection if you want to AirPlay internet content from your iPhone to the Apple TV, e.g. if the Apple TV isn't connected to the internet somehow, then Netflix or Youtube won't AirPlay from the iPhone to the Apple TV. I don't have a "house" internet connection currently, and when I bought my iPhone I was assuming I just can use my unlimited data plan to watch Netflix movies on the iPhone and AirPlay it to the big screen. No luck here, yet!!!
    You can use the iPhone Hotspot and connect the AppleTV to that Hotspot, but I have a 5GB limit and that will be depleted with 2 movies or so, so that doesn't work either. I also can use the Hotspot to connect to my MacAir, which works great and 5GB limit is not the issue if you don't use it for movies, online gaming etc. But you could run into issues if you have to download big files, like updating the OS etc. That is something you have to consider when you are cutting the home internet.
    I tried to somehow have the Apple TV use the Hotspot internet connection to just have access to the internet but use the iPhone unlimited data plan to stream movies, but the problem is that Apple TV can only connect to 1 WiFi network at a time and while it is connected to the hotspot, you can't connect to another network for AirPlay your content. Also, the ethernet port on the Apple TV (if used) will be prioritized and then WiFi would be turned off, ruling out the possibility to use ethernet and WiFi simultaneously to have one connected to the network using AirPlay and one using the Hotspot internet access. I believe the real problem is that the Apple TV needs internet access (for verification purposes???) while using AirPlay, and if there is no internet access through the network you are using for AirPlay, it might not work, at least I couldn't find a solution for it yet.
    I was reading that with iOS 8 there might be a new feature that uses Peer-to-Peer technology between iOS devices and Apple TV, that might enable that you can connect to Apple TV with Peer-to-Peer and also connect it with the iPhone Hotspot for internet access (I would assume that the data amount from just being connected to the internet would be minor if the streaming data comes from the data plan itself from the iPhone).
    That said, I can still stream content from my iTunes library to Apple TV, which is stored on my computer and doesn't need to be downloaded or streamed (Not the content I have purchased. Some folks mentioned bought content still needs internet access). So you can use your content you already have on the computer by using your local network. I hope somebody can give a solution to that problem! I was hoping to never have to deal with cable or telephone companies ever again, just using my mobile carrier, but I might be out of luck!
    P.S: I also tried to connect my MacAir with the iPhone hotspot and then share this internet connection from the MacAir with my Apple TV. Didn't work either :-(

Maybe you are looking for

  • How to specify the vendor for supply plant in stock transfer oder process

    Hi experts, In the sceniro of intercompany STO, I want to know how to set up the link between supply plant and the vendor ? Thank you.

  • USB data link to Belkin USB Printer Adapter

    I am using a T6295ZM/A DLINK BLUETOOTH MODULE DB connecting to a Epson R200 prinmter through a Belkin USB Printer Adapter. Printer error messge Paraphrased "can't communicate with printer." Using Bluetooth pane in preferences I can see the adapter an

  • Iphoto shows loading photos for a book, but loading does not complete

    Hi all, I'm hoping someone can help me. I have put together 5 books in Iphoto, and today selected about 60 photos to create a new book. I selected the photos and clicked on "add to" at the bottom of the screen. I then selected "book" and from there "

  • Where can I get QT 6??

    I need QT 6 for my version of Pro apps. However I don't seem to have access to it. My OS install disk (Tiger) already has 7.0.4 on it. Can someone point me in the right direction to get QT 6 installed on my computer? Thanks, Nate

  • What do the symbols mean

    on the top bar where it shows you what you are connected to it shows 3 icons a • A "E" and a "3G" What does each one mean