Transcode: Difference between revisions
Line 11: | Line 11: | ||
This example works on saa7134 cards, using the [[saa7134-alsa]] DMA module under OSS emulation: |
This example works on saa7134 cards, using the [[saa7134-alsa]] DMA module under OSS emulation: |
||
transcode -x v4l2=resync_margin=1:resync_interval=250,v4l2 -M 2 \ |
transcode -x v4l2=resync_margin=1:resync_interval=250,v4l2 -M 2 -H 0 \ |
||
-i /dev/video$DEV -p /dev/dsp$DEV -y ffmpeg -F h264 -c 00:$TIM \ |
-i /dev/video$DEV -p /dev/dsp$DEV -y ffmpeg -F h264 -c 00:$TIM \ |
||
-g 640x480 -f 29.970,4 -u 1024,2 -w 800 -b 128 -Q 5 -e 32000,16,2 \ |
-g 640x480 -f 29.970,4 -u 1024,2 -w 800 -b 128 -Q 5 -e 32000,16,2 \ |
||
Line 31: | Line 31: | ||
* For audio bitrates, you can use "--lame_preset medium" or specify a fixed bitrate, such as "-b 96" |
* For audio bitrates, you can use "--lame_preset medium" or specify a fixed bitrate, such as "-b 96" |
||
* To turn off verbose progress feedback, for instance if you're having the result of a cron job mailed to you, use "--progress_off" |
* To turn off verbose progress feedback, for instance if you're having the result of a cron job mailed to you, use "--progress_off" |
||
* To turn off device probling, use "-H 0" -- removes a few error messages, as v4l device probing is still imperfect in transcode |
Revision as of 07:15, 31 March 2006
Introduction
The transcode program provides an integrated framework for encoding and transcoding, bringing together a large number of multimedia projects under one umbrella.
Recording from v4l
This example works on saa7134 cards, using the saa7134-alsa DMA module under OSS emulation:
transcode -x v4l2=resync_margin=1:resync_interval=250,v4l2 -M 2 -H 0 \ -i /dev/video$DEV -p /dev/dsp$DEV -y ffmpeg -F h264 -c 00:$TIM \ -g 640x480 -f 29.970,4 -u 1024,2 -w 800 -b 128 -Q 5 -e 32000,16,2 \ -o $DIR/$FIL.avi --progress_off
The trick here is to set the audio import to 32000,16,2 -- the parameters used by the DMA audio channel on the card, and thus by the 7134-alsa module. The resync parameters are borrowed from Francesco Romani's recent addition to the transcode wiki; they appear to solve the sync problem, way cool!
The attempt to start two threads -- "-u 1024,2" -- fails because transcode doesn't yet have its own x264 export module (Francesco is working on it). The workaround is to create ~/.transcode/ffmpeg.cfg with this content:
[h264] threads = 2
On a dual-core, I found xh26 doesn't do a great job with two threads -- CPU utilization doesn't get past full use of one core -- but ymmv.
The audio device referred to here is /dev/dspN, using the OSS emulation layer provided by ALSA. The transcode developers are working on accessing ALSA devices directly.
Switches
- For audio bitrates, you can use "--lame_preset medium" or specify a fixed bitrate, such as "-b 96"
- To turn off verbose progress feedback, for instance if you're having the result of a cron job mailed to you, use "--progress_off"
- To turn off device probling, use "-H 0" -- removes a few error messages, as v4l device probing is still imperfect in transcode