
Recherche avancée
Autres articles (4)
-
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 -
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...) -
Utilisation et configuration du script
19 janvier 2011, parInformations spécifiques à la distribution Debian
Si vous utilisez cette distribution, vous devrez activer les dépôts "debian-multimedia" comme expliqué ici :
Depuis la version 0.3.1 du script, le dépôt peut être automatiquement activé à la suite d’une question.
Récupération du script
Le script d’installation peut être récupéré de deux manières différentes.
Via svn en utilisant la commande pour récupérer le code source à jour :
svn co (...)
Sur d’autres sites (3683)
-
How can I rename a file from a txt file with Windows bat file ?
12 septembre 2022, par user1264599I have a batch script that renames a file to input.mkv so it can be processed by a string of other commands in the bat file with a final file called ProcessedVideo.mkv. I capture the OG file name using "dir *.mkv /b>OG_FileName.txt" before being renamed.


How can I rename the final processed mkv file to the name captured in the OG_FileName.txt and maybe add "_Added-Text.mkv" as the last part of my Batch Script ? (Adding text to the file name is not that important if it is too much trouble).


I really thought this would be easy but I'm defeated.


-
Adventures in Unicode
Tangential to multimedia hacking is proper metadata handling. Recently, I have gathered an interest in processing a large corpus of multimedia files which are likely to contain metadata strings which do not fall into the lower ASCII set. This is significant because the lower ASCII set intersects perfectly with my own programming comfort zone. Indeed, all of my programming life, I have insisted on covering my ears and loudly asserting “LA LA LA LA LA ! ALL TEXT EVERYWHERE IS ASCII !” I suspect I’m not alone in this.
Thus, I took this as an opportunity to conquer my longstanding fear of Unicode. I developed a self-learning course comprised of a series of exercises which add up to this diagram :
Part 1 : Understanding Text Encoding
Python has regular strings by default and then it has Unicode strings. The latter are prefixed by the letter ‘u’. This is what ‘ö’ looks like encoded in each type.-
>>> ’ö’, u’ö’
-
(’\xc3\xb6’, u’\xf6’)
A large part of my frustration with Unicode comes from Python yelling at me about UnicodeDecodeErrors and an inability to handle the number 0xc3 for some reason. This usually comes when I’m trying to wrap my head around an unrelated problem and don’t care to get sidetracked by text encoding issues. However, when I studied the above output, I finally understood where the 0xc3 comes from. I just didn’t understand what the encoding represents exactly.
I can see from assorted tables that ‘ö’ is character 0xF6 in various encodings (in Unicode and Latin-1), so u’\xf6′ makes sense. But what does ‘\xc3\xb6′ mean ? It’s my style to excavate straight down to the lowest levels, and I wanted to understand exactly how characters are represented in memory. The UTF-8 encoding tables inform us that any Unicode code point above 0x7F but less than 0×800 will be encoded with 2 bytes :
110xxxxx 10xxxxxx
Applying this pattern to the \xc3\xb6 encoding :
hex : 0xc3 0xb6 bits : 11000011 10110110 important bits : ---00011 —110110 assembled : 00011110110 code point : 0xf6
I was elated when I drew that out and made the connection. Maybe I’m the last programmer to figure this stuff out. But I’m still happy that I actually understand those Python errors pertaining to the number 0xc3 and that I won’t have to apply canned solutions without understanding the core problem.
I’m cheating on this part of this exercise just a little bit since the diagram implied that the Unicode text needs to come from a binary file. I’ll return to that in a bit. For now, I’ll just contrive the following Unicode string from the Python REPL :
-
>>> u = u’Üñìçôđé’
-
>>> u
-
u’\xdc\xf1\xec\xe7\xf4\u0111\xe9’
Part 2 : From Python To SQLite3
The next step is to see what happens when I use Python’s SQLite3 module to dump the string into a new database. Will the Unicode encoding be preserved on disk ? What will UTF-8 look like on disk anyway ?-
>>> import sqlite3
-
>>> conn = sqlite3.connect(’unicode.db’)
-
>>> conn.execute("CREATE TABLE t (t text)")
-
>>> conn.execute("INSERT INTO t VALUES (?)", (u, ))
-
>>> conn.commit()
-
>>> conn.close()
Next, I manually view the resulting database file (unicode.db) using a hex editor and look for strings. Here we go :
000007F0 02 29 C3 9C C3 B1 C3 AC C3 A7 C3 B4 C4 91 C3 A9
Look at that ! It’s just like the \xc3\xf6 encoding we see in the regular Python strings.
Part 3 : From SQLite3 To A Web Page Via PHP
Finally, use PHP (love it or hate it, but it’s what’s most convenient on my hosting provider) to query the string from the database and display it on a web page, completing the outlined processing pipeline.-
< ?php
-
$dbh = new PDO("sqlite:unicode.db") ;
-
foreach ($dbh->query("SELECT t from t") as $row) ;
-
$unicode_string = $row[’t’] ;
-
?>
-
-
<html>
-
<head><meta http-equiv="Content-Type" content="text/html ; charset=utf-8"></meta></head>
-
<body><h1>< ?=$unicode_string ?></h1></body>
-
</html>
I tested the foregoing PHP script on 3 separate browsers that I had handy (Firefox, Internet Explorer, and Chrome) :
I’d say that counts as success ! It’s important to note that the “meta http-equiv” tag is absolutely necessary. Omit and see something like this :
Since we know what the UTF-8 stream looks like, it’s pretty obvious how the mapping is operating here : 0xc3 and 0xc4 correspond to ‘Ã’ and ‘Ä’, respectively. This corresponds to an encoding named ISO/IEC 8859-1, a.k.a. Latin-1. Speaking of which…
Part 4 : Converting Binary Data To Unicode
At the start of the experiment, I was trying to extract metadata strings from these binary multimedia files and I noticed characters like our friend ‘ö’ from above. In the bytestream, this was represented simply with 0xf6. I mistakenly believed that this was the on-disk representation of UTF-8. Wrong. Turns out it’s Latin-1.However, I still need to solve the problem of transforming such strings into Unicode to be shoved through the pipeline diagrammed above. For this experiment, I created a 9-byte file with the Latin-1 string ‘Üñìçôdé’ couched by 0′s, to simulate yanking a string out of a binary file. Here’s unicode.file :
00000000 00 DC F1 EC E7 F4 64 E9 00 ......d..
(Aside : this experiment uses plain ‘d’ since the ‘đ’ with a bar through it doesn’t occur in Latin-1 ; shows up all over the place in Vietnamese, at least.)
I’ve been mashing around Python code via the REPL, trying to get this string into a Unicode-friendly format. This is a successful method but it’s probably not the best :
-
>>> import struct
-
>>> f = open(’unicode.file’, ’r’).read()
-
>>> u = u’’
-
>>> for c in struct.unpack("B"*7, f[1 :8]) :
-
... u += unichr(c)
-
...
-
>>> u
-
u’\xdc\xf1\xec\xe7\xf4d\xe9’
-
>>> print u
-
Üñìçôdé
Conclusion
Dealing with text encoding matters reminds me of dealing with integer endian-ness concerns. When you’re just dealing with one system, you probably don’t need to think too much about it because the system is usually handling everything consistently underneath the covers.However, when the data leaves one system and will be interpreted by another system, that’s when a programmer needs to be cognizant of matters such as integer endianness or text encoding.
-
-
Extracting mp3 from mp4 via FFMPEG doesn't apply audio bitrate
17 juillet 2021, par Mohammad ZamanianI want to extract a simplified mono low bitrate low frequency and basically low sized audio from any mp4 file. I use the following FFMPEG command but the resulting audio somehow has 2 channels and its bitrate is the same as the original audio from mp4.


ffmpeg.exe -report -y -i "{mp4}" -vn -acodec libmp3lame -ac 1 -ab 64k -ar 24000 -f mp3 output "{mp3}"



Here is my report :


ffmpeg started on 2021-07-17 at 18:30:20
Report written to "ffmpeg-20210717-183020.log"
Log level: 48
Command line:
"C:\\ffmpeg\\bin\\ffmpeg.exe" -report -y -i "C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Video1.mp4" -vn -acodec libmp3lame -ac 1 -ab 64k -f mp3 output "C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Audio.mp3"
ffmpeg version 4.3.1-2021-01-01-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
 built with gcc 10.2.0 (Rev5, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-l libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
Splitting the commandline.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-i' ... matched as input url with argument 'C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Video1.mp4'.
Reading option '-vn' ... matched as option 'vn' (disable video) with argument '1'.
Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'libmp3lame'.
Reading option '-ac' ... matched as option 'ac' (set number of audio channels) with argument '1'.
Reading option '-ab' ... matched as option 'ab' (audio bitrate (please use -b:a)) with argument '64k'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'mp3'.
Reading option 'output' ... matched as output url.
Reading option 'C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Audio.mp3' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Video1.mp4.
Successfully parsed a group of options.
Opening an input file: C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Video1.mp4.
[NULL @ 000002e7d956ed40] Opening 'C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Video1.mp4' for reading
[file @ 000002e7d956fd80] Setting default whitelist 'file,crypto,data'
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002e7d956ed40] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002e7d956ed40] ISO: File Type Major Brand: mp42
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002e7d956ed40] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002e7d956ed40] Setting codecpar->delay to 1 for stream st: 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002e7d956ed40] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002e7d956ed40] Before avformat_find_stream_info() pos: 139797 bytes read:65536 seeks:1 nb_streams:2
[h264 @ 000002e7d9570c00] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 000002e7d9570c00] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 000002e7d9570c00] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 000002e7d9570c00] Format yuv420p chosen by get_format().
[h264 @ 000002e7d9570c00] Reinit context to 1920x1088, pix_fmt: yuv420p
[h264 @ 000002e7d9570c00] no picture 
[h264 @ 000002e7d9570c00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 000002e7d9570c00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 000002e7d9570c00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 000002e7d9570c00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 000002e7d9570c00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 000002e7d9570c00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 000002e7d9570c00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002e7d956ed40] All info found
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002e7d956ed40] After avformat_find_stream_info() pos: 158020 bytes read:65536 seeks:1 frames:11
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Video1.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp42mp41
 creation_time : 2020-11-24T06:56:49.000000Z
 Duration: 00:00:56.45, start: 0.000000, bitrate: 893 kb/s
 Stream #0:0(eng), 10, 1/30000: Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 749 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
 Metadata:
 creation_time : 2020-11-24T06:56:49.000000Z
 handler_name : Mainconcept Video Media Handler
 encoder : AVC Coding
 Stream #0:1(eng), 1, 1/44100: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
 Metadata:
 creation_time : 2020-11-24T06:56:49.000000Z
 handler_name : #Mainconcept MP4 Sound Media Handler
Successfully opened the file.
Parsing a group of options: output url output.
Applying option vn (disable video) with argument 1.
Applying option acodec (force audio codec ('copy' to copy stream)) with argument libmp3lame.
Applying option ac (set number of audio channels) with argument 1.
Applying option ab (audio bitrate (please use -b:a)) with argument 64k.
Applying option f (force format) with argument mp3.
Successfully parsed a group of options.
Opening an output file: output.
[file @ 000002e7d958e340] Setting default whitelist 'file,crypto,data'
Successfully opened the file.
Parsing a group of options: output url C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Audio.mp3.
Successfully parsed a group of options.
Opening an output file: C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Audio.mp3.
[file @ 000002e7da1bc480] Setting default whitelist 'file,crypto,data'
Successfully opened the file.
Stream mapping:
 Stream #0:1 -> #0:0 (aac (native) -> mp3 (libmp3lame))
 Stream #0:1 -> #1:0 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
detected 8 logical cores
[graph_0_in_0_1 @ 000002e7dac2b7c0] Setting 'time_base' to value '1/44100'
[graph_0_in_0_1 @ 000002e7dac2b7c0] Setting 'sample_rate' to value '44100'
[graph_0_in_0_1 @ 000002e7dac2b7c0] Setting 'sample_fmt' to value 'fltp'
[graph_0_in_0_1 @ 000002e7dac2b7c0] Setting 'channel_layout' to value '0x3'
[graph_0_in_0_1 @ 000002e7dac2b7c0] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3
[format_out_0_0 @ 000002e7dac2b8c0] Setting 'sample_fmts' to value 's32p|fltp|s16p'
[format_out_0_0 @ 000002e7dac2b8c0] Setting 'sample_rates' to value '44100|48000|32000|22050|24000|16000|11025|12000|8000'
[format_out_0_0 @ 000002e7dac2b8c0] Setting 'channel_layouts' to value '0x4'
[format_out_0_0 @ 000002e7dac2b8c0] auto-inserting filter 'auto_resampler_0' between the filter 'Parsed_anull_0' and the filter 'format_out_0_0'
[AVFilterGraph @ 000002e7da1bdfc0] query_formats: 4 queried, 7 merged, 3 already done, 0 delayed
[auto_resampler_0 @ 000002e7d958edc0] [SWR @ 000002e7d95fd240] Using fltp internally between filters
[auto_resampler_0 @ 000002e7d958edc0] [SWR @ 000002e7d95fd240] Matrix coefficients:
[auto_resampler_0 @ 000002e7d958edc0] [SWR @ 000002e7d95fd240] FC: FL:0.707107 FR:0.707107 
[auto_resampler_0 @ 000002e7d958edc0] ch:2 chl:stereo fmt:fltp r:44100Hz -> ch:1 chl:mono fmt:fltp r:44100Hz
Output #0, mp3, to 'output':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp42mp41
 TSSE : Lavf58.45.100
 Stream #0:0(eng), 0, 1/44100: Audio: mp3 (libmp3lame), 44100 Hz, mono, fltp, 64 kb/s (default)
 Metadata:
 creation_time : 2020-11-24T06:56:49.000000Z
 handler_name : #Mainconcept MP4 Sound Media Handler
 encoder : Lavc58.91.100 libmp3lame
[graph_1_in_0_1 @ 000002e7d9a5bf00] Setting 'time_base' to value '1/44100'
[graph_1_in_0_1 @ 000002e7d9a5bf00] Setting 'sample_rate' to value '44100'
[graph_1_in_0_1 @ 000002e7d9a5bf00] Setting 'sample_fmt' to value 'fltp'
[graph_1_in_0_1 @ 000002e7d9a5bf00] Setting 'channel_layout' to value '0x3'
[graph_1_in_0_1 @ 000002e7d9a5bf00] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3
[format_out_1_0 @ 000002e7da1b8580] Setting 'sample_fmts' to value 's32p|fltp|s16p'
[format_out_1_0 @ 000002e7da1b8580] Setting 'sample_rates' to value '44100|48000|32000|22050|24000|16000|11025|12000|8000'
[format_out_1_0 @ 000002e7da1b8580] Setting 'channel_layouts' to value '0x4|0x3'
[AVFilterGraph @ 000002e7da1be5c0] query_formats: 4 queried, 9 merged, 0 already done, 0 delayed
Output #1, mp3, to 'C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Audio.mp3':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp42mp41
 TSSE : Lavf58.45.100
 Stream #1:0(eng), 0, 1/44100: Audio: mp3 (libmp3lame), 44100 Hz, stereo, fltp (default)
 Metadata:
 creation_time : 2020-11-24T06:56:49.000000Z
 handler_name : #Mainconcept MP4 Sound Media Handler
 encoder : Lavc58.91.100 libmp3lame
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:1 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
size= 129kB time=00:00:16.40 bitrate= 64.2kbits/s speed=32.8x 
size= 254kB time=00:00:32.49 bitrate= 64.1kbits/s speed=32.5x 
size= 256kB time=00:00:47.83 bitrate= 43.8kbits/s speed=31.8x 
[out_0_0 @ 000002e7d95b3d40] EOF on sink link out_0_0:default.
[out_1_0 @ 000002e7d9bae780] EOF on sink link out_1_0:default.
No more output streams to write to, finishing.
[libmp3lame @ 000002e7d958dbc0] Trying to remove 175 more samples than there are in the queue
[libmp3lame @ 000002e7da1bb940] Trying to remove 175 more samples than there are in the queue
size= 442kB time=00:00:56.45 bitrate= 64.1kbits/s speed= 33x 
video:0kB audio:1324kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Video1.mp4):
 Input stream #0:0 (video): 10 packets read (17858 bytes); 
 Input stream #0:1 (audio): 2431 packets read (886147 bytes); 2431 frames decoded (2489344 samples); 
 Total: 2441 packets (904005 bytes) demuxed
Output file #0 (output):
 Output stream #0:0 (audio): 2161 frames encoded (2489344 samples); 2162 packets muxed (451813 bytes); 
 Total: 2162 packets (451813 bytes) muxed
Output file #1 (C:/Users/ScottRobertson/Desktop/VirtualExhibition/Final Booth Data/1-Abidi (gold)/Video/Audio.mp3):
 Output stream #1:0 (audio): 2161 frames encoded (2489344 samples); 2162 packets muxed (903627 bytes); 
 Total: 2162 packets (903627 bytes) muxed
2431 frames successfully decoded, 0 decoding errors
[AVIOContext @ 000002e7d958e400] Statistics: 2 seeks, 3 writeouts
[AVIOContext @ 000002e7da1bc580] Statistics: 2 seeks, 5 writeouts
[AVIOContext @ 000002e7d9578040] Statistics: 2725576 bytes read, 65 seeks



How can I force the desired audio bitrate ?


Also, why is there 2 outputs called
Output file #0
andOutput file #1
and why the #0 doesn't have any path ?