<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 12/19/2016 07:39 PM, Jerry Geis
      wrote:<br>
    </div>
    <blockquote
cite="mid:CABr8-B4QSXrC5zq5w40hn=FzRiKtaXTbTOhFF-Or-tP445KeQw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">I can create an audio call file and specify Application: Playback and Data: a path to the audio file, it calls the phone and plays the audio message just fine.</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">I am trying to do the same with a video file. I specify Application: Playback and Data: the path to the video file (no ending of course), and I do specify also the Codecs: h264,h263 etc...</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">Asterisk reports:</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">*File /tmp/video does not exist in any format
*>* Unable to open /tmp/video (format ulaw|h263|h264)*


Looking then at the code and attaching with the debugger.
the ast_openstream_full() function has this condition:</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">        if (!fileexists_core(filename, NULL, preflang, buf, buflen,
file_fmt_cap) || !ast_format_cap_has_type(file_fmt_cap, AST_MEDIA_TYPE_AUDIO)) {</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">                        }</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">
</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">So fileexists_core() returns 1 but the next call to ast_format_cap_has_type() fails. because its looking for AST_MEDIA_TYPE_AUDIO and the file is a video file. Nowhere is the an AST_MEDIA_TYPE_VIDEO.</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">
</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">I can use the call file to setup a video call between two video softphones just fine. However using the call file to call a phone and play a video is not working at all for me.</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">Am I on the right track?</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">Is this supposed to work? if so how since there is no check of the AST_MEDIA_TYPE_VIDEO?</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">Thanks,</pre>
        <pre style="white-space:pre-wrap;color:rgb(0,0,0)">Jerry</pre>
      </div>
    </blockquote>
    Hi Jerry,<br>
    <br>
    I just had a look through the code, and from what I can tell, what
    you're trying to do is not supposed to work, exactly. It appears
    that what Asterisk expects is to be given a filename, such as
    "myplayback". Asterisk will first search for an audio version of the
    file (like myplayback.gsm or myplayback.opus), and open that as an
    audio stream. If that succeeds, it then will also see if there is an
    accompanying video stream (such as myplayback.h264). If it then
    finds that video, then the result will be that Asterisk will play
    the audio from the audio file and the video from the video file.<br>
    <br>
    What this means is that Asterisk does not properly handle:<br>
    * Files that have audio and video streams contained within<br>
    * Video files without accompanying audio<br>
    <br>
    This is one of those times where Asterisk's handling of video is not
    user-friendly and in general ass-backwards and terrible. If you have
    a tool that can extract the audio to its own file, then you would be
    able to run your scenario, presumably.<br>
    <br>
    It would be a welcome addition for Asterisk to be able to open a
    single file containing video and accompanying audio and be able to
    play those back.<br>
    <br>
    Mark Michelson<br>
  </body>
</html>