
Recherche avancée
Médias (91)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Wired NextMusic
14 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (100)
-
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 (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (9102)
-
Ffmpeg - Convert Wav to OGG on Android (wrong metadata on some devices)
13 décembre 2016, par Pepa ZapletalI have in the app
Wav
file and I want to convert it to theOGG
format.I’m using
ffmpeg
library for it and this command :ffmpeg -i /storage/emulated/0/Test.wav -c:a libvorbis -q:a 5 /storage/emulated/0/Test.ogg
But I have problem play correctly the generated OGG file on some Android devices. If I open this file in standard MediaPlayer then I get the wrong file duration, seeking is also not working very well BUT the file is played whole and correctly. This happens for example on Huawei M2 with Android 5.1 but on Samsung Galaxy S5 (with Android 5.1) the generated file is OK and playing is also OK.
Do you have some idea where can be a problem ?
Full output from ffmpeg :
ffmpeg version n2.6.2 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9 (GCC) 20140827 (prerelease)
configuration: --target-os=linux --cross-prefix=/home/chrono/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --enable-runtime-cpudetect --sysroot=/home/chrono/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libtheora --enable-libfdk-aac --enable-nonfree --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/chrono/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/chrono/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/chrono/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp' --extra-ldflags='-L/home/chrono/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie -Wl,--fix-cortex-a8' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from '/storage/emulated/0/IAMDJ/MyLoops/mix folder/Test.wav':
Metadata:
encoder : Lavf56.25.101
Duration: 00:00:16.01, bitrate: 1411 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
Output #0, ogg, to '/storage/emulated/0/Test.ogg':
Metadata:
encoder : Lavf56.25.101
Stream #0:0: Audio: vorbis (libvorbis), 44100 Hz, stereo, fltp
Metadata:
encoder : Lavc56.26.100 libvorbis
Stream mapping:
Stream #0:0 -> #0:0 (pcm_s16le (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
size= 4kB time=00:00:01.00 bitrate= 35.0kbits/s
size= 27kB time=00:00:02.01 bitrate= 107.8kbits/s
size= 48kB time=00:00:03.04 bitrate= 129.3kbits/s
size= 70kB time=00:00:04.06 bitrate= 140.3kbits/s
size= 91kB time=00:00:05.14 bitrate= 144.9kbits/s
size= 113kB time=00:00:06.15 bitrate= 149.7kbits/s
video:0kB audio:344kB subtitle:0kB other streams:0kB global headers:4kB muxing overhead: 1.994279%Edit : here is the result file : Test.ogg
Edit 2 : Maybe there can be a problem with standard
MediaPlayer
but another Ogg file is played correctly. -
FFMPEG Error Handling Not Working
23 mars 2017, par WaverunnerI’m fairly new to batch files and trying to create a Windows script that automatically converts all files in the extensions list I provide to MP4 and log the successes and failures. The problem I’m running into is that some of the videos are failing with zero byte outputs and even though there’s two levels of error handling so the originals don’t get deleted, they aren’t working and the originals get deleted regardless if the conversions succeed or not.
The two protections are :
(1) FFMPEG - abort_on empty_output option
(2) IF/ELSE loop that checks for zero-size files
Any ideas for better error handling would be appreciated.
:: Name: MKV2MP4.cmd
:: Purpose: Automatically converts non-MP4 video files to MP4 either by stream copy or by reencoding.
:: Revision: March 2017 - Initial version
:: Variables
:: %%L = List of Extensions
:: %%F = Files to be converted
:: %%N = New file
@echo OFF
CLS
setlocal
echo This script automatically converts non-MP4 video files to MP4 either by stream copy or by reencoding.
echo.
echo Changing to data directory...
Z:
cd Z:\Users\Todd\
echo.
FOR /F "delims=*" %%L IN (Z:\Logs\Extensions.txt) DO (
echo Collecting %%L files...
dir /b /s *.%%L > Z:\Logs\%%L.txt
)
echo.
echo File collection complete.
echo.
FOR /F "delims=*" %%L in (Z:\Logs\Extensions.txt) DO (
echo Working on %%L files...
echo.
FOR /F "delims=*" %%F in (Z:\Logs\%%L.txt) DO (
echo Converting "%%F"
echo.
ffmpeg.exe -y -i "%%F" -abort_on empty_output -aspect 16:9 -c:v copy -c:a copy "%%~dpnF.mp4" || ffmpeg.exe -y -i "%%F" -abort_on empty_output -aspect 16:9 -c:v libx265 -c:a copy "%%~dpnF.mp4"
echo.
set N="%%~dpnF.mp4"
IF %%~zN==0 (
echo Conversion failed! Skipping file.
echo Adding log entry...
echo %time% - Failed - "%%F" >> "Z:\Logs\%date:~-4,4%%date:~-10,2%%date:~-7,2% - %%L.txt"
) ELSE (
echo Conversion successful! Deleting old file.
echo Deleting "%%F"
del "%%F" /F
echo Adding log entry...
echo %time% - Successful - "%%F" >> "Z:\Logs\%date:~-4,4%%date:~-10,2%%date:~-7,2% - %%L.txt"
)
echo.
)
echo %%L files completed.
echo. Cleaning up...
del %%L /F /S
)
echo Job completed. Exiting.. -
Approaches To Modifying Game Resource Files
16 août 2016, par Multimedia Mike — Game HackingI have been assisting The Translator in the translation of another mid-1990s adventure game. This one isn’t quite as multimedia-heavy as the last title, and the challenges are a bit different. I wanted to compose this post in order to describe my thought process and mental model in approaching this problem. Hopefully, this will help some others understand my approach since what I’m doing here often appears as magic to some of my correspondents.
High Level Model
At the highest level, it is valuable to understand the code and the data at play. The code is the game’s engine and the data refers to the collection of resources that comprise the game’s graphics, sound, text, and other assets.
Simplistic high-level game engine model
Ideally, we want to change the data in such a way that the original game engine adopts it as its own because it has the same format as the original data. It is very undesirable to have to modify the binary engine executable in any way.
Modifying The Game Data Directly
How to modify the data ? If we modify the text strings for the sake of language translation, one approach might be to search for strings within the game data files and change them directly. This model assumes that the text strings are stored in a plain, uncompressed format. Some games might store these strings in a text format which can be easily edited with any text editor. Other games will store them as binary data.
In the latter situation, a game hacker can scan through data files with utilities like Unix ‘strings’ to find the resources with the desired strings. Then, use a hex editor to edit the strings directly. For example, change “Original String”…
0098F800 00 00 00 00 00 00 00 4F 72 69 67 69 6E 61 6C 20 .......Original 0098F810 53 74 72 69 6E 67 00 00 00 00 00 00 00 00 00 00 String..........
…to “Short String” and pad the difference in string lengths using spaces (0x20) :
0098F800 00 00 00 00 00 00 00 53 68 6F 72 74 20 53 74 72 .......Short Str 0098F810 69 6E 67 20 20 20 00 00 00 00 00 00 00 00 00 00 ing ..........
This has some obvious problems. First, translated strings need to be of equal our smaller length compared to the original. What if we want to encode “Much Longer String” ?
0098F800 00 00 00 00 00 00 00 4D 75 63 68 20 4C 6F 6E 67 .......Much Long 0098F810 65 72 20 53 74 72 00 00 00 00 00 00 00 00 00 00 er Str..........
It won’t fit. The second problem pertains to character set limitations. If the font in use was only designed for ASCII, it’s going to be inadequate for expressing nearly any other language.
So a better approach is needed.
Understanding The Data Structures
An alternative to the approach outlined above is to understand the game’s resources so they can be modified at a deeper level. Here’s a model to motivate this investigation :
Model of the game resource archive format
This is a very common layout for such formats : there is a file header, a sequence of resource blocks, and a trailing index which describes the locations and types of the foregoing blocks.
What use is understanding the data structures ? In doing so, it becomes possible to write new utilities that disassemble the data into individual pieces, modify the necessary pieces, and then reassemble them into a form that the original game engine likes.
It’s important to take a careful, experimental approach to this since mistakes can be ruthlessly difficult to debug (unless you relish the thought of debugging the control flow through an opaque DOS executable). Thus, the very first goal in all of this is to create a program that can disassemble and reassemble the resource, thus creating an identical resource file. This diagram illustrates this complex initial process :
Rewriting the game resource file
So, yeah, this is one of the most complicated “copy file” operations that I can possibly code. But it forms an important basis, since the next step is to carefully replace one piece at a time.
Modifying a specific game resource
This diagram shows a simplistic model of a resource block that contains a series of message strings. The header contains pointers to each of the strings within the block. Instead of copying this particular resource block directly to the new file, a proposed modification utility will intercept it and rewrite the entire thing, writing new strings of arbitrary length and creating an adjusted header which will correctly point to the start of each new string. Thus, translated strings can be longer than the original strings.
Further Work
Exploiting this same approach, we can intercept and modify other game resources including fonts, images, and anything else that might need to be translated. I will explore specific examples in a later blog post.Followup
- Translating Return to Ringworld, in which I apply the ideas expressed in this post.
The post Approaches To Modifying Game Resource Files first appeared on Breaking Eggs And Making Omelettes.