
Recherche avancée
Médias (91)
-
Spoon - Revenge !
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
My Morning Jacket - One Big Holiday
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Zap Mama - Wadidyusay ?
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
David Byrne - My Fair Lady
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Beastie Boys - Now Get Busy
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
Autres articles (39)
-
(Dés)Activation de fonctionnalités (plugins)
18 février 2011, parPour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...) -
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (6194)
-
Using ffmpeg on Ubuntu, how can the audio and video from an audio-video USB capture device be recorded ?
11 avril 2022, par BlandCorporationI have a USB audio-video capture device, something used to digitize video cassettes. I want to record both the video and audio from the device to a video file that has dimensions 720x576 and video codec H.264 and good audio quality.


I am able to record video from the device using ffmpeg and I am able to see video from the device using MPlayer. I am able also to see that audio is being delivered from the device to the computer by looking at Input tab of the Sound Preferences window or by recording the audio using Audacity, however the audio gets delivered from the device apparently only when the video is being accessed using ffmpeg or MPlayer.


I have tried to get ffmpeg to record the audio and I have tried to get MPlayer to play the audio and my efforts have not been successful.


The device is "Pinnacle Dazzle DVC 90/100/101" (as returned by
v4l2-ctl --list-devices
). The sound cards listing shows it as "DVC100" :

$ cat /proc/asound/cards 
 0 [PCH ]: HDA-Intel - HDA Intel PCH
 HDA Intel PCH at 0x601d118000 irq 171
 1 [DVC100 ]: USB-Audio - DVC100
 Pinnacle Systems GmbH DVC100 at usb-0000:00:14.0-4, high speed
29 [ThinkPadEC ]: ThinkPad EC - ThinkPad Console Audio Control
 ThinkPad Console Audio Control at EC reg 0x30, fw N2LHT33W



The PulseAudio listing for the device is as follows :


$ pactl list cards short
0 alsa_card.pci-0000_00_1f.3 module-alsa-card.c
14 alsa_card.usb-Pinnacle_Systems_GmbH_DVC100-01 module-alsa-card.c



The following ffmpeg command successfully records video, but records severely distorted, broken and out-of-sync audio :


ffmpeg -y -f rawvideo -f alsa -thread_queue_size 2048 -ar 48000 -i hw:0 \
 -c:a aac -video_size 720x576 -pixel_format uyvy422 -i /dev/video2 out.mp4



The following MPlayer command successfully displays the video but does not play the audio :


mplayer -tv driver=v4l2:norm=PAL:device=/dev/video2:width=720:height=576 \
 -ao alsa:device=hw=1.0 -vf pp=lb tv://



Now, when the above MPlayer command is running (not the ffmpeg command) and displaying the input video in a window, Audacity can be opened and set recording audio, and it records the audio from the device clearly and in good quality. While Audacity is doing this, the input device is listed in
pavucontrol
as "Dazzle DVC Audio Device Analogue Stereo". Equivalently, arecord can be used also to record the audio using the following command (with output shown) :

$ arecord -vv -D plughw:DVC100 -fdat out.wav
Recording WAVE 'out.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Plug PCM: Hardware PCM card 1 'DVC100' device 0 subdevice 0
Its setup is:
 stream : CAPTURE
 access : RW_INTERLEAVED
 format : S16_LE
 subformat : STD
 channels : 2
 rate : 48000
 exact rate : 48000 (48000/1)
 msbits : 16
 buffer_size : 24000
 period_size : 6000
 period_time : 125000
 tstamp_mode : NONE
 tstamp_type : MONOTONIC
 period_step : 1
 avail_min : 6000
 period_event : 0
 start_threshold : 1
 stop_threshold : 24000
 silence_threshold: 0
 silence_size : 0
 boundary : 6755399441055744000
 appl_ptr : 0
 hw_ptr : 0



Looking at the output of
arecord -L
, I tried a variety of audio device input names with ffmpeg and none of them seemed to work. So, for example, I tried commands like the following :

ffmpeg -y -f rawvideo -f alsa -i plughw:DVC100 \
 -video_size 720x576 -pixel_format uyvy422 -i /dev/video2 out.mp4



And tried the following audio device names :


plughw:DVC100
plughw:CARD=DVC100,DEV=0
hw:CARD=DVC100,DEV=0
plughw:CARD=DVC100
sysdefault:CARD=DVC100
iec958:CARD=DVC100,DEV=0
dsnoop:CARD=DVC100,DEV=0



So, how might I get ffmpeg to record the audio successfully to the video file ? Is there some alternative approach to this problem ?



EDIT : The relevant output from the command
pactl list sources
is as follows :

Source #20
 State: SUSPENDED
 Name: alsa_input.usb-Pinnacle_Systems_GmbH_DVC100-01.analog-stereo
 Description: Dazzle DVC100 Audio Device Analogue Stereo
 Driver: module-alsa-card.c
 Sample Specification: s16le 2ch 48000Hz
 Channel Map: front-left,front-right
 Owner Module: 45
 Mute: no
 Volume: front-left: 99957 / 153% / 11.00 dB, front-right: 99957 / 153% / 11.00 dB
 balance 0.00
 Base Volume: 35466 / 54% / -16.00 dB
 Monitor of Sink: n/a
 Latency: 0 usec, configured 0 usec
 Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
 Properties:
 alsa.resolution_bits = "16"
 device.api = "alsa"
 device.class = "sound"
 alsa.class = "generic"
 alsa.subclass = "generic-mix"
 alsa.name = "USB Audio"
 alsa.id = "USB Audio"
 alsa.subdevice = "0"
 alsa.subdevice_name = "subdevice #0"
 alsa.device = "0"
 alsa.card = "1"
 alsa.card_name = "DVC100"
 alsa.long_card_name = "Pinnacle Systems GmbH DVC100 at usb-0000:00:14.0-4, high speed"
 alsa.driver_name = "snd_usb_audio"
 device.bus_path = "pci-0000:00:14.0-usb-0:4:1.1"
 sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.1/sound/card1"
 udev.id = "usb-Pinnacle_Systems_GmbH_DVC100-01"
 device.bus = "usb"
 device.vendor.id = "2304"
 device.vendor.name = "Pinnacle Systems, Inc."
 device.product.id = "021a"
 device.product.name = "Dazzle DVC100 Audio Device"
 device.serial = "Pinnacle_Systems_GmbH_DVC100"
 device.string = "front:1"
 device.buffering.buffer_size = "352800"
 device.buffering.fragment_size = "176400"
 device.access_mode = "mmap+timer"
 device.profile.name = "analog-stereo"
 device.profile.description = "Analogue Stereo"
 device.description = "Dazzle DVC100 Audio Device Analogue Stereo"
 alsa.mixer_name = "USB Mixer"
 alsa.components = "USB2304:021a"
 module-udev-detect.discovered = "1"
 device.icon_name = "audio-card-usb"
 Ports:
 analog-input-linein: Line In (priority: 8100)
 Active Port: analog-input-linein
 Formats:
 pcm



I tested the name from this with ffmpeg (version 4.3.1, compiled with
-enable-libpulse
) in the following way :

ffmpeg -y -f video4linux2 -f pulse \
 -i alsa_input.usb-Pinnacle_Systems_GmbH_DVC100-01.analog-stereo \
 -video_size 720x576 -pixel_format uyvy422 -i /dev/video2 out.mp4



Unfortunately this hasn't worked.


-
How to stream live-video display from a webcam using FFMPEG command on tcl version 8.0 and windows 7 ?
27 juin 2019, par M. D. PI am working on project were i need to have the live video streaming.
I am able to save the video using the command :proc a {} {
exec ffmpeg -f dshow -rtbufsize 64M -i "video=Integrated Webcam" -s 1280x720 -f sdl2 -
}
a
this is the current error:ffmpeg started on 2017-11-17 at 15:24:45
Report written to "ffmpeg-20171117-152445.log"
Command line:
ffmpeg -f dshow -report -rtbufsize 64M -i "video=Integrated Webcam" -s 1280x720 -f sdl2 -
ffmpeg version N-87353-g183fd30 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 76.100 / 55. 76.100
libavcodec 57.106.101 / 57.106.101
libavformat 57. 82.101 / 57. 82.101
libavdevice 57. 8.101 / 57. 8.101
libavfilter 6.105.100 / 6.105.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
Splitting the commandline.
Reading option '-f' ... matched as option 'f' (force format) with argument 'dshow'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-rtbufsize' ... matched as AVOption 'rtbufsize' with argument '64M'.
Reading option '-i' ... matched as input url with argument 'video=Integrated Webcam'.
Reading option '-s' ... matched as option 's' (set frame size (WxH or abbreviation)) with argument '1280x720'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'sdl2'.
Reading option '-' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url video=Integrated Webcam.
Applying option f (force format) with argument dshow.
Successfully parsed a group of options.
Opening an input file: video=Integrated Webcam.
[dshow @ 0000000000e06a40] Selecting pin Capture on video
dshow passing through packet of type video size 614400 timestamp 5773900280000 orig timestamp 5773900274254 graph timestamp 5773900280000 diff 5746 Integrated Webcam
[dshow @ 0000000000e06a40] All info found
Input #0, dshow, from 'video=Integrated Webcam':
Duration: N/A, start: 577390.028000, bitrate: N/A
Stream #0:0, 1, 1/10000000: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 30 fps, 30 tbr, 10000k tbn, 10000k tbc
Successfully opened the file.
Parsing a group of options: output url -.
Applying option s (set frame size (WxH or abbreviation)) with argument 1280x720.
Applying option f (force format) with argument sdl2.
Successfully parsed a group of options.
Opening an output file: -.
Successfully opened the file.
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[rawvideo @ 0000000000d90be0] PACKET SIZE: 614400, STRIDE: 1280
detected 4 logical cores
dshow passing through packet of type video size 614400 timestamp 5773900600000 orig timestamp 5773900607587 graph timestamp 5773900600000 diff -7587 Integrated Webcam
[graph 0 input from stream 0:0 @ 0000000000d96200] Setting 'video_size' to value '640x480'
[graph 0 input from stream 0:0 @ 0000000000d96200] Setting 'pix_fmt' to value '1'
[graph 0 input from stream 0:0 @ 0000000000d96200] Setting 'time_base' to value '1/10000000'
[graph 0 input from stream 0:0 @ 0000000000d96200] Setting 'pixel_aspect' to value '0/1'
[graph 0 input from stream 0:0 @ 0000000000d96200] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:0 @ 0000000000d96200] Setting 'frame_rate' to value '10000000/333333'
[graph 0 input from stream 0:0 @ 0000000000d96200] w:640 h:480 pixfmt:yuyv422 tb:1/10000000 fr:10000000/333333 sar:0/1 sws_param:flags=2
[scaler_out_0_0 @ 0000000000d967e0] Setting 'w' to value '1280'
[scaler_out_0_0 @ 0000000000d967e0] Setting 'h' to value '720'
[scaler_out_0_0 @ 0000000000d967e0] Setting 'flags' to value 'bicubic'
[scaler_out_0_0 @ 0000000000d967e0] w:1280 h:720 flags:'bicubic' interl:0
[AVFilterGraph @ 0000000000d94d40] query_formats: 4 queried, 3 merged, 0 already done, 0 delayed
[scaler_out_0_0 @ 0000000000d967e0] w:640 h:480 fmt:yuyv422 sar:0/1 -> w:1280 h:720 fmt:yuyv422 sar:0/1 flags:0x4
dshow passing through packet of type video size 614400 timestamp 5773900970000 orig timestamp 5773900940920 graph timestamp 5773900970000 diff 29080 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773901240000 orig timestamp 5773901274253 graph timestamp 5773901240000 diff -34253 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773901720000 orig timestamp 5773901607586 graph timestamp 5773901720000 diff 112414 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773902040000 orig timestamp 5773901940919 graph timestamp 5773902040000 diff 99081 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773902360000 orig timestamp 5773902274252 graph timestamp 5773902360000 diff 85748 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773902680000 orig timestamp 5773902607585 graph timestamp 5773902680000 diff 72415 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773903000000 orig timestamp 5773902940918 graph timestamp 5773903000000 diff 59082 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773903320000 orig timestamp 5773903274251 graph timestamp 5773903320000 diff 45749 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773903640000 orig timestamp 5773903607584 graph timestamp 5773903640000 diff 32416 Integrated Webcam
[sdl,sdl2 @ 0000000000d911c0] w:1280 h:720 fmt:yuyv422 -> w:1280 h:720
Output #0, sdl,sdl2, to 'pipe:':
Metadata:
encoder : Lavf57.82.101
Stream #0:0, 0, 333333/10000000: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1280x720, q=2-31, 442368 kb/s, 30 fps, 30 tbn, 30 tbc
Metadata:
encoder : Lavc57.106.101 rawvideo
dshow passing through packet of type video size 614400 timestamp 5773903970000 orig timestamp 5773903940917 graph timestamp 5773903970000 diff 29083 Integrated Webcam
dshow passing through packet of type video size 614400 timestamp 5773904280000 orig timestamp 5773904274250 graph timestamp 5773904280000 diff 5750 Integrated Webcam
av_interleaved_write_frame(): Operation not permitted
No more output streams to write to, finishing.
dshow passing through packet of type video size 614400 timestamp 5773904660000 orig timestamp 5773904607583 graph timestamp 5773904660000 diff 52417 Integrated Webcam
frame= 1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.0797x
video:1800kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (video=Integrated Webcam):
Input stream #0:0 (video): 1 packets read (614400 bytes); 1 frames decoded;
Total: 1 packets (614400 bytes) demuxed
Output file #0 (pipe:):
Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (1843200 bytes);
Total: 1 packets (1843200 bytes) muxed
1 frames successfully decoded, 0 decoding errors
dshow passing through packet of type video size 0 timestamp 5773907070000 orig timestamp 2644601806342528 graph timestamp 5773907070000 diff -2638827899272528 Integrated Webcam
Conversion failed!% source c:/other/a/d.tcl
couldn't execute "ffmpeg -f dshow -t 00:00:10 -i {video=Integrated Webcam} -b 5000k -s 1280x720 c:\test\sample-a.avi": no such file or directory
% source c:/other/a/d.tcl
invalid command name "ffmpeg"
% source c:/other/a/d.tcl
ffmpeg version N-87353-g183fd30 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 76.100 / 55. 76.100
libavcodec 57.106.101 / 57.106.101
libavformat 57. 82.101 / 57. 82.101
libavdevice 57. 8.101 / 57. 8.101
libavfilter 6.105.100 / 6.105.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
Input #0, dshow, from 'video=Integrated Webcam':
Duration: N/A, start: 523220.045000, bitrate: N/A
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 30 fps, 30 tbr, 10000k tbn, 10000k tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
Press [q] to stop, [?] for help
Output #0, sdl,sdl2, to 'pipe:':
Metadata:
encoder : Lavf57.82.101
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1280x720, q=2-31, 442368 kb/s, 30 fps, 30 tbn, 30 tbc
Metadata:
encoder : Lavc57.106.101 rawvideo
av_interleaved_write_frame(): Operation not permitted
frame= 1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.0471x
video:1800kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!
%But, the problem is i don’t want to save the video, I just want to have live video streaming.
link : https://trac.ffmpeg.org/wiki/StreamingGuide, provide the command for live video streaming, but it want work, the webcem gets started, but live video streaming is not displayed on screen.
so, can any one help me out to get right "FFMPEG" command or even any TCL script, to get the live video streaming displayed on on my windows 7.
ffplay started on 2017-11-17 at 12:44:40
Report written to "ffplay-20171117-124440.log"
Command line:
ffplay -report C:/test/sample.avi
ffplay version N-87353-g183fd30 Copyright (c) 2003-2017 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 76.100 / 55. 76.100
libavcodec 57.106.101 / 57.106.101
libavformat 57. 82.101 / 57. 82.101
libavdevice 57. 8.101 / 57. 8.101
libavfilter 6.105.100 / 6.105.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
[NULL @ 0000000002aea040] Opening 'C:/test/sample.avi' for reading
[file @ 0000000002ae9c80] Setting default whitelist 'file,crypto'
[avi @ 0000000002aea040] Format avi probed with size=2048 and score=100
[avi @ 0000000002af30c0] use odml:1
[avi @ 0000000002aea040] Before avformat_find_stream_info() pos: 5678 bytes read:107912 seeks:4 nb_streams:1
[avi @ 0000000002aea040] All info found
[avi @ 0000000002aea040] After avformat_find_stream_info() pos: 33035 bytes read:107912 seeks:4 frames:1
Input #0, avi, from 'C:/test/sample.avi':
Metadata:
encoder : Lavf57.82.101
Duration: 00:00:10.00, start: 0.000000, bitrate: 5072 kb/s
Stream #0:0, 1, 1/30: Video: mpeg4 (Simple Profile) (FMP4 / 0x34504D46), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 5078 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
detected 4 logical cores
nan M-V: nan fd= 0 aq= 0KB vq= 595KB sq= 0B f=0/0
Video frame changed from size:0x0 format:none serial:-1 to size:1280x720 format:yuv420p serial:1
[ffplay_buffer @ 0000000003a17ee0] Setting 'video_size' to value '1280x720'
[ffplay_buffer @ 0000000003a17ee0] Setting 'pix_fmt' to value '0'
[ffplay_buffer @ 0000000003a17ee0] Setting 'time_base' to value '1/30'
[ffplay_buffer @ 0000000003a17ee0] Setting 'pixel_aspect' to value '1/1'
[ffplay_buffer @ 0000000003a17ee0] Setting 'frame_rate' to value '30/1'
[ffplay_buffer @ 0000000003a17ee0] w:1280 h:720 pixfmt:yuv420p tb:1/30 fr:30/1 sar:1/1 sws_param:
[AVFilterGraph @ 0000000002b14fc0] query_formats: 2 queried, 1 merged, 0 already done, 0 delayed -
How to preserve data stream with none codec from a video while compressing it using ffmpeg ?
5 octobre 2022, par rj_7I'm using the following command to compress a video of size 1.5GB to 80 MB.


ffmpeg -i input.mp4 -copy_unknown -map_metadata 0 -c copy -c:v h264 -b:v 5000k -c:a aac -b:a 48k -map 0:v -map 0:a -map 0:d output.mp4



The problem I'm facing is - it doesn't copy the data stream to the output video even when I explicitly mention it via mapping. If I don't use the -map options for each kind of stream, it just process the video and audio as expected. But I also want the data stream in my output video.


The logs for the above command are -


ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 9.2.1 (GCC) 20200122
 configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000022581bc0f80] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp42mp41isomiso2
 creation_time : 2021-09-16T16:10:08.000000Z
 artist : AnafiThermal-H006560
 title : Thu, 16 Sep 2021 09:10:08 -0700
 date : 2021-09-16T09:10:08-07:00
 make : Parrot
 model : AnafiThermal
 encoder : PI040445AC0H006560
 location : +33.67128695-117.61610583+415.50/
 com.apple.quicktime.artist: AnafiThermal-H006560
 com.apple.quicktime.title: Thu, 16 Sep 2021 09:10:08 -0700
 com.apple.quicktime.creationdate: 2021-09-16T09:10:08-07:00
 com.apple.quicktime.make: Parrot
 com.apple.quicktime.model: AnafiThermal
 com.apple.quicktime.software: 1.8.0
 com.apple.quicktime.location.ISO6709: +33.67128695-117.61610583+415.50/
 com.parrot.model.id: 0919
 com.parrot.serial: PI040445AC0H006560
 com.parrot.build.id: anafi-thermal-1.8.0
 com.parrot.run.date: 2021-09-16T09:04:29-07:00
 com.parrot.run.id: 0B3D536B2F1A425EFA8978850B4C2C71
 com.parrot.boot.id: 992D5FBA74A04BA5077C3FCA3BE9C707
 com.parrot.video.mode: Standard
 Duration: 00:02:05.49, start: 0.000000, bitrate: 100391 kb/s
 Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 99998 kb/s, 29.98 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
 Metadata:
 creation_time : 2021-09-16T16:10:08.000000Z
 handler_name : DefaultVideo
 Stream #0:1(eng): Data: none (mett / 0x7474656D), 27 kb/s (default)
 Metadata:
 creation_time : 2021-09-16T16:10:08.000000Z
 handler_name : ParrotVideoMetadata
 Stream #0:2(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 384 kb/s (default)
 Metadata:
 creation_time : 2021-09-16T16:10:08.000000Z
 handler_name : DefaultAudio
 Stream #0:3: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 320x180 [SAR 1:1 DAR 16:9], 90k tbr, 90k tbn, 90k tbc (attached pic)
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
 Stream #0:3 -> #0:1 (mjpeg (native) -> h264 (libx264))
 Stream #0:2 -> #0:2 (aac (native) -> aac (native))
 Stream #0:1 -> #0:3 (copy)
Press [q] to stop, [?] for help
[mp4 @ 0000022581c5e280] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2
[libx264 @ 0000022582975a00] using SAR=1/1
[libx264 @ 0000022582975a00] MB rate (21600000) > level limit (16711680)
[libx264 @ 0000022582975a00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0000022582975a00] profile High, level 6.2, 4:2:0, 8-bit
[libx264 @ 0000022582975a00] 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=5000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[libx264 @ 000002258241c980] using SAR=1/1
[libx264 @ 000002258241c980] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000002258241c980] profile High, level 5.1, 4:2:0, 8-bit
[libx264 @ 000002258241c980] 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=5000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[mp4 @ 0000022581c5e280] Could not find tag for codec h264 in stream #1, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 --
[libx264 @ 000002258241c980] final ratefactor: 25.51
[libx264 @ 0000022582975a00] final ratefactor: 73.59
[aac @ 00000225829747c0] Qavg: 63100.754
[aac @ 00000225829747c0] 2 frames left in the queue on closing
Conversion failed!



I've also tried mapping the streams via number, that doesn't work either (shows same logs as above).


ffmpeg -i input.mp4 -copy_unknown -map_metadata 0 -c copy -c:v h264 -b:v 5000k -c:a aac -b:a 48k -map 0:0 -map 0:1 -map 0:2 output.mp4



So, essentially my question is - How to preserve data stream (packed) with none codec from a video while compressing it using ffmpeg ?