
Recherche avancée
Autres articles (95)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...)
Sur d’autres sites (6444)
-
FFmpeg Drawtext - Fontconfig error : Cannot load default config file : No such file : (null)
29 mars 2023, par JamesI get the message : Fontconfig error : Cannot load default config file : No such file : (null).
No output is created.


I have installed FFmpeg full version and written this test script to add text onto an image which I drag and drop onto the BAT file.


I searched this database for solutions and found none. The script should produce an output file
test.png
, The image should have red text on it which readsHello
.

I tried to escape the path to the Font both ways without success :


`set "FONT='c\:\\windows\\fonts\\arial.ttf'" :: Font



`


.. and


`set "FONT='c\:\/windows\/fonts\/arial.ttf'" :: Font`



My full script :


`set "FONT='c\:\/windows\/fonts\/arial.ttf'" :: Font
set "TEXT=Hello" :: Text (no space characters allowed, see next example)
set "COLOR=red" :: Text color
set "SIZE=20" :: Font size
set "POS_X=(w-tw)/2" :: X position of text, use (w-tw)/2 for centering
set "POS_Y=(h-th)/2" :: Y position of text, use (h-th)/2 for centering


ffmpeg -i %1 -vf drawtext='fontfile=%FONT%:text=%TEXT%:fontcolor=%COLOR%:fontsize=%SIZE%:x=%POS_X%:y=%POS_Y%' - frames 1 -y test.png


pause`



The complete result :


"FONT='c :/windows/fonts/arial.ttf'" : : Font

C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo>set "TEXT=Hello" :: Text (no space characters allowed, see next example)

C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo>set "COLOR=red" :: Text color
C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo>set "SIZE=20" :: Font size
C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo>set "POS_X=(w-tw)/2" :: X position of text, use (w-tw)/2 for centering

C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo>set "POS_Y=(h-th)/2" :: Y position of text, use (h-th)/2 for centering

C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo>ffmpeg -i "C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo\Eqr_360_9999.JPG" -vf drawtext='fontfile='c\:\/windows\/fonts\/arial.ttf':text=Hello:fontcolor=red:fontsize=20:x=(w-tw)/2:y=(h-th)/2' -frames 1 -y test.png



ffmpeg version 2023-03-27-git-f7abe92bd7-full_build-
www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, 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-bzlib —enable-lzma —enable-libsnappy —
enable-zlib —enable-librist —enable-libsrt —enable-libssh
—enable-libzmq —enable-avisynth —enable-libbluray —
enable-libcaca —enable-sdl2 —enable-libaribb24 —enable-
libdav1d —enable-libdavs2 —enable-libuavs3d —enable-
libzvbi —enable-librav1e —enable-libsvtav1 —enable-libwebp
—enable-libx264 —enable-libx265 —enable-libxavs2 —enable-
libxvid —enable-libaom —enable-libjxl —enable-libopenjpeg
—enable-libvpx —enable-mediafoundation —enable-libass —
enable-frei0r —enable-libfreetype —enable-libfribidi —
enable-liblensfun —enable-libvidstab —enable-libvmaf —
enable-libzimg —enable-amf —enable-cuda-llvm —enable-cuvid
—enable-ffnvcodec —enable- nvdec —enable-nvenc —enable-
d3d11va —enable-dxva2 —enable-libvpl —enable-libshaderc —
enable-vulkan —enable-libplacebo - -enable-opencl —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-libgsm —
enable-libopencore-amrnb —enable-libopus —enable-libspeex -
-enable-libvorbis —enable-ladspa —enable-libbs2b —enable-
libflite —enable-libmysofa -tab —enable-libvmaf —enable-
libzimg —enable-amf —enable-cuda-llvm —enable-cuvid —
enable-ffnvcodec —enable-nvdec —enable-nvenc —enable-
d3d11va —enable-dxva2 —enable-libvpl —enable-libshaderc —
enable-vulkan —enable-libplacebo —enable-opencl —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-libgsm —
enable-libopencore-amrnb —enable-libopus —enable-libspeex -
-enable-libvorbis —enable-ladspa —enable-libbs2b —enable-
libflite —enable-libmysofa —enable-librubberband —enable-
libsoxr —enable-chromaprint libavutil 58. 5.100 / 58.

5.100 libavcodec 60. 7.100 / 60. 7.100 libavformat

60. 4.100 / 60. 4.100 libavdevice 60. 2.100 / 60.

2.100 libavfilter 9. 5.100 / 9. 5.100-enable-
librubberband —enable-libsoxr — enable-chromaprint
libavutil 58. 5.100 / 58. 5.100
libavcodec 60. 7.100 / 60. 7.100 Duration : 00:00:00.04,
start : 0.000000, bitrate : 95429 kb/s
Stream #0:0 : Video : mjpeg (Baseline), yuvj444p(pc,
bt470bg/unknown/unknown), 5792x2896, 25 fps, 25 tbr, 25 tbn
Stream mapping :
Stream #0:0 -> #0:0 (mjpeg (native) -> png (native))
Press [q] to stop, [?] for help
Fontconfig error : Cannot load default config file : No such
file : (null)

C:\Users\canjm\Desktop\Image Correction 360\Archive 
Testing\Utilities\Align Photo>pause
Press any key to continue . . .``



-
How to config FFmpeg for xrgb and Aver Media capture card [closed]
12 mai 2023, par Plotter DesalorI'm trying to use FFmpeg through ffplay to display a capture card output as lossless as possible.


My capture card is named "Live Gamer Ultra-Video"


In OBS, the NV12, YV12, P010 and YUY2 lead to blurriness around text and fine pixels edges, but the XRGB one offer clear output. So I've tried to focus on this mode with FFmpeg as the default one lead to same blurriness seen in OBS.


Running "ffmpeg -f dshow -list_options true -i video="Live Gamer Ultra-Video" show me this result
(i've only kept line with wanted resolution)


ffmpeg version 6.0-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
 built with gcc 12.2.0 (Rev10, 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-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --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-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
 libavutil 58. 2.100 / 58. 2.100
 libavcodec 60. 3.100 / 60. 3.100
 libavformat 60. 3.100 / 60. 3.100
 libavdevice 60. 1.100 / 60. 1.100
 libavfilter 9. 3.100 / 9. 3.100
 libswscale 7. 1.100 / 7. 1.100
 libswresample 4. 10.100 / 4. 10.100
 libpostproc 57. 1.100 / 57. 1.100
[dshow @ 00000240bf0eac40] DirectShow video device options (from video devices)
[dshow @ 00000240bf0eac40] Pin "Capturer" (alternative pin name "0")
[dshow @ 00000240bf0eac40] pixel_format=yuyv422 min s=2560x1440 fps=30 max s=2560x1440 fps=50
[dshow @ 00000240bf0eac40] pixel_format=yuyv422 min s=2560x1440 fps=30 max s=2560x1440 fps=50 (tv, bt709/bt709/unknown, topleft)
[dshow @ 00000240bf0eac40] pixel_format=yuv420p min s=2560x1440 fps=30 max s=2560x1440 fps=60.0002
[dshow @ 00000240bf0eac40] pixel_format=yuv420p min s=2560x1440 fps=30 max s=2560x1440 fps=60.0002 (tv, bt709/bt709/unknown, topleft)
[dshow @ 00000240bf0eac40] pixel_format=nv12 min s=2560x1440 fps=30 max s=2560x1440 fps=60.0002
[dshow @ 00000240bf0eac40] pixel_format=nv12 min s=2560x1440 fps=30 max s=2560x1440 fps=60.0002 (tv, bt709/bt709/unknown, topleft)
[dshow @ 00000240bf0eac40] unknown compression type 0xE436EB7D min s=2560x1440 fps=30 max s=2560x1440 fps=30
[dshow @ 00000240bf0eac40] unknown compression type 0xE436EB7D min s=2560x1440 fps=30 max s=2560x1440 fps=30 (tv, bt709/bt709/unknown, topleft)
[dshow @ 00000240bf0eac40] unknown compression type 0x30313050 min s=2560x1440 fps=30 max s=2560x1440 fps=30
[dshow @ 00000240bf0eac40] unknown compression type 0x30313050 min s=2560x1440 fps=30 max s=2560x1440 fps=30 (tv, bt709/bt709/unknown, topleft)

video=Live Gamer Ultra-Video: Immediate exit requested



"unknown compression type 0xE436EB7D" is a pretty bad start but from https://trac.ffmpeg.org/ticket/6279 I could figured out it was just unproperly parsed RGB24 format


But if I run a very simple "ffplay -f dshow -i video="Live Gamer Ultra-Video" -pixel_format rgb24"
I got this output


ffplay version 6.0-essentials_build-www.gyan.dev Copyright (c) 2003-2023 the FFmpeg developers
 built with gcc 12.2.0 (Rev10, 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-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --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-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
 libavutil 58. 2.100 / 58. 2.100
 libavcodec 60. 3.100 / 60. 3.100
 libavformat 60. 3.100 / 60. 3.100
 libavdevice 60. 1.100 / 60. 1.100
 libavfilter 9. 3.100 / 9. 3.100
 libswscale 7. 1.100 / 7. 1.100
 libswresample 4. 10.100 / 4. 10.100
 libpostproc 57. 1.100 / 57. 1.100
[dshow @ 000001ec3fa39300] Could not set video options 0B f=0/0
video=Live Gamer Ultra-Video: I/O error



How could I use rgb format with this capture card ?


If not possible, any other format leading to proper output would be ok too.
I've tried parameters from this topic Capture full-range/lossless rgb frame from capture card that supports NV12 and YUYV output without any good result sadly.


-
Why does a command in my Bash-script return 0 even when it fails ? Python, Whisper, ffmpeg
10 juin 2024, par d-bI have a
bash
script that executeswhisper
on all sound files in a directory. Whisper usesffmpeg
to decode sound files to a format it can handle. One of the files in the directory was corrupt and caused ffmpeg to fail. The first time I executed my script it returned1
when it hit that file but when I try to reproduce the error it always returns0
.

Here is the log from the first run when 1 was returned :


Traceback (most recent call last):
 File "/Users/db/Library/Python/3.11/lib/python/site-packages/whisper/audio.py", line 48, in load_audio
 .run(cmd=["ffmpeg", "-nostdin"], capture_stdout=True, capture_stderr=True)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/Users/db/Library/Python/3.11/lib/python/site-packages/ffmpeg/_run.py", line 325, in run
 raise Error('ffmpeg', out, err)
ffmpeg._run.Error: ffmpeg error (see stderr output for detail)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
 File "/Users/db/Library/Python/3.11/bin/whisper", line 8, in <module>
 sys.exit(cli())
 ^^^^^
 File "/Users/db/Library/Python/3.11/lib/python/site-packages/whisper/transcribe.py", line 437, in cli
 result = transcribe(model, audio_path, temperature=temperature, **args)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/Users/db/Library/Python/3.11/lib/python/site-packages/whisper/transcribe.py", line 121, in transcribe
 mel = log_mel_spectrogram(audio, padding=N_SAMPLES)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/Users/db/Library/Python/3.11/lib/python/site-packages/whisper/audio.py", line 130, in log_mel_spectrogram
 audio = load_audio(audio)
 ^^^^^^^^^^^^^^^^^
 File "/Users/db/Library/Python/3.11/lib/python/site-packages/whisper/audio.py", line 51, in load_audio
 raise RuntimeError(f"Failed to load audio: {e.stderr.decode()}") from e
RuntimeError: Failed to load audio: ffmpeg version 4.4.4 Copyright (c) 2000-2023 the FFmpeg developers
 built with Apple clang version 15.0.0 (clang-1500.1.0.2.5)
 configuration: --prefix=/opt/local --cc=/usr/bin/clang --mandir=/opt/local/share/man --enable-audiotoolbox --disable-indev=jack --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --enable-opencl --disable-outdev=xv --enable-sdl2 --disable-securetransport --enable-videotoolbox --enable-avfilter --enable-avresample --enable-fontconfig --enable-gnutls --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libfribidi --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libzimg --enable-libzvbi --enable-lzma --enable-pthreads --enable-shared --enable-swscale --enable-zlib --enable-libaom --enable-libsvtav1 --arch=x86_64 --enable-x86asm --enable-gpl --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-postproc
 libavutil 56. 70.100 / 56. 70.100
 libavcodec 58.134.100 / 58.134.100
 libavformat 58. 76.100 / 58. 76.100
 libavdevice 58. 13.100 / 58. 13.100
 libavfilter 7.110.100 / 7.110.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 9.100 / 5. 9.100
 libswresample 3. 9.100 / 3. 9.100
 libpostproc 55. 9.100 / 55. 9.100
/soundfile1.opus: Invalid data found when processing input


exit: 1 //this is my own output
</module>


and here is an example of when it returns 0 despite the input file is corrupt :


% whisper soundfile1.opus

Traceback (most recent call last):
 File "/Users/db/Library/Python/3.11/lib/python/site-packages/whisper/audio.py", line 58, in load_audio
 out = run(cmd, capture_output=True, check=True).stdout
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/subprocess.py", line 571, in run
 raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ffmpeg', '-nostdin', '-threads', '0', '-i', 'soundfile1.opus', '-f', 's16le', '-ac', '1', '-acodec', 'pcm_s16le', '-ar', '16000', '-']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
 File "/Users/db/Library/Python/3.11/lib/python/site-packages/whisper/transcribe.py", line 597, in cli
 result = transcribe(model, audio_path, temperature=temperature, **args)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/Users/db/Library/Python/3.11/lib/python/site-packages/whisper/transcribe.py", line 133, in transcribe
 mel = log_mel_spectrogram(audio, model.dims.n_mels, padding=N_SAMPLES)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "/Users/db/Library/Python/3.11/lib/python/site-packages/whisper/audio.py", line 140, in log_mel_spectrogram
 audio = load_audio(audio)
 ^^^^^^^^^^^^^^^^^
 File "/Users/db/Library/Python/3.11/lib/python/site-packages/whisper/audio.py", line 60, in load_audio
 raise RuntimeError(f"Failed to load audio: {e.stderr.decode()}") from e
RuntimeError: Failed to load audio: ffmpeg version 4.4.4 Copyright (c) 2000-2023 the FFmpeg developers
 built with Apple clang version 15.0.0 (clang-1500.1.0.2.5)
 configuration: --prefix=/opt/local --cc=/usr/bin/clang --mandir=/opt/local/share/man --enable-audiotoolbox --disable-indev=jack --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --enable-opencl --disable-outdev=xv --enable-sdl2 --disable-securetransport --enable-videotoolbox --enable-avfilter --enable-avresample --enable-fontconfig --enable-gnutls --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libfribidi --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libzimg --enable-libzvbi --enable-lzma --enable-pthreads --enable-shared --enable-swscale --enable-zlib --enable-libaom --enable-libsvtav1 --arch=x86_64 --enable-x86asm --enable-gpl --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-postproc
 libavutil 56. 70.100 / 56. 70.100
 libavcodec 58.134.100 / 58.134.100
 libavformat 58. 76.100 / 58. 76.100
 libavdevice 58. 13.100 / 58. 13.100
 libavfilter 7.110.100 / 7.110.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 9.100 / 5. 9.100
 libswresample 3. 9.100 / 3. 9.100
 libpostproc 55. 9.100 / 55. 9.100
soundfile1.opus: Invalid data found when processing input

Skipping soundfile1.opus due to RuntimeError: Failed to load audio: ffmpeg version 4.4.4 Copyright (c) 2000-2023 the FFmpeg developers
 built with Apple clang version 15.0.0 (clang-1500.1.0.2.5)
 configuration: --prefix=/opt/local --cc=/usr/bin/clang --mandir=/opt/local/share/man --enable-audiotoolbox --disable-indev=jack --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --enable-opencl --disable-outdev=xv --enable-sdl2 --disable-securetransport --enable-videotoolbox --enable-avfilter --enable-avresample --enable-fontconfig --enable-gnutls --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libfribidi --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libzimg --enable-libzvbi --enable-lzma --enable-pthreads --enable-shared --enable-swscale --enable-zlib --enable-libaom --enable-libsvtav1 --arch=x86_64 --enable-x86asm --enable-gpl --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-postproc
 libavutil 56. 70.100 / 56. 70.100
 libavcodec 58.134.100 / 58.134.100
 libavformat 58. 76.100 / 58. 76.100
 libavdevice 58. 13.100 / 58. 13.100
 libavfilter 7.110.100 / 7.110.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 9.100 / 5. 9.100
 libswresample 3. 9.100 / 3. 9.100
 libpostproc 55. 9.100 / 55. 9.100
soundfile1.opus: Invalid data found when processing input

% echo $?
0



When I try to reproduce the behaviour I have both tried to execute the script as well as just running the actual line of code from the command prompt. The actual script looks like this :


if whisper "$file" >> "${directory}/../${transdir}/${name}.txt"; then
 whispersuccess=$?
 echo "exit code $whispersuccess"
else
 whispersuccess=$?
 echo "exit code: $whispersuccess"



I want it to return ¬0 when something like this happens. How do I achieve this ?