ffmpeg doesn't record sound from WinTV.

Frank J. Beckmann frank at barda.agala.net
Mon Jan 2 10:39:44 PST 2006


Moin,

am Montag, 2. Januar 2006 11:19 schrieb Steve O'Hara-Smith:
> On Mon, 2 Jan 2006 03:46:02 +0100
>
> "Frank J. Beckmann" <frank at barda.agala.net> wrote:
> > hat tells me
> > that the mixér settings are ok but the tv card does not send sound then I
> > use ffmpeg (or nuppelvideo).
>
> 	ffmpeg and nuppelvideo both use the same code to talk to the bktr
> device, it relies on the sound being activated by opening the tuner device
> which usually does the job. I see something possible in the xawtv code -
> could you try two things (in this order) please.
>
> 	First try rebooting and using ffmpeg *without* first running
> xawtv (or motv) - you can tune the signal by setting the environment
> variable BKTR_FREQUENCY to a frequency in megahertz. I have a suspicion
> that xawtv is leaving the sound muted, every bktr card I have seen powers
> up with the sound unmuted - this will test my suspicion.

That did it. ffmpeg records sound when I didn't start moTV before. I used moTV 
to set the channel.

> 	Second try applying this patch in /usr/ports/multimedia/ffmpeg
> and then rebuilding and reinstalling ffmpeg. Let me know how you get
> on - if it works I will try and get the patch committed and pushed up
> to ffmpeg (grab_bsdbktr.c is now in ffmpeg CVS).
>
> --------------------- Cut Here and your monitor will explode --------------
> Index: files/grab_bsdbktr.c
> ===================================================================
> RCS file: /ncvs/ports/multimedia/ffmpeg/files/grab_bsdbktr.c,v
> retrieving revision 1.9
> diff -u -r1.9 grab_bsdbktr.c
> --- files/grab_bsdbktr.c        6 Jun 2005 02:05:01 -0000       1.9
> +++ files/grab_bsdbktr.c        2 Jan 2006 10:15:50 -0000
> @@ -171,6 +171,11 @@
>                 perror ("METEORSINPUT");
>                 return -1;
>         }
> +       c = AUDIO_UNMUTE;
> +       if (ioctl(*video_fd, BT848_SAUDIO, &c) < 0) {
> +               perror ("BT848_SAUDIO");
> +               return -1;
> +       }
>         *video_buf = (u_int8_t *) mmap((void *) 0, width*height*2,
>                 PROT_READ, MAP_SHARED, *video_fd, (off_t) 0);
>         if (*video_buf == MAP_FAILED) {
> --------------------- Cut Here and your monitor will explode --------------

That patch doesn't work:

ffmpeg version 0.4.9-pre1, build 4718, Copyright (c) 2000-2004 Fabrice Bellard
  built on Jan  2 2006 17:23:10, gcc: 3.4.4 [FreeBSD] 20050518
Assuming PAL for target.
BT848_SAUDIO: Inappropriate ioctl for device
Input #0, video4linux, from '':
  Duration: N/A, bitrate: N/A
  Stream #0.0: Video: rawvideo, yuv422, 720x576, 25.00 fps
Input #1, audio_device, from '':
  Duration: N/A, bitrate: N/A
  Stream #1.0: Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s
Output #0, vob, to '/var/tmp/fft.mpeg':
  Stream #0.0: Video: mpeg2video, 720x576, 25.00 fps, q=2-31, 6000 kb/s
  Stream #0.1: Audio: ac3, 48000 Hz, stereo, 448 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #1.0 -> #0.1
Press [q] to stop encoding

SLEPT NO signals - 30448 microseconds late
Segmentation fault (core dumped)

-- 
Tschüss
Frank


More information about the freebsd-multimedia mailing list