ffmpeg w/bktr no sound

Hiroharu Tamaru tamaru at myn.rcast.u-tokyo.ac.jp
Thu May 15 10:09:54 PDT 2003


Hi.

At Wed, 14 May 2003 12:38:01 -0500, Pete wrote:

> On Wednesday, May 14, 2003, at 12:23  PM, Steve O'Hara-Smith wrote:
> 
> > On Wed, 14 May 2003 11:08:45 -0500
> > Pete McKenna <pete_mckenna at qwest.net> wrote:
> >
> > PM> I'm still working on getting ffmpeg encoding to work and the video
> > PM> is fine but I get no audio. I have mucked with the mixer settings 
> > and
> > PM> such to no avail.
> >
> > 	What does mixer recsrc say ?
> 
> Recording source: line
> 
> >
> > PM> I use fxtv to set the channel, for now and when I turn off
> > PM> line in the mixer the fxtv audio dies. It is plugged into
> >
> > 	So you can hear it with ffmpeg running ?
> 
> no I hear nothing while recording, should I hear the
> tv audio while using ffmpeg ? I hear a whump sound
> like an amp being turned on when it starts.
> 
> >
> > PM> the sound cards line in. Based on this I set mixer recsrc
> > PM> to line, but still nothing. It's broadcast NTSC signal.
> >
> > 	Using mixer =rec line ?
> 
> Yes
> 
> >
> > PM> Mixer phin     is currently set to   0:0

and what does 'mixer rec' say?
This is what I run as my at(1) job:

====== begin: vcr-now ======
#!/bin/sh
CHANNEL="$1"
LENGTH="$2"
NOW=`date +"%Y%m%d-%H%M"`
if [ -z $LENGTH ]; then
  echo "Usage: vcr-now CHANNEL LENGTH(hh:mm:ss)"
  exit
fi
echo recording CH${CHANNEL} for ${LENGTH}
ulimit -c 0
bsdbktr_tvtune $CHANNEL
ORGMIX=`mixer -s`
ORGSRC=`mixer recsrc 2>&1 | sed 's/^.*: //'`
mixer =rec line
mixer rec 80
# 29.97 14.985 9.99 7.4975
ffmpeg -y -me zero -intra -r 9.99 -s 640x480 -t $LENGTH -b 4800 -ab 128 -ac 2 -deinterlace -croptop 2 vcr-"$NOW".mpg  2> /dev/null
mixer =rec ${ORGSRC} > /dev/null 2>&1
mixer ${ORGMIX} > /dev/null 2>&1
#
====== end: vcr-now ======


My bsdbktr_tvtune.c is a modified version that take channel number,
not freq. FWIW.

====== begin: bsdbktr_tvtune.c ======
#include <stdio.h>
#include <fcntl.h>
#include <machine/ioctl_meteor.h>
#include <machine/ioctl_bt848.h>

/*
 * - just tunes in a frequency - only opens the tuner
 */

main(int argc, char **argv)
{
        unsigned long freq;
        unsigned int chnl, type;
        int tuner_fd = open("/dev/tuner0", O_RDWR);

        if (tuner_fd < 0)
        {
                perror("/dev/tuner0");
                exit(1);
        }
        if (argc < 1)
        {
                printf ("Usage:\ntv_tune <channel in jpnbcst>\n\n");
                exit(1);
        }
        /* Command line parameter is a frequency */
        type = CHNLSET_JPNBCST;
        if (ioctl(tuner_fd, TVTUNER_SETTYPE, &type) < 0)
                perror("Tuning (TVTUNER_SETTYPE) failed");
        chnl = atoi(argv[1]);
        if (ioctl(tuner_fd, TVTUNER_SETCHNL, &chnl) < 0)
                perror("Tuning (TVTUNER_SETCHNL) failed");
}
====== end: bsdbktr_tvtune.c ======


More information about the freebsd-multimedia mailing list